API mobiles d'appel

Dans Oracle Mobile Hub, un back-end est un regroupement logique d'API personnalisées, de collections de stockage et d'autres ressources que vous pouvez utiliser dans vos applications. Le back-end fournit également le contexte de sécurité permettant d'accéder à ces ressources.

Voici les étapes générales concernant l'utilisation d'un back-end dans votre application iOS:

  1. Ajoutez le SDK client à votre application.

  2. Renseignez OMC.plist avec les détails d'environnement et d'authentification du back-end.

  3. Ajoutez un appel SDK à votre application pour charger les informations de configuration.

  4. Ajoutez un appel SDK à votre application pour gérer l'authentification.

  5. Ajoutez tout autre appel SDK que vous voulez utiliser.

Charger la configuration du back-end

Pour que les appels vers les API Oracle Mobile Hub puissent être effectués à l'aide du kit SDK client iOS, la configuration du back-end mobile doit être chargée à partir du fichier OMC.plist de l'application. Pour ce faire, utilisez la classe OMCMobileBackend :

/**
 * Returns the mobile backend that is configured in OMC.plist file
 */
OMCMobileBackend* mbe = [[OMCMobileManager sharedManager] mobileBackend];

API de plate-forme d'appel

Une fois les informations de configuration du back-end chargées dans l'application, vous pouvez effectuer des appels aux classes SDK client en fonction des classes de bibliothèque principale iOS.

La bibliothèque principale iOS (libOMCCore.a) fournit les interfaces clés suivantes :

  • OMCMobileManager

  • OMCMobileBackend (sous-classe d'OMCMobileComponent)

  • OMCCxAAnalyticsApp (sous-classe d'OMCMobileComponent)

  • OMCServiceProxy

L'objet racine dans le kit SDK est OMCMobileManager. L'élément OMCMobileManager gère les objets OMCMobileBackend.

L'objet OMCMobileBackend permet de gérer la connectivité, l'authentification et d'autres transactions entre votre application et le back-end mobile associé, y compris les appels vers les API de plate-forme et les API personnalisées que vous avez définies. Il gère les appels aux API de plate-forme via les sous-classes d'OMCServiceProxy telles qu'OMCLocation et OMCStorage.

Voici un exemple d'utilisation de classes SDK pour appeler l'API de stockage :

#import "OMCMobileBackend.h"
#import "OMCMobileManager.h"
#import "OMCAuthorization.h"
#import "OMCStorage.h"
#import "OMCMobileBackend+OMC_Storage.h"
#import "OMCSynchronization.h"

- (NSData*)dataFromStorageObjectWithID:(NSString*)objectID collectionID:(NSString*)collectionID {     

  // Get mobile backend
  OMCMobileBackend* mbe = [[OMCMobileManager sharedManager] mobileBackend];

  // Get storage object
  OMCStorage* storage = [mbe storage];
    
  // Get your collection
  OMCStorageCollection* collection = [storage getCollection:collectionID];
    
  // Get your object from your collection
  OMCStorageObject* object = [collection get:objectID];
    
  // Get the data from payload of your object
  NSData* data = [object getPayloadData];

   return data; }

}

Remarque :

Les méthodes écrites dans Objective-C qui sont utilisées dans le kit SDK Oracle Mobile Hub pour iOS peuvent également être mises en correspondance avec Swift.

Appeler des API personnalisées

Le kit SDK client fournit la classe OMCCustomCodeClient pour simplifier l'appel des API personnalisées dans Oracle Mobile Hub.

Avec cette classe, vous appelez une méthode REST (GET, PUT, POST ou DELETE) sur une adresse où les données traitées de demande sont JSON ou vides, et les données traitées de réponse sont JSON ou vides.

Vous pouvez également indiquer le gestionnaire d'achèvement à appeler lorsque l'appel de la demande est terminé (ce qui signifie que le gestionnaire est exécuté de façon asynchrone).

Si le gestionnaire d'exécution est défini, il est appelé dans le thread d'interface utilisateur (principal) à la fin de l'appel de la méthode, ce qui permet la mise à jour des éléments d'interface utilisateur. Le bloc d'achèvement contient les données propres au format pour un objet JSON, à savoir NSDictionary ou NSArray. Utilisez le bloc d'achèvement pour toutes les données ou erreurs renvoyées, HTTP ou système.

Tous les en-têtes Oracle Mobile Hub requis, tels que Authorization (s'il est authentifié), seront automatiquement insérés dans la demande.

L'utilisation d'OMCCustomCodeClient peut ressembler à ceci :

#import "OMCCore/OMCMobileBackend.h"
#import "OMCCore/OMCCustomCodeClient.h"
...
 
// A GET, PUT, POST, or DELETE method may be specified here - sent or returned JSON data object may be nil as appropriate.
OMCMobileBackend *backend = [[OMCMobileManager sharedManager] mobileBackend];
OMCCustomCodeClient *ccClient = backend.customCodeClient;
NSDictionary *jsonPayload = @{@"myKey": @"myValue"};
[ccClient invokeCustomRequest: @"API2/endpoint2" 
                       method: "@PUT" 
                         data: jsonPayload, 
                   completion: ^(NSError* error,
                                NSHTTPURLResponse *response,
                                id responseData) {
        // error will be nil if no problems occurred, otherwise it will contain the error object
        // response will be complete HTTP response
        // response data will be Map or Array for JSON object if success or nil if error
}];