किसी iOS ऐप्लिकेशन में पुश नोटिफ़िकेशन जोड़ना

1. परिचय

पिछली बार अपडेट किया गया: 2020-1-6

Firebase क्लाउड से मैसेज (FCM), एक क्रॉस-प्लैटफ़ॉर्म मैसेज सेवा है. इसकी मदद से, बिना किसी शुल्क के भरोसेमंद तरीके से मैसेज भेजे जा सकते हैं.

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

यह सुविधा कैसे काम करती है?

FCM लागू करने की प्रक्रिया में, ईमेल भेजने और पाने के दो मुख्य कॉम्पोनेंट शामिल होते हैं:

  1. Firebase के लिए Cloud Functions जैसा भरोसेमंद प्लैटफ़ॉर्म या ऐसा ऐप्लिकेशन सर्वर जिस पर मैसेज बनाना, टारगेट करना, और भेजना है.
  2. iOS, Android या वेब (JavaScript) क्लाइंट ऐप्लिकेशन, जिसे संबंधित प्लैटफ़ॉर्म की खास ट्रांसपोर्ट सेवा से मैसेज मिलते हैं.

FCM आर्किटेक्चर की खास जानकारी

6636933bbe959ef2.png

FCM कॉम्पोनेंट के इन सेट का इस्तेमाल करता है: मैसेज बनाने, एक जगह से दूसरी जगह भेजने, और उसे पाने के लिए:

  1. मैसेज के अनुरोध लिखने या तैयार करने के लिए टूल. नोटिफ़िकेशन कंपोज़र, सूचना के अनुरोध बनाने के लिए जीयूआई के आधार पर विकल्प देता है. सभी तरह के मैसेज के लिए ऑटोमेशन की सुविधा और हर तरह की सहायता पाने के लिए, आपको ऐसे भरोसेमंद सर्वर एनवायरमेंट में मैसेज के अनुरोध बनाने होंगे जो Firebase एडमिन SDK टूल या FCM सर्वर प्रोटोकॉल के साथ काम करता हो. यह एनवायरमेंट, Firebase के लिए Cloud Functions, Google App Engine या आपका ऐप्लिकेशन सर्वर हो सकता है.
  2. FCM बैकएंड (अन्य फ़ंक्शन में) मैसेज के अनुरोध स्वीकार करता है, विषयों के ज़रिए मैसेज के फ़ैनआउट करता है, और मैसेज आईडी जैसा मैसेज मेटाडेटा जनरेट करता है.
  3. प्लैटफ़ॉर्म-लेवल की ट्रांसपोर्ट लेयर, जो मैसेज को टारगेट किए गए डिवाइस पर भेजती है, मैसेज डिलीवरी मैनेज करती है, और ज़रूरत के हिसाब से प्लैटफ़ॉर्म के हिसाब से कॉन्फ़िगरेशन लागू करती है. इस ट्रांसपोर्ट लेयर में ये शामिल हैं:
  • Google Play services वाले Android डिवाइसों के लिए, Android ट्रांसपोर्ट लेयर (ATL)
  • iOS डिवाइसों के लिए Apple पुश नोटिफ़िकेशन सेवा (APN)
  • वेब ऐप्लिकेशन के लिए वेब पुश प्रोटोकॉल
  1. उपयोगकर्ता के डिवाइस पर FCM SDK टूल, जहां सूचना दिखती है या मैसेज को ऐप्लिकेशन के फ़ोरग्राउंड/बैकग्राउंड की स्थिति और ऐप्लिकेशन के लॉजिक के हिसाब से मैनेज किया जाता है.

आपको क्या बनाना होगा

इस कोडलैब में, FCM वाले सैंपल iOS ऐप्लिकेशन में पुश नोटिफ़िकेशन जोड़ा जा रहा है.

आपको इनके बारे में जानकारी मिलेगी

  • पुश मैसेज सेवा के लिए, किसी उपयोगकर्ता की सदस्यता लेने और उसकी सदस्यता छोड़ने का तरीका
  • आने वाले पुश मैसेज को कैसे मैनेज करें
  • सूचना दिखाने का तरीका
  • सूचनाओं पर मिलने वाले क्लिक का जवाब देने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Xcode 11.0 या इसके बाद का वर्शन
  • CocoaPods 1.9.0 या उसके बाद का वर्शन
  • Apple डेवलपर खाता
  • आपका ऐप्लिकेशन चलाने के लिए iOS डिवाइस
  • स्विफ़्ट के बारे में बुनियादी जानकारी

2. सेट अप किया जा रहा है

सैंपल कोड डाउनलोड करें

इस कोडलैब में, आपको अपना टेस्ट ऐप्लिकेशन बनाना होगा. हालांकि, अगर आपको मौजूदा सैंपल ऐप्लिकेशन को देखना और चलाना है, तो क्विकस्टार्ट सैंपल कोड डाउनलोड किया जा सकता है.

सैंपल पाने के दो तरीके हैं:

  • Git रिपॉज़िटरी का क्लोन बनाएं:
$ git clone https://github.com/firebase/quickstart-ios.git
  • ZIP फ़ाइल डाउनलोड करें:

अगर सोर्स को ZIP फ़ाइल के तौर पर डाउनलोड किया जाता है, तो इसे अनपैक करने से आपको एक रूट फ़ोल्डर quickstart-ios मिल जाता है.

नया ऐप्लिकेशन बनाना

XCode 12.3 में दिया गया तरीका अपनाकर, अपना टेस्ट ऐप्लिकेशन बनाएं:

  1. XCode खोलें और नया Xcode प्रोजेक्ट बनाएं चुनें.
  2. ऐप्लिकेशन चुनें और आगे बढ़ें पर क्लिक करें.

e56c631b086c6d8.png

  1. प्रॉडक्ट का नाम डालें (उदाहरण के लिए, MessagingExample)
  2. टीम चुनें. अगर आपने टीम नहीं बनाई है, तो उसे Apple Developer Account में कॉन्फ़िगर करें.
  3. इनपुट संगठन का आइडेंटिफ़ायर (उदाहरण के लिए, com.your-name)
  4. इनपुट बंडल आइडेंटिफ़ायर (उदाहरण के लिए, com.your-name.MessagingExample, यह सभी iOS ऐप्लिकेशन से अलग होना चाहिए).
  5. इंटरफ़ेस पुलडाउन में स्टोरीबोर्ड चुनें.
  6. लाइफ़ साइकल पुलडाउन में, UIKit ऐप्लिकेशन डेलिगेट को चुनें.
  7. Swift में Swift चुनें.
  8. आगे बढ़ें पर क्लिक करें.

fb860c0fa4a02818.png

एपीएन कुंजी बनाने और अपने ऐप्लिकेशन को Firebase प्रोजेक्ट के लिए रजिस्टर करते समय, आपको बंडल आइडेंटिफ़ायर की ज़रूरत होगी.

3. एपीएन कॉन्फ़िगर करना

पुष्टि करने वाली कुंजी बनाना

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

पुष्टि करने वाली कुंजी बनाने के लिए:

  1. अपने डेवलपर खाते में, सर्टिफ़िकेट, आइडेंटिफ़ायर, और प्रोफ़ाइल पर जाएं और कुंजी पर जाएं.

19ae87d0f00402b1.png

  1. ऊपर-दाएं कोने में मौजूद, जोड़ें बटन (+) पर क्लिक करें.

c4acd10dbc4f721f.png

  1. एपीएन की पुष्टि कुंजी की जानकारी डालें
  2. 'मुख्य सेवाएं' में जाकर, एपीएन चेकबॉक्स चुनें और जारी रखें पर क्लिक करें.

6a3e8ff7457a8251.png

  1. रजिस्टर करें पर क्लिक करें. इसके बाद, डाउनलोड करें पर क्लिक करें. अपना पासकोड किसी सुरक्षित जगह पर सेव करें. इसे एक बार डाउनलोड किया जा सकता है और कुंजी को बाद में वापस नहीं पाया जा सकता.

42c205e072fbd622.png

ऐप्लिकेशन आईडी बनाना

ऐप्लिकेशन आईडी एक आइडेंटिफ़ायर होता है, जिससे किसी ऐप्लिकेशन की खास तौर पर पहचान होती है. आम तौर पर, इसे उलटे डोमेन से दिखाया जाता है.

  1. Apple Developer सदस्य केंद्र पर जाएं और साइन इन करें.
  2. सर्टिफ़िकेट, आइडेंटिफ़ायर, और प्रोफ़ाइल पर जाएं.
  3. आइडेंटिफ़ायर पर जाएं.
  4. नया ऐप्लिकेशन आईडी बनाने के लिए, + बटन पर क्लिक करें. e04fc394c52a866f.png
  5. ऐप्लिकेशन आईडी रेडियो बटन चुनें और जारी रखें पर क्लिक करें.

d454fd5df3b8d93d.png

  1. ऐप्लिकेशन चुनें और जारी रखें पर क्लिक करें.

3bd2e836be5e0291.png

  1. नया ऐप्लिकेशन आईडी बनाने के लिए:
  2. अपने ऐप्लिकेशन आईडी के लिए, नाम डालें.
  3. टीम आईडी डालें. यह वैल्यू, सदस्यता टैब में मौजूद टीम आईडी से मेल खानी चाहिए.
  4. ऐप्लिकेशन आईडी सफ़िक्स सेक्शन में, एक्सप्लिसिट ऐप्लिकेशन आईडी चुनें. इसके बाद, अपना बंडल आईडी डालें. 7363c4d1962b486d.png
  5. ऐप्लिकेशन सेवाएं सेक्शन में, पक्का करें कि पुश नोटिफ़िकेशन पर सही का निशान लगा हो. 552ea08703f7e323.png
  6. जारी रखें पर क्लिक करें और देखें कि आपका इनपुट सही है या नहीं:
  7. आइडेंटिफ़ायर की वैल्यू, टीम आईडी और बंडल आईडी की वैल्यू की वैल्यू से मेल खानी चाहिए
  8. पुश नोटिफ़िकेशन, कॉन्फ़िगर करने लायक होना चाहिए
  9. ऐप्लिकेशन आईडी बनाने के लिए, रजिस्टर करें पर क्लिक करें.

प्रोफ़ाइल बनाना

डेवलपमेंट के दौरान अपने ऐप्लिकेशन की जांच करने के लिए, आपको डेवलपमेंट के लिए एक प्रोफ़ाइल की ज़रूरत होगी. इससे आपके डिवाइसों को, ऐसा ऐप्लिकेशन चलाने की अनुमति मिल जाएगी जो अभी तक App Store पर पब्लिश नहीं हुआ है.

  1. Apple Developer सदस्य केंद्र पर जाएं और साइन इन करें.
  2. सर्टिफ़िकेट, आइडेंटिफ़ायर, और प्रोफ़ाइल पर जाएं.
  3. अगर आपने iOS, tvOS, WatchOS को नहीं चुना है, तो सबसे ऊपर बाएं कोने में मौजूद ड्रॉप-डाउन मेन्यू में जाकर, प्रोफ़ाइल पर जाएं.
  4. नई प्रोफ़ाइल बनाने के लिए, + बटन पर क्लिक करें. 1fa2342cfe45a925.png
  5. प्रावधान प्रोफ़ाइल टाइप के तौर पर, iOS ऐप्लिकेशन डेवलपमेंट चुनें. इसके बाद, जारी रखें पर क्लिक करें.

507434a466220dfe.png

  1. ड्रॉप-डाउन मेन्यू में, वह ऐप्लिकेशन आईडी चुनें जिसका आपको इस्तेमाल करना है. इसके बाद, जारी रखें पर क्लिक करें.
  2. पिछले चरण में चुने गए ऐप्लिकेशन आईडी का iOS डेवलपमेंट सर्टिफ़िकेट चुनें. इसके बाद, जारी रखें पर क्लिक करें.
  3. वे iOS डिवाइस चुनें जिन्हें आपको प्रॉविज़निंग प्रोफ़ाइल में शामिल करना है. इसके बाद, जारी रखें पर क्लिक करें. पक्का करें कि आपने वे सभी डिवाइस चुने हों जिनका इस्तेमाल आपको जांच के लिए करना है.
  4. इस प्रावधान प्रोफ़ाइल के लिए एक नाम डालें (उदाहरण के लिए, MessagingExampleProfile), फिर जनरेट करें पर क्लिक करें.

4395f04647afa997.png

  1. अपने Mac पर प्रॉविज़निंग प्रोफ़ाइल सेव करने के लिए, डाउनलोड करें पर क्लिक करें.

106761fa786ba580.png

  1. प्रावधान प्रोफ़ाइल फ़ाइल को इंस्टॉल करने के लिए उस पर दो बार क्लिक करें.

4. आपके iOS प्रोजेक्ट में Firebase को जोड़ना

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

Firebase को अपने iOS ऐप्लिकेशन में जोड़ने से पहले, आपको अपने iOS ऐप्लिकेशन से कनेक्ट करने के लिए एक Firebase प्रोजेक्ट बनाना होगा. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट को समझना पर जाएं.

  1. Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम चुनें या डालें. e462afd91c149238.png

अगर आपके पास Google Cloud Platform (GCP) का कोई मौजूदा प्रोजेक्ट है, तो उस प्रोजेक्ट में Firebase के संसाधन जोड़ने के लिए, ड्रॉपडाउन मेन्यू से वह प्रोजेक्ट चुनें.

  1. (ज़रूरी नहीं) अगर आपको कोई नया प्रोजेक्ट बनाना है, तो प्रोजेक्ट आईडी में बदलाव किया जा सकता है.

Firebase, आपके Firebase प्रोजेक्ट को अपने-आप एक यूनीक आईडी असाइन करता है. Firebase प्रोजेक्ट आईडी का इस्तेमाल कैसे करता है, यह जानने के लिए 'Firebase प्रोजेक्ट को समझना' सेक्शन पर जाएं.

  1. जारी रखें पर क्लिक करें.
  2. अपने प्रोजेक्ट के लिए Google Analytics सेट अप करें. इससे आपको यहां दिए गए किसी भी Firebase प्रॉडक्ट का इस्तेमाल करके बेहतर अनुभव मिलेगा:
  • Firebase Crashlytics
  • Firebase अनुमान
  • Firebase क्लाउड से मैसेज
  • Firebase इन-ऐप्लिकेशन मैसेज
  • Firebase रिमोट कॉन्फ़िगरेशन
  • Firebase A/B टेस्टिंग

जब कहा जाए, तब किसी मौजूदा Google Analytics खाते को इस्तेमाल करने या नया खाता बनाने का विकल्प चुनें. अगर आपको नया खाता बनाना है, तो Analytics रिपोर्टिंग की जगह चुनें. इसके बाद, अपने प्रोजेक्ट के लिए डेटा शेयर करने की सेटिंग और Google Analytics की शर्तों को स्वीकार करें.

1282a798556779ab.png

48ade68c8de27d2.png

  1. प्रोजेक्ट बनाएं पर क्लिक करें या अगर किसी मौजूदा GCP प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो Firebase जोड़ें पर क्लिक करें.

Firebase आपके Firebase प्रोजेक्ट के लिए संसाधन अपने-आप सेट अप करता है. प्रक्रिया पूरी होने के बाद, आपको Firebase कंसोल में अपने Firebase प्रोजेक्ट की खास जानकारी देने वाले पेज पर ले जाया जाएगा.

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

Firebase प्रोजेक्ट बनाने के बाद, उसमें iOS ऐप्लिकेशन जोड़ा जा सकता है.

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

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

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

93462beb642e8987.png

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

2e7a00b0008344c1.png

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

  1. अपनी Firebase iOS कॉन्फ़िगरेशन फ़ाइल (GoogleService-Info.plist) पाने के लिए, GoogleService-Info.plist डाउनलोड करें पर क्लिक करें. 69004caf7d448989.png
  2. अपनी कॉन्फ़िगरेशन फ़ाइल को Xcode प्रोजेक्ट के रूट में ले जाएं. अगर कहा जाए, तो सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने का विकल्प चुनें.

7c5e0a46d07fa9c7.png

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

XCode को बंद करें.

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

हम Firebase लाइब्रेरी इंस्टॉल करने के लिए CocoaPods का इस्तेमाल करने का सुझाव देते हैं. हालांकि, अगर आपको CocoaPods का इस्तेमाल नहीं करना है, तो SDK टूल के फ़्रेमवर्क को सीधे तौर पर इंटिग्रेट किया जा सकता है या Swift Package Manager के बीटा वर्शन का इस्तेमाल किया जा सकता है.

  1. अगर आपके पास पहले से कोई Podfile नहीं है, तो एक बनाएं. अगर क्विकस्टार्ट सैंपल का इस्तेमाल किया जा रहा है, तो Xcode प्रोजेक्ट और Podfile (पॉड के साथ) पहले से मौजूद होते हैं.
$ cd MessagingExample
$ pod init
  1. अपनी Podfile में, वे Firebase पॉड जोड़ें जिन्हें आपको अपने ऐप्लिकेशन में इस्तेमाल करना है.

अपने iOS ऐप्लिकेशन में, काम करने वाले Firebase प्रॉडक्ट में से किसी भी प्रॉडक्ट को जोड़ा जा सकता है.

क्विकस्टार्ट सैंपल में, Google Analytics और Firebase क्लाउड से मैसेज वाले SDK टूल जोड़े गए हैं.

# Add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'

# Add the pod for Firebase Cloud Messaging
pod 'Firebase/Messaging'
  1. पॉड इंस्टॉल करें. इसके बाद, Xcode में प्रोजेक्ट देखने के लिए अपनी .xcworkspace फ़ाइल खोलें:
$ pod install
  1. MessagingExample.xcworkspace खोलें और Firebase कंसोल में आगे बढ़ें पर क्लिक करें. 6d1f8230d16693e6.png

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

आपको अपने ऐप्लिकेशन में Firebase शुरू करने वाला कोड जोड़ना होगा.

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

  1. अपने UIApplicationDelegate में Firebase मॉड्यूल इंपोर्ट करें:

AppDelegate.swift

import UIKit
import Firebase // Add this line
  1. FirebaseApp से शेयर किए गए इंस्टेंस को कॉन्फ़िगर करें. आम तौर पर, यह इंस्टेंस अपने ऐप्लिकेशन के application:didFinishLaunchingWithOptions: तरीके में कॉन्फ़िगर किया जाता है:

AppDelegate.swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  FirebaseApp.configure() // Add this line
  return true
}
  1. Firebase कंसोल में, आगे बढ़ें पर क्लिक करें. f9d37423d346ff0.png
  2. Firebase SDK टूल को आपके ऐप्लिकेशन में जोड़ दिया जाता है. कंसोल पर जारी रखें पर क्लिक करें. d1b1309cd3790f66.png

5. FCM क्लाइंट कॉन्फ़िगर करना

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

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

  1. Firebase कंसोल में, अपने प्रोजेक्ट में गियर आइकॉन चुनें. इसके बाद, प्रोजेक्ट सेटिंग चुनें और फिर क्लाउड से मैसेज टैब चुनें. ba8b5f95241327fe.png
  2. iOS ऐप्लिकेशन कॉन्फ़िगरेशन में, APNs पुष्टि कुंजी में अपलोड करें बटन पर क्लिक करें. 357ddc0d4b182492.png
  3. उस जगह ब्राउज़ करें जहां आपने अपनी कुंजी सेव की है. इसके बाद, उसे चुनें और खोलें पर क्लिक करें. कुंजी के लिए कुंजी का आईडी जोड़ें (Apple डेवलपर सदस्य केंद्र में सर्टिफ़िकेट, आइडेंटिफ़ायर, और प्रोफ़ाइल में उपलब्ध) और अपलोड करें पर क्लिक करें. 3dae27f2327daf9e.png

रिमोट सूचनाओं के लिए रजिस्टर करना

अपने ऐप्लिकेशन को रिमोट सूचनाओं के लिए रजिस्टर करें. भले ही, शुरू होने पर या ऐप्लिकेशन फ़्लो में अपनी पसंद के समय पर ऐसा किया जा सके.

क्विकस्टार्ट सैंपल में, registerForRemoteNotifications को पहले ही जोड़ा जा चुका है.

AppDelegate.swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  FirebaseApp.configure()
  // [START register for remote notifications]
  if #available(iOS 10.0, *) {
    // For iOS 10 display notification (sent via APNS)
    UNUserNotificationCenter.current().delegate = self
        
    let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
    UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
  } else {
    let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
    application.registerUserNotificationSettings(settings)
  }

  application.registerForRemoteNotifications()
  // [END register for remote notifications]
  return true
}

UNUserNotificationCenter के डेलिगेट प्रॉपर्टी को असाइन करने के लिए, AppDelegate.swift के आखिर में ये लाइनें जोड़ें.

AppDelegate.swift

@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {

  // Receive displayed notifications for iOS 10 devices.
  func userNotificationCenter(_ center: UNUserNotificationCenter,
                              willPresent notification: UNNotification,
    withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    let userInfo = notification.request.content.userInfo

    // Print full message.
    print(userInfo)

    // Change this to your preferred presentation option
    completionHandler([[.alert, .sound]])
  }

  func userNotificationCenter(_ center: UNUserNotificationCenter,
                              didReceive response: UNNotificationResponse,
                              withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo

    // Print full message.
    print(userInfo)

    completionHandler()
  }
}

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

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

AppDelegate.swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  FirebaseApp.configure()
  Messaging.messaging().delegate = self // Add this line
  // [START register for remote notifications]
  if #available(iOS 10.0, *) {
    // For iOS 10 display notification (sent via APNS)
    UNUserNotificationCenter.current().delegate = self
        
    let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
    UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
  } else {
    let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
    application.registerUserNotificationSettings(settings)
  }

  application.registerForRemoteNotifications()
  // [END register for remote notifications]
  return true
}

FIRMessaging के डेलिगेट प्रॉपर्टी को असाइन करने के लिए, AppDelegate.swift के आखिर में ये लाइनें जोड़ें.

AppDelegate.swift

extension AppDelegate : MessagingDelegate {
  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)
  }
}

सुविधाएं जोड़ना

आपने 'ऐप्लिकेशन आईडी बनाएं' सेक्शन में पुश नोटिफ़िकेशन की सुविधा जोड़ी है. हालांकि, आपको आगे दिया गया तरीका अपनाकर, XCode पर भी यह सुविधा जोड़नी होगी (यहां दिए गए चरण XCode 12.3 में दिए गए हैं):

  1. नेविगेटर एरिया में प्रोजेक्ट के नाम पर क्लिक करें.
  2. हस्ताक्षर करना और मिलने वाली अनुमतियां.
  3. + क्षमता पर क्लिक करें.

eaf41aefb3bf2c9e.png

  1. बैकग्राउंड मोड पर दो बार क्लिक करें.
  2. + क्षमता पर फिर से क्लिक करें.
  3. पुश नोटिफ़िकेशन पर दो बार क्लिक करें.
  4. बैकग्राउंड मोड सेक्शन में, रिमोट सूचनाएं देखें.

e5d0fc08651e04a9.png

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

टेस्ट मैसेज भेजने के लिए, यह तरीका अपनाएं:

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

a2e49a92f9807d34.png

  1. पक्का करें कि ऐप्लिकेशन, डिवाइस के बैकग्राउंड में चल रहा हो.
  2. सूचनाएं कंपोज़र खोलें और नई सूचना चुनें.
  3. मैसेज का टेक्स्ट डालें. f485d7fbd2456ae0.png अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  4. टेस्ट मैसेज भेजें को चुनें.
  5. FCM रजिस्ट्रेशन टोकन जोड़ें लेबल वाले फ़ील्ड में, दूसरे चरण में मिला रजिस्ट्रेशन टोकन डालें.
  6. जांचें पर क्लिक करें.

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

अपने ऐप्लिकेशन पर मैसेज डिलीवरी की अहम जानकारी के लिए, FCM रिपोर्टिंग डैशबोर्ड देखें. यह iOS और Android डिवाइस पर भेजे गए और खोले गए मैसेज की संख्या रिकॉर्ड करता है.

6570eea7b5228513.png

7. बधाई हो

बधाई हो, आपने सफलतापूर्वक एक परीक्षण संदेश भेज दिया है!

FCM में और भी कई फ़ंक्शन और कॉन्फ़िगरेशन मौजूद हैं, जैसे कि विषय की सदस्यता.

अगर आपको आधिकारिक डेवलपर दस्तावेज़ में दिलचस्पी है, तो उसे देखें.

आगे क्या होगा?

इनमें से कुछ कोडलैब देखें.

आगे पढ़ें