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] पर कॉल किया जा रहा है.

ध्यान दें कि क्लाउड से मैसेज के लिए टोकन जनरेट करने के दौरान, विशिष्ट प्रतिनिधि उपलब्ध है.