Aşağıdaki örnekler, örnek kimliğini bir iOS istemcisinde uygulamanıza yardımcı olur. Bu örneklerin, Firebase Cloud Messaging için iOS istemcisine ait jetonları yönetmek üzere kullanacağınız GCM kapsamını kullandığını unutmayın.
CocoaPods bağımlılıklarınızı ayarlama
Örnek kimliği, bağımlılıkları yüklemek ve yönetmek için CocoaPods'u kullanır. Bir terminal penceresi açıp uygulamanızın Xcode projesinin konumuna gidin. Uygulamanız için henüz bir Podfile oluşturmadıysanız şimdi bir tane oluşturun:
pod init
Uygulamanız için oluşturulan Podfile'ı açın ve aşağıdakini ekleyin:
pod 'FirebaseInstanceId'
Dosyayı kaydedin ve şunu çalıştırın:
pod install
Bu işlem, uygulamanız için bir .xcworkspace
dosyası oluşturur. Uygulamanızda gelecekte yapılacak tüm geliştirmeler için bu dosyayı kullanın.
Jeton oluştur
Jeton oluşturmak için Google Developers Console tarafından oluşturulan bir proje kimliği gerekir.
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) {
// ...
}];
Jetonları ve örnek kimliklerini yönetme
Örnek kimliği, jetonları silmenize ve yenilemenize olanak tanır.
Jetonları ve örnek kimliklerini silme
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];
Örnek kimliğinin kendisini de silebilirsiniz. Bu durumda, getInstance()
adlı bir sonraki çağrınızda yeni bir örnek kimliği alırsınız:
[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
if error != nil {
NSLog(@"Error deleting instance ID: %@", error);
}
}];
Jetonları yenile
Örnek Kimliği hizmeti, jetonlar oluşturabilir veya jetonları yeniden üretebilir. Bu durumda bir bildirim gönderilir. kFIRInstanceIDTokenRefreshNotification
adlı bildirimler için bir gözlemci ekleyerek bu bildirimi dinleyebilirsiniz.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(tokenRefreshNotification:)
name:kFIRInstanceIDTokenRefreshNotification object:nil];
Bu gözlemleyici, jeton oluşturulmadan (ör. [FIRApp configure]
çağrısından önce) oluşturulmalıdır. En son jeton [[FIRInstanceID instanceID] token]
çağrılanarak alınabilir.
Cloud Messaging için jeton oluşturma işlemlerini gözlemlemek üzere belirli bir yetki verilmiş kullanıcı olduğunu unutmayın.