הדוגמאות הבאות יעזרו לכם להטמיע מזהה מופע בלקוח 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, יש נציג ספציפי שזמין.