ستساعدك الأمثلة التالية في تنفيذ "رقم تعريف المثيل" في جهاز عميل 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].