הטמעה ל-iOS

הדוגמאות הבאות יעזרו לכם להטמיע מזהה מופע בלקוח iOS. שימו לב שבשני הדוגמאות האלה נעשה שימוש בהיקף של GCM, שבו משתמשים כדי לנהל טוקנים עבור לקוח iOS ל-Firebase Cloud Messaging.

הגדרת יחסי התלות של CocoaPods

מזהה המופע משתמש ב-CocoaPods כדי להתקין ולנהל קשרי תלות. פותחים חלון טרמינל ומנווטים למיקום של פרויקט Xcode של האפליקציה. אם עדיין לא יצרתם Podfile לאפליקציה, עכשיו הזמן ליצור אותו:

pod init

פותחים את ה-Podfile שנוצר עבור האפליקציה ומוסיפים את השורה הבאה:

pod 'FirebaseInstanceId'

שמירת הקובץ והפעלה:

pod install

הפעולה הזו יוצרת קובץ .xcworkspace בשביל האפליקציה. צריך להשתמש בקובץ הזה לכל פיתוח עתידי של האפליקציה.

יצירת טוקן

כדי ליצור טוקנים, צריך מזהה פרויקט שנוצר על ידי 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) {
                      // ...
}];

ניהול טוקנים ומזהי מכונה

מזהה המופע מאפשר לכם למחוק ולרענן אסימונים.

מחיקת טוקנים ומזהי מכונה

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

אפשר גם למחוק את מזהה המופע עצמו. במקרה כזה, בפעם הבאה שתתקשרו אל getInstance() תקבלו מזהה מופע חדש:

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
      if error != nil {
        NSLog(@"Error deleting instance ID: %@", error);
      }
    }];

אסימוני רענון

יכול להיות שהשירות Instance ID ייצור או ייצור מחדש אסימונים. במקרה כזה, תישלח התראה. כדי להאזין להתראה הזו, צריך להוסיף observer להתראות בשם kFIRInstanceIDTokenRefreshNotification.

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

צריך ליצור את האובייקט הזה לפני שיוצרים את האסימון, למשל לפני שקוראים ל-[FIRApp configure]. אפשר לאחזר את הטוקן האחרון על ידי קריאה ל-[[FIRInstanceID instanceID] token].

שימו לב: כדי לצפות ביצירת טוקנים ל-Cloud Messaging, יש נציג ספציפי שזמין.