التنفيذ على نظام التشغيل 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].

لاحظ أنه لملاحظة إنشاء رموز مميزة لخدمة "المراسلة عبر السحابة الإلكترونية"، هناك إجراء توفُّر مفوَّض محدّد