iOS Uygulaması

Aşağıdaki örnekler, örnek kimliğini bir iOS istemcisinde uygulamanıza yardımcı olur. Bu örneklerin, aşağıdakileri yapmak için kullanacağınız GCM kapsamını kullandığını unutmayın. iOS istemcisi için jetonları yönetme Firebase Cloud Messaging.

CocoaPods bağımlılıklarınızı ayarlama

Örnek kimliği, yükleme işlemi için CocoaPods ve yönetmeyi öğreneceksiniz. Bir terminal penceresi açın ve Uygulamanız için Xcode projesi. Daha önce bir Podfile oluşturmadıysanız şimdi 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. Bu dosyayı tümü için kullan geliştirmeyi öğreneceksiniz.

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];

Ayrıca, örnek kimliğini de silebilirsiniz. Bu durumda, bir sonraki getInstance() yeni bir örnek kimliği alacaksı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. Böyle bir durumda, bildirimi gönderilir. Bir kFIRInstanceIDTokenRefreshNotification adlı bildirimler için gözlemci.

[[NSNotificationCenter defaultCenter] addObserver:self
         selector:@selector(tokenRefreshNotification:) 
         name:kFIRInstanceIDTokenRefreshNotification object:nil];

Bu gözlemci, jeton oluşturulmadan önce oluşturulmalıdır. Örneğin, [FIRApp configure] numaralı telefonu aramadan önce. En son jeton [[FIRInstanceID instanceID] token] aranıyor.

Cloud Messaging için jeton oluşturma işlemlerini gözlemlemek üzere belirli bir yetki mevcut.