I seguenti esempi ti aiuteranno a implementare l'ID istanza in un client iOS. Tieni presente che questi esempi utilizzano l'ambito GCM, che useresti per gestire i token per un client iOS per Firebase Cloud Messaging.
Configura le dipendenze di CocoaPods
L'ID istanza utilizza CocoaPods per installare e gestire le dipendenze. Apri una finestra del terminale e vai alla posizione del progetto Xcode per la tua applicazione. Se non hai ancora creato un Podfile per l'applicazione, creane uno ora:
pod init
Apri il Podfile creato per l'applicazione e aggiungi quanto segue:
pod 'FirebaseInstanceId'
Salva il file ed esegui:
pod install
Viene creato un file .xcworkspace
per l'applicazione. Utilizza questo file per lo sviluppo
futuro della tua applicazione.
Genera un token
Per generare token è necessario un ID progetto generato da Google Developers Console.
NSString *authorizedEntity = PROJECT_ID;
String *scope = kFIRInstanceIDScopeFirebaseMessaging;
NSDictionary *options = @{
@"apns_token" : <APNS Token data>,
// 1 if APNS sandbox token else 0
@"apns_sandbox" : @(1),
};
[[FIRInstanceID instanceID] tokenWithAuthorizedEntity:authorizedEntity
scope:scope
options:options
handler:
^(NSString * _Nullable token, NSError * _Nullable error) {
// ...
}];
Gestisci token e ID istanza
L'ID istanza consente di eliminare e aggiornare i token.
Elimina token e ID istanza
NSString *authorizedEntity = PROJECT_ID; // Project ID
String *scope = kFIRInstanceIDScopeFirebaseMessaging;
FIRInstanceIDDeleteTokenHandler handler = ^void(NSError *error) {
if (error) {
// Failed to delete the token. Check error and do an exponential
// backoff to retry again.
} else {
// Successfully deleted the token.
}
};
[[FIRInstanceID instanceID]
deleteTokenWithAuthorizedEntity:authorizedEntity
scope:scope
handler:handler];
Puoi anche eliminare l'ID istanza stesso. In questo caso, la prossima volta che chiami getInstance()
, riceverai un nuovo ID istanza:
[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
if error != nil {
NSLog(@"Error deleting instance ID: %@", error);
}
}];
Token di aggiornamento
Il servizio ID istanza può creare o rigenerare token. In questo caso, verrà inviata una notifica. Puoi ascoltare questa notifica aggiungendo un
osservatore per le notifiche denominato kFIRInstanceIDTokenRefreshNotification
.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(tokenRefreshNotification:)
name:kFIRInstanceIDTokenRefreshNotification object:nil];
Questo osservatore deve essere creato prima della creazione del token, ad esempio prima di chiamare [FIRApp configure]
. Puoi recuperare il token più recente chiamando [[FIRInstanceID instanceID] token]
.
Tieni presente che per osservare la generazione di token per Cloud Messaging, è disponibile un delegato specifico.