הטמעה ל-iOS

הדוגמאות הבאות יעזרו לכם להטמיע מזהה מכונה בלקוח iOS. לתשומת ליבכם: הדוגמאות האלה מתבססות על היקף GCM, שבו צריך להשתמש כדי ניהול אסימונים ללקוח iOS עבור העברת הודעות בענן ב-Firebase.

הגדרת יחסי תלות ב-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);
      }
    }];

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

השירות 'מזהה מכונה' עשוי ליצור או ליצור מחדש אסימונים. במקרה כזה, תישלח הודעה. כדי להאזין להתראה הזו, אפשר להוסיף צופה בהתראות בשם kFIRInstanceIDTokenRefreshNotification.

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

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

שימו לב שבשביל יצירת אסימונים להעברת הודעות בענן, נציגים ספציפיים זמינים.