बैकग्राउंड में रखे गए Apple ऐप्लिकेशन पर टेस्ट मैसेज भेजें

FCM का इस्तेमाल शुरू करने के लिए, इस्तेमाल का सबसे आसान उदाहरण बनाएं: किसी इसके बाद, डेवलपमेंट डिवाइस पर नोटिफ़िकेशन कंपोज़र जब ऐप्लिकेशन डिवाइस में बैकग्राउंड में चल रहा हो. इस पेज पर सेटअप से लेकर पुष्टि करने तक, इसे हासिल करने के सभी चरणों की जानकारी दी गई है — इसमें वे चरण शामिल हो सकते हैं जिन्हें आपने पहले ही पूरा कर लिया था. ऐसा होने पर, आपने Apple क्लाइंट ऐप्लिकेशन सेट अप किया हो FCM के लिए.

अपने Apple प्रोजेक्ट में Firebase जोड़ना

इस सेक्शन में उन टास्क के बारे में बताया गया है जिन्हें आपने पहले ही चालू कर दिया था. Firebase की अन्य सुविधाएं उपलब्ध हैं. खास तौर पर FCM के लिए, आपको यह करने की ज़रूरत है अपने एपीएन की पुष्टि करने वाली कुंजी अपलोड करें और रिमोट से मिलने वाली सूचनाओं के लिए रजिस्टर करें.

ज़रूरी शर्तें

  • इन्हें इंस्टॉल करें:

    • Xcode 15.2 या इसके बाद का वर्शन
  • पक्का करें कि आपका प्रोजेक्ट इन ज़रूरी शर्तों को पूरा करता हो:

    • आपके प्रोजेक्ट को प्लैटफ़ॉर्म के इन वर्शन या इसके बाद के वर्शन को टारगेट करना होगा:
      • iOS 13
      • macOS 10.15
      • टीवीओएस 13
      • WatchOS 7
  • अपना ऐप्लिकेशन चलाने के लिए, फ़िज़िकल Apple डिवाइस सेट अप करें, और ये काम पूरे करें:

    • अपने Google Ads खाते के लिए, Apple पुश नोटिफ़िकेशन से पुष्टि करने वाली कुंजी पाएं Apple Developer account.
    • ऐप्लिकेशन > में XCode में पुश नोटिफ़िकेशन चालू करें मिलने वाली अनुमतियां.

अगर आपके पास पहले से Xcode प्रोजेक्ट नहीं है और आपको सिर्फ़ Firebase आज़माना है, तो प्रॉडक्ट के लिए, आप हमारे क्विकस्टार्ट सैंपल में से एक डाउनलोड कर सकते हैं.

Firebase प्रोजेक्ट बनाना

Firebase को अपने Apple ऐप्लिकेशन में जोड़ने से पहले, आपको एक Firebase बनाना होगा आपके ऐप्लिकेशन से कनेक्ट करने के लिए प्रोजेक्ट भी होता है. इस लिंक पर जाएँ ज़्यादा जानने के लिए, Firebase प्रोजेक्ट को समझना Firebase प्रोजेक्ट.

अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करना

Apple ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को Firebase प्रोजेक्ट. अपने ऐप्लिकेशन को रजिस्टर करने को अक्सर "जोड़ना" कहा जाता है आपका ऐप्लिकेशन प्रोजेक्ट.

  1. Firebase कंसोल पर जाएं.

  2. प्रोजेक्ट की खास जानकारी देने वाले पेज के बीच में, iOS+ आइकॉन पर क्लिक करें सेटअप वर्कफ़्लो लॉन्च करने के लिए.

    अगर आपने पहले ही अपने Firebase प्रोजेक्ट में कोई ऐप्लिकेशन जोड़ लिया है, तो ऐप्लिकेशन जोड़ें पर क्लिक करें प्लैटफ़ॉर्म के विकल्प दिखाने के लिए.

  3. बंडल आईडी फ़ील्ड में अपने ऐप्लिकेशन का बंडल आईडी डालें.

  4. (ज़रूरी नहीं) ऐप्लिकेशन के बारे में अन्य जानकारी डालें: ऐप्लिकेशन का कोई दूसरा नाम और App Store आईडी.

  5. ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.

Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना

  1. अपने Firebase Apple को पाने के लिए, GoogleService-Info.plist डाउनलोड करें पर क्लिक करें प्लैटफ़ॉर्म कॉन्फ़िगरेशन फ़ाइल (GoogleService-Info.plist).

  2. अपनी कॉन्फ़िगरेशन फ़ाइल को Xcode प्रोजेक्ट के रूट में ले जाएं. पूछे जाने पर, सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने के लिए, इसे चुनें.

अगर आपके प्रोजेक्ट में एक से ज़्यादा बंडल आईडी हैं, तो आपको हर बंडल को जोड़ना होगा Firebase कंसोल में रजिस्टर किए गए ऐप्लिकेशन के साथ आईडी, ताकि हर ऐप्लिकेशन में उसकी GoogleService-Info.plist फ़ाइल का नाम है.

अपने ऐप्लिकेशन में Firebase SDK टूल जोड़ना

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift पैकेज मैनेजर का इस्तेमाल करें.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ना.
  2. जब कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Firebase Cloud Messaging लाइब्रेरी चुनें.
  5. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
  6. Firebase Cloud Messaging के साथ बेहतर अनुभव के लिए, हमारा सुझाव है कि Google Analytics को चालू किया जा रहा है जोड़ना होगा. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ना होगा. आप बिना IDFA कलेक्शन वाली या IDFA कलेक्शन वाली लाइब्रेरी चुनें.
  7. यह काम पूरा होने पर, Xcode अपने-आप रिज़ॉल्व और डाउनलोड होना शुरू कर देगा पर निर्भर करता है.

अपने एपीएन की पुष्टि करने वाली कुंजी अपलोड करें

अपनी एपीएन की पुष्टि करने वाली कुंजी को Firebase पर अपलोड करें. अगर आपके पास पहले से एपीएन की पुष्टि करने वाली कुंजी नहीं है, तो पक्का करें कि आपने Apple Developer सदस्य केंद्र.

  1. Firebase कंसोल में अपने प्रोजेक्ट के अंदर, गियर आइकॉन, चुनें प्रोजेक्ट सेटिंग पर क्लिक करें और फिर क्लाउड से मैसेज टैब.

  2. iOS ऐप्लिकेशन कॉन्फ़िगरेशन में, APNs पुष्टि कुंजी में, अपलोड करें पर क्लिक करें बटन.

  3. उस जगह ब्राउज़ करें जहां आपने सुरक्षा कुंजी सेव की है. इसके बाद, उसे चुनें और खोलें. कुंजी के लिए कुंजी आईडी जोड़ें (यहां उपलब्ध है Apple Developer Member Center) और क्लिक करें अपलोड करें.

अपने ऐप्लिकेशन में Firebase शुरू करें

आपको अपने ऐप्लिकेशन में Firebase शुरू करने वाला कोड जोड़ना होगा. इंपोर्ट करें Firebase मॉड्यूल और शेयर किए गए इंस्टेंस को कॉन्फ़िगर करना होगा, जैसा कि नीचे दिखाया गया है:

  1. अपने इसमें FirebaseCore मॉड्यूल को इंपोर्ट करें UIApplicationDelegate और अन्य वे Firebase मॉड्यूल जिनका इस्तेमाल आपका ऐप्लिकेशन मैनेज करने का ऐक्सेस देने वाला व्यक्ति करता है. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. कॉन्फ़िगर करें FirebaseApp आपके ऐप्लिकेशन डेलिगेट के में शेयर किया गया इंस्टेंस application(_:didFinishLaunchingWithOptions:) तरीका:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. अगर SwiftUI का इस्तेमाल किया जा रहा है, तो आपको ऐप्लिकेशन का ऐक्सेस देना होगा और उसे अटैच करना होगा UIApplicationDelegateAdaptor के ज़रिए अपने App निर्देश को या NSApplicationDelegateAdaptor. आपको ऐप्लिकेशन सौंपने की सुविधा को स्वाइप करने की सुविधा भी बंद करनी होगी. इसके लिए ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          

रिमोट नोटिफ़िकेशन के लिए रजिस्टर करें

ऐप्लिकेशन के शुरू होने पर या फिर ऐप्लिकेशन के फ़्लो में अपनी पसंद के समय पर, रिमोट नोटिफ़िकेशन के लिए अपने ऐप्लिकेशन को रजिस्टर करें. कॉल करें registerForRemoteNotifications को दिखाया गया है:

Swift

UNUserNotificationCenter.current().delegate = self

let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
  options: authOptions,
  completionHandler: { _, _ in }
)

application.registerForRemoteNotifications()

Objective-C

[UNUserNotificationCenter currentNotificationCenter].delegate = self;
UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
    UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
[[UNUserNotificationCenter currentNotificationCenter]
    requestAuthorizationWithOptions:authOptions
    completionHandler:^(BOOL granted, NSError * _Nullable error) {
      // ...
    }];

[application registerForRemoteNotifications];

रजिस्ट्रेशन टोकन ऐक्सेस करना

किसी डिवाइस पर मैसेज भेजने के लिए, आपको यह पता होना चाहिए कि उस डिवाइस रजिस्ट्रेशन टोकन. क्योंकि आपको टोकन को नोटिफ़िकेशन कंपोज़र की मदद से इस ट्यूटोरियल को पूरा करने के लिए, टोकन को कॉपी करना न भूलें या आपके पास उसे वापस लाने के बाद, उसे सुरक्षित तरीके से सेव करने की सुविधा होती है.

डिफ़ॉल्ट रूप से, FCM SDK टूल ऐप्लिकेशन लॉन्च पर क्लाइंट ऐप्लिकेशन इंस्टेंस के लिए रजिस्ट्रेशन टोकन. एपीएन डिवाइस टोकन की तरह ही, यह टोकन आपको टारगेट की गई सूचनाएं भेजने की अनुमति देता है किसी खास मामले में इस्तेमाल करते हैं.

जिस तरह Apple प्लैटफ़ॉर्म आम तौर पर ऐप्लिकेशन शुरू होने पर एपीएन डिवाइस टोकन डिलीवर करते हैं उसी तरह FCM, FIRMessagingDelegate के ज़रिए रजिस्ट्रेशन टोकन देता है messaging:didReceiveRegistrationToken: तरीका. FCM SDK टूल, ऐप्लिकेशन के शुरुआती लॉन्च के दौरान नया या मौजूदा टोकन फिर से हासिल करता है और कोड को अपडेट या अमान्य होने पर भी एक्सपोर्ट किया जा सकता है. सभी मामलों में, FCM SDK टूल messaging:didReceiveRegistrationToken: को कॉल करता है वह भी मान्य टोकन के साथ.

रजिस्ट्रेशन टोकन तब बदल सकता है, जब:

  • ऐप्लिकेशन को नए डिवाइस पर वापस लाया गया
  • जब उपयोगकर्ता ऐप्लिकेशन को अनइंस्टॉल करता है/फिर से इंस्टॉल करता है
  • उपयोगकर्ता, ऐप्लिकेशन का डेटा मिटाता है.

मैसेज का ऐक्सेस सेट करना

रजिस्ट्रेशन टोकन पाने के लिए, जिस व्यक्ति को मैसेज भेजना है उसे लागू करें प्रोटोकॉल सेट करें और कॉल करने के बाद, FIRMessaging की delegate प्रॉपर्टी सेट करें [FIRApp configure]. उदाहरण के लिए, अगर आपका ऐप्लिकेशन डेलिगेट, मैसेजिंग डेलिगेट के नियमों के मुताबिक है प्रोटोकॉल, आप application:didFinishLaunchingWithOptions: पर प्रतिनिधि सेट कर सकते हैं उस पर भरोसा किया जा सकता है.

Swift

Messaging.messaging().delegate = self

Objective-C

[FIRMessaging messaging].delegate = self;

मौजूदा रजिस्ट्रेशन टोकन को फ़ेच किया जा रहा है

रजिस्ट्रेशन टोकन, इस तरीके से डिलीवर किए जाते हैं messaging:didReceiveRegistrationToken:. इस तरीके को आम तौर पर एक बार ऐप्लिकेशन, रजिस्ट्रेशन टोकन से शुरू होता है. अगर इस तरीके का इस्तेमाल किया जाता है, तो यह सबसे सही समय होता है:

  • अगर रजिस्ट्रेशन टोकन नया है, तो उसे अपने ऐप्लिकेशन सर्वर पर भेजें.
  • विषयों के लिए रजिस्ट्रेशन टोकन की सदस्यता लें. यह सिर्फ़ इनके लिए ज़रूरी है या ऐसी स्थितियों के लिए जब उपयोगकर्ता ने ऐप्लिकेशन को फिर से इंस्टॉल किया हो.

टोकन को सीधे फिर से हासिल किया जा सकता है. टोकन(पूर्णता:). अगर टोकन किसी भी तरह से वापस नहीं मिल पाता है, तो एक गड़बड़ी वाला मैसेज दिखाया जाता है.

Swift

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching FCM registration token: \(error)")
  } else if let token = token {
    print("FCM registration token: \(token)")
    self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
  }
}

Objective-C

[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
  if (error != nil) {
    NSLog(@"Error getting FCM registration token: %@", error);
  } else {
    NSLog(@"FCM registration token: %@", token);
    self.fcmRegTokenMessage.text = token;
  }
}];

टोकन को सेव करने के बजाय उसे ऐक्सेस करने के लिए, किसी भी समय इस तरीके का इस्तेमाल किया जा सकता है इसे.

टोकन रीफ़्रेश होने पर नज़र रखें

टोकन अपडेट होने पर सूचना पाने के लिए, अपने संगठन के प्रतिनिधि के तौर पर को भी भेजना होगा. रजिस्टर करने का यह उदाहरण और डेलिगेट के लिए सही तरीका जोड़ता है:

Swift

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
  print("Firebase registration token: \(String(describing: fcmToken))")

  let dataDict: [String: String] = ["token": fcmToken ?? ""]
  NotificationCenter.default.post(
    name: Notification.Name("FCMToken"),
    object: nil,
    userInfo: dataDict
  )
  // TODO: If necessary send token to application server.
  // Note: This callback is fired at each app startup and whenever a new token is generated.
}

Objective-C

- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
    NSLog(@"FCM registration token: %@", fcmToken);
    // Notify about received token.
    NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"];
    [[NSNotificationCenter defaultCenter] postNotificationName:
     @"FCMToken" object:nil userInfo:dataDict];
    // TODO: If necessary send token to application server.
    // Note: This callback is fired at each app startup and whenever a new token is generated.
}

इसके अलावा, आपके पास NSNotification को सुनने का भी विकल्प है kFIRMessagingRegistrationTokenRefreshNotification हमारा सुझाव है कि आप उन्हें ज़्यादा जानकारी दें. टोकन प्रॉपर्टी में हमेशा यह होता है मौजूदा टोकन की वैल्यू.

सूचना वाला मैसेज भेजें

  1. टारगेट डिवाइस पर ऐप्लिकेशन इंस्टॉल करें और चलाएं. Apple डिवाइसों पर, इन चीज़ों की ज़रूरत होगी रिमोट नोटिफ़िकेशन पाने के लिए अनुमति के अनुरोध को स्वीकार करें.

  2. पक्का करें कि ऐप्लिकेशन, डिवाइस के बैकग्राउंड में चल रहा हो.

  3. Firebase कंसोल में, मैसेज सेवा वाला पेज खोलें.

  4. अगर यह आपका पहला मैसेज है, तो अपना पहला मैसेज बनाएं चुनें कैंपेन बनाएं.

    1. Firebase सूचना मैसेज चुनें और बनाएं चुनें.
  5. या फिर, कैंपेन टैब पर नया कैंपेन चुनें और फिर सूचनाएं पर क्लिक करें.

  6. मैसेज का टेक्स्ट डालें. अन्य सभी फ़ील्ड ज़रूरी नहीं हैं.

  7. दाएं पैनल से, टेस्ट मैसेज भेजें को चुनें.

  8. FCM रजिस्ट्रेशन टोकन जोड़ें लेबल वाले फ़ील्ड में रजिस्ट्रेशन डालें इस गाइड के पिछले सेक्शन में मिला टोकन.

  9. जांचें को चुनें.

जांच करें चुनने के बाद, टारगेट किया गया क्लाइंट डिवाइस (जिसमें ऐप्लिकेशन बैकग्राउंड) पर सूचना भेजनी चाहिए.

अपने ऐप्लिकेशन पर मैसेज डिलीवरी की अहम जानकारी के लिए, इसे देखें FCM रिपोर्टिंग डैशबोर्ड, जो Apple और Android डिवाइसों पर, भेजे गए और खोले गए मैसेज की संख्या "इंप्रेशन" का डेटा (उपयोगकर्ताओं की देखी गई सूचनाएं) Android ऐप्लिकेशन के लिए.

अगले चरण

सूचना वाले मैसेज के अलावा, अपनी ऐप्लिकेशन, देखें: