Chiama API mobile
In Oracle Mobile Hub, un backend è un raggruppamento logico di API personalizzate, raccolte di memoria e altre risorse che è possibile utilizzare nelle applicazioni. Il backend fornisce inoltre il contesto di sicurezza per accedere a tali risorse.
Di seguito vengono descritti i passi generali per l'uso di un backend nell'applicazione iOS.
-
Aggiungere l'SDK client all'applicazione.
-
Compilare
OMC.plist
con i dettagli relativi all'ambiente e all'autenticazione per il backend. -
Aggiungere una chiamata SDK all'applicazione per caricare le informazioni di configurazione.
-
Aggiungere una chiamata SDK all'applicazione per gestire l'autenticazione.
-
Aggiungere tutte le altre chiamate SDK che si desidera utilizzare.
Carica la configurazione del backend
Per completare correttamente le chiamate alle interfacce API Oracle Mobile Hub che utilizzano il kit SDK client iOS, è necessario caricare la configurazione del backend mobile dal file OMC.plist
dell'applicazione. A tale scopo, utilizzare la classe OMCMobileBackend
:
/**
* Returns the mobile backend that is configured in OMC.plist file
*/
OMCMobileBackend* mbe = [[OMCMobileManager sharedManager] mobileBackend];
API piattaforma chiamate
Dopo aver caricato le informazioni di configurazione del backend nell'applicazione, è possibile effettuare chiamate alle classi SDK client basate sulle classi della libreria di base iOS.
La libreria di base iOS (libOMCCore.a
) fornisce le interfacce chiave riportate di seguito.
-
OMCMobileManager
-
OMCMobileBackend
(una sottoclasse diOMCMobileComponent
) -
OMCCxAAnalyticsApp
(una sottoclasse diOMCMobileComponent
) -
OMCServiceProxy
L'oggetto radice nel kit SDK è OMCMobileManager
. OMCMobileManager
gestisce gli oggetti OMCMobileBackend
.
L'oggetto OMCMobileBackend
viene utilizzato per gestire la connettività, l'autenticazione e altre transazioni tra l'applicazione e il backend mobile associato, incluse le chiamate alle interfacce API di piattaforma ed eventuali API personalizzate definite. Gestisce le chiamate alle interfacce API della piattaforma tramite classi secondarie di OMCServiceProxy
quali OMCLocation
e OMCStorage
.
Di seguito è riportato un esempio dell'utilizzo delle classi SDK per richiamare l'interfaccia API di memorizzazione:
#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; }
}
Nota
I metodi scritti in Objective-C utilizzati nel kit SDK Oracle Mobile Hub per iOS possono essere mappati anche su Swift.Chiama API personalizzate
Il kit SDK client fornisce la classe OMCCustomCodeClient
per semplificare il richiamo delle API personalizzate in Oracle Mobile Hub.
Utilizzando questa classe, si richiama un metodo REST (GET, PUT, POST o DELETE) su un endpoint in cui il payload della richiesta è JSON o vuoto e il payload della risposta è JSON o vuoto.
È inoltre possibile fornire un handler di completamento da richiamare al completamento del richiamo della richiesta (ovvero quando l'handler viene eseguito In modo asincrono).
Se l'handler di completamento è impostato, verrà richiamato nel thread dell'interfaccia utente (principale) al completamento del richiamo del metodo, consentendo l'aggiornamento degli elementi dell'interfaccia utente. Il blocco di completamento conterrà i dati specifici del formato per un oggetto JSON, ovvero un blocco NSDictionary
o NSArray
. Utilizzare il blocco di completamento per qualsiasi dato o errore restituito, HTTP o sistema.
Tutte le intestazioni Oracle Mobile Hub richieste, ad esempio Authorization
(supponendo che l'utente abbia eseguito l'autenticazione), verranno inserite automaticamente nella richiesta.
L'utilizzo di OMCCustomCodeClient
potrebbe essere simile al seguente:
#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
}];