Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Flutter पर एक फायरबेस क्लाउड मैसेजिंग क्लाइंट ऐप सेट करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

Flutter पर FCM क्लाइंट सेट करने के लिए इन चरणों का पालन करें।

प्लेटफ़ॉर्म-विशिष्ट सेटअप और आवश्यकताएं

कुछ आवश्यक चरण उस प्लेटफ़ॉर्म पर निर्भर करते हैं जिसे आप लक्षित कर रहे हैं।

आईओएस+

Xcode में ऐप क्षमताएं सक्षम करें

इससे पहले कि आपका एप्लिकेशन संदेश प्राप्त करना शुरू कर सके, आपको अपने Xcode प्रोजेक्ट में पुश नोटिफिकेशन और बैकग्राउंड मोड को सक्षम करना होगा।

  1. अपना Xcode प्रोजेक्ट कार्यक्षेत्र खोलें ( ios/Runner.xcworkspace )।
  2. पुश सूचनाएं सक्षम करें
  3. बैकग्राउंड फ़ेच और रिमोट नोटिफिकेशन बैकग्राउंड एक्ज़ीक्यूशन मोड सक्षम करें।

अपनी APN प्रमाणीकरण कुंजी अपलोड करें

FCM का उपयोग करने से पहले, अपना APN प्रमाणपत्र Firebase पर अपलोड करें. यदि आपके पास पहले से APN प्रमाणपत्र नहीं है, तो Apple डेवलपर सदस्य केंद्र में एक प्रमाणपत्र बनाएं।

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

विधि स्विज़लिंग

Apple उपकरणों पर FCM Flutter प्लगइन का उपयोग करने के लिए, आपको स्विज़लिंग विधि को अक्षम नहीं करना चाहिए। स्विज़लिंग की आवश्यकता है, और इसके बिना, प्रमुख फायरबेस सुविधाएँ जैसे FCM टोकन हैंडलिंग ठीक से काम नहीं करती हैं।

एंड्रॉयड

गूगल प्ले सेवाएं

FCM क्लाइंट को Android 4.4 या उसके बाद वाले वर्शन पर चलने वाले उपकरणों की आवश्यकता होती है, जिनमें Google Play सेवाएं भी इंस्टॉल होती हैं, या Google API के साथ Android 4.4 चलाने वाले एमुलेटर की आवश्यकता होती है। ध्यान दें कि आप Google Play Store के माध्यम से अपने Android ऐप्स को परिनियोजित करने तक सीमित नहीं हैं।

Play Services SDK पर भरोसा करने वाले ऐप्स को Google Play सेवाओं की सुविधाओं तक पहुंचने से पहले डिवाइस को हमेशा संगत Google Play सेवाओं APK के लिए जांचना चाहिए। इसे दो स्थानों पर करने की अनुशंसा की जाती है: मुख्य गतिविधि की ऑनक्रेट( onCreate() विधि में, और इसकी onResume() विधि में। onCreate() में चेक यह सुनिश्चित करता है कि सफल जांच के बिना ऐप का उपयोग नहीं किया जा सकता है। onResume() में चेक यह सुनिश्चित करता है कि यदि उपयोगकर्ता किसी अन्य माध्यम से चल रहे ऐप पर वापस आता है, जैसे कि बैक बटन के माध्यम से, चेक अभी भी किया जाता है।

यदि डिवाइस में Google Play सेवाओं का संगत संस्करण नहीं है, तो आपका ऐप उपयोगकर्ताओं को Play Store से Google Play सेवाएं डाउनलोड करने की अनुमति देने के लिए GoogleApiAvailability.makeGooglePlayServicesAvailable() पर कॉल कर सकता है।

वेब

FCM के साथ वेब क्रेडेंशियल कॉन्फ़िगर करें

FCM वेब इंटरफ़ेस समर्थित वेब पुश सेवाओं के लिए अनुरोध भेजने को अधिकृत करने के लिए "स्वैच्छिक अनुप्रयोग सर्वर पहचान," या "VAPID" कुंजी नामक वेब क्रेडेंशियल का उपयोग करता है। सूचनाओं को पुश करने के लिए अपने ऐप की सदस्यता लेने के लिए, आपको अपने फायरबेस प्रोजेक्ट के साथ कुछ चाबियों को जोड़ना होगा। आप या तो एक नई कुंजी जोड़ी उत्पन्न कर सकते हैं या फायरबेस कंसोल के माध्यम से अपनी मौजूदा कुंजी जोड़ी आयात कर सकते हैं।

एक नई कुंजी जोड़ी बनाएं
  1. फायरबेस कंसोल सेटिंग्स फलक का क्लाउड मैसेजिंग टैब खोलें और वेब कॉन्फ़िगरेशन अनुभाग पर स्क्रॉल करें।

  2. वेब पुश प्रमाणपत्र टैब में, कुंजी जोड़ी जनरेट करें क्लिक करें. कंसोल एक नोटिस प्रदर्शित करता है कि कुंजी जोड़ी उत्पन्न हुई थी, और सार्वजनिक कुंजी स्ट्रिंग और जोड़ी गई तिथि प्रदर्शित करता है।

मौजूदा कुंजी युग्म आयात करें

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

  1. फायरबेस कंसोल सेटिंग्स फलक का क्लाउड मैसेजिंग टैब खोलें और वेब कॉन्फ़िगरेशन अनुभाग पर स्क्रॉल करें।

  2. वेब पुश प्रमाणपत्र टैब में, लिंक टेक्स्ट ढूंढें और चुनें, "मौजूदा कुंजी युग्म आयात करें।"

  3. एक कुंजी जोड़ी आयात करें संवाद में, संबंधित फ़ील्ड में अपनी सार्वजनिक और निजी कुंजियाँ प्रदान करें और आयात पर क्लिक करें। कंसोल सार्वजनिक कुंजी स्ट्रिंग और जोड़े गए दिनांक को प्रदर्शित करता है।

कुंजियों के प्रारूप और उन्हें कैसे उत्पन्न करें के बारे में अधिक जानकारी के लिए, एप्लिकेशन सर्वर कुंजियाँ देखें।

FCM प्लगइन स्थापित करें

  1. यदि आपने पहले से ऐसा नहीं किया है, तो फ़्लटर के लिए फ़ायरबेस प्लगइन्स को स्थापित और प्रारंभ करें

  2. अपने फ़्लटर प्रोजेक्ट की जड़ से, प्लगइन स्थापित करने के लिए निम्न कमांड चलाएँ:

    flutter pub add firebase_messaging
    
  3. एक बार पूरा होने के बाद, अपने स्पंदन एप्लिकेशन का पुनर्निर्माण करें:

    flutter run
    

पंजीकरण टोकन तक पहुंचें

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

ऐप इंस्टेंस के लिए वर्तमान पंजीकरण टोकन पुनर्प्राप्त करने के लिए, getToken() पर कॉल करें। यदि अधिसूचना अनुमति नहीं दी गई है, तो यह विधि उपयोगकर्ता से अधिसूचना अनुमति मांगेगी। अन्यथा, यह एक टोकन लौटाता है या किसी त्रुटि के कारण भविष्य को अस्वीकार करता है।

final fcmToken = await FirebaseMessaging.instance.getToken();

वेब प्लेटफॉर्म पर, अपनी VAPID सार्वजनिक कुंजी को getToken() पर पास करें:

final fcmToken = await FirebaseMessaging.instance.getToken(vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu");

टोकन के अद्यतन होने पर अधिसूचित होने के लिए, onTokenRefresh स्ट्रीम की सदस्यता लें:

FirebaseMessaging.instance.onTokenRefresh
    .listen((fcmToken) {
      // TODO: If necessary send token to application server.

      // Note: This callback is fired at each app startup and whenever a new
      // token is generated.
    })
    .onError((err) {
      // Error getting token.
    });

ऑटो इनिशियलाइज़ेशन रोकें

जब एक FCM पंजीकरण टोकन उत्पन्न होता है, तो लाइब्रेरी पहचानकर्ता और कॉन्फ़िगरेशन डेटा को Firebase पर अपलोड करती है। यदि आप टोकन ऑटोजेनरेशन को रोकना पसंद करते हैं, तो बिल्ड समय पर ऑटो-इनिशियलाइज़ेशन अक्षम करें।

आईओएस

iOS पर, अपनी Info.plist में मेटाडेटा मान जोड़ें:

FirebaseMessagingAutoInitEnabled = NO

एंड्रॉयड

Android पर, इन मेटाडेटा मानों को अपने AndroidManifest.xml में जोड़कर Analytics संग्रह और FCM स्वतः आरंभीकरण अक्षम करें (आपको दोनों को अक्षम करना होगा):

<meta-data
    android:name="firebase_messaging_auto_init_enabled"
    android:value="false" />
<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="false" />

रनटाइम पर FCM ऑटो-इनिट को पुन: सक्षम करें

किसी विशिष्ट ऐप इंस्टेंस के लिए ऑटो-इनिट को सक्षम करने के लिए, कॉल करें setAutoInitEnabled() :

await FirebaseMessaging.instance.setAutoInitEnabled(true);

यह मान सेट होने के बाद ऐप के पुनरारंभ होने पर बना रहता है।

अगले कदम

क्लाइंट ऐप सेट होने के बाद, आप नोटिफिकेशन कंपोज़र के साथ डाउनस्ट्रीम संदेश भेजना शुरू करने के लिए तैयार हैं। बैकग्राउंड वाले ऐप को टेस्ट मैसेज भेजें देखें।

अपने ऐप में अन्य, अधिक उन्नत व्यवहार जोड़ने के लिए, आपको एक सर्वर कार्यान्वयन की आवश्यकता होगी।

फिर, अपने ऐप क्लाइंट में: