FCM मैसेज के बारे में जानकारी

Firebase Cloud Messaging (FCM) में मैसेज भेजने के कई विकल्प हैं और क्षमताओं को शामिल किया है. इस पेज पर दी गई जानकारी का मकसद है इससे आपको अलग-अलग तरह के FCM मैसेज समझने में मदद मिलती है. साथ ही, यह भी समझा जा सकता है कि उनके साथ क्या-क्या किया जा सकता है.

मैसेज के टाइप

FCM के साथ, आप क्लाइंट को दो तरह के मैसेज भेज सकते हैं:

  • सूचना मैसेज, जिन्हें कभी-कभी "डिसप्ले मैसेज" भी कहा जाता है. इन्हें FCM SDK टूल अपने-आप मैनेज करता है.
  • डेटा मैसेज, जिन्हें क्लाइंट ऐप्लिकेशन मैनेज करता है.

सूचना वाले मैसेज में, पहले से तय उपयोगकर्ताओं को दिखने वाली कुंजियों का सेट होता है. इसके उलट, डेटा मैसेज में सिर्फ़ उपयोगकर्ता की ओर से तय की गई कस्टम कुंजी-वैल्यू होती है पेयर. सूचना वाले मैसेज में एक वैकल्पिक मैसेज हो सकता है डेटा पेलोड. दोनों तरह के मैसेज के लिए पेलोड ज़्यादा से ज़्यादा 4096 बाइट होना चाहिए. हालांकि, ऐसा तब नहीं होगा, जब Firebase कंसोल से मैसेज भेजना, जिससे 1,000 वर्ण लागू होते हैं सीमा तय करें.

उदाहरण का इस्तेमाल करें कैसे भेजें
सूचना का मैसेज FCM SDK टूल, असली उपयोगकर्ता के डिवाइसों को मैसेज दिखाता है को क्लाइंट ऐप्लिकेशन की ओर से अनुमति देनी होगी. इसके अलावा, अगर ऐप्लिकेशन फ़ोरग्राउंड में चल रहा है, तो सूचना मिलती है, तो ऐप्लिकेशन के कोड से कार्रवाई तय होती है. सूचना वाले मैसेज में लोगों को दिखने वाली कुंजियों का पहले से तय सेट होता है. साथ ही, इसमें कस्टम की-वैल्यू पेयर का वैकल्पिक डेटा पेलोड.
  1. Cloud Functions जैसे भरोसेमंद प्लैटफ़ॉर्म पर या अपने ऐप्लिकेशन सर्वर से कनेक्ट करना है, तो Admin SDK टूल या एचटीटीपी v1 एपीआई. notification बटन सेट करें. इसमें डेटा पेलोड वैकल्पिक हो सकता है. हमेशा छोटा किया जा सकता है.

    कुछ देखें डिसप्ले सूचनाओं के उदाहरण और अनुरोध पेलोड भेजने के उदाहरण.

  2. इसका इस्तेमाल करें नोटिफ़िकेशन कंपोज़र: मैसेज का टेक्स्ट, टाइटल वगैरह डालें और भेजें. कस्टम डेटा देकर, डेटा पेलोड जोड़ें. हालांकि, ऐसा करना ज़रूरी नहीं है.
डेटा मैसेज डेटा मैसेज प्रोसेस करने की ज़िम्मेदारी क्लाइंट ऐप्लिकेशन की होती है. डेटा मैसेज आरक्षित कुंजी नाम (नीचे देखें) के साथ केवल कस्टम कुंजी-मान जोड़े होने चाहिए. जैसे भरोसेमंद एनवायरमेंट में Cloud Functions या अपने ऐप्लिकेशन सर्वर से कनेक्ट करना है, तो Admin SDK टूल या FCM सर्वर प्रोटोकॉल. डेटा भेजने के अनुरोध में, data सेट करें बटन दबाएं.

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

FCM, वैकल्पिक डेटा के साथ सूचना वाला मैसेज भेज सकता है पेलोड. ऐसे मामलों में, FCM सूचना दिखाने का हैंडल करता है और क्लाइंट ऐप्लिकेशन, डेटा पेलोड को हैंडल करता है.

सूचना के मैसेज

टेस्टिंग या मार्केटिंग और उपयोगकर्ता को फिर से जोड़ने के लक्ष्य के लिए, इस लिंक पर क्लिक करके सूचना संदेश पाने के लिए Firebase कंसोल का इस्तेमाल करें. Firebase कंसोल, आंकड़ों के आधार पर सुविधाएं देता है A/B टेस्टिंग का इस्तेमाल करके, मार्केटिंग मैसेज में सुधार किया जा सकता है.

Admin SDK टूल का इस्तेमाल करके या FCM प्रोटोकॉल, notification कुंजी को उपयोगकर्ता को दिखने वाले की-वैल्यू विकल्पों का पहले से तय किया गया ज़रूरी सेट ईमेल का हिस्सा बना रहता है. उदाहरण के लिए, यहां JSON फ़ॉर्मैट में दिया गया है IM ऐप्लिकेशन में सूचना पर दिखने वाला मैसेज. उपयोगकर्ता को एक "पुर्तगाल बनाम डेनमार्क" शीर्षक वाला मैसेज और टेक्स्ट "शानदार मिलान!" डिवाइस पर:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

जब ऐप बैकग्राउंड में मौजूद है. फ़ोरग्राउंड में मौजूद ऐप्लिकेशन के लिए, मैसेज यह मैनेज करता है: एक कॉलबैक फ़ंक्शन.

एचटीटीपी v1 प्रोटोकॉल सूचना ऑब्जेक्ट देखें रेफ़रंस दस्तावेज़ बिल्डिंग की सूचना के लिए उपलब्ध, पहले से तैयार कुंजियों की पूरी सूची देखने के लिए मैसेज.

डेटा मैसेज

अपने कस्टम की-वैल्यू पेयर के साथ सही पासकोड सेट करें क्लाइंट ऐप्लिकेशन को डेटा पेलोड भेजें.

उदाहरण के लिए, यहां उसी IM ऐप्लिकेशन में JSON-फ़ॉर्मैट किया गया मैसेज जिसकी जानकारी ऊपर दी गई है, जहां जानकारी को सामान्य data कुंजी में रखा जाता है और क्लाइंट ऐप्लिकेशन से कॉन्टेंट को समझना चाहिए:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}

ऊपर दिया गया उदाहरण टॉप-लेवल या सामान्य data फ़ील्ड के इस्तेमाल को दिखाता है, जिसे मैसेज पाने वाले सभी प्लैटफ़ॉर्म पर क्लाइंट समझते हैं. हर प्लैटफ़ॉर्म पर, क्लाइंट ऐप्लिकेशन को डेटा पेलोड मिलता है का इस्तेमाल करें.

डेटा मैसेज के लिए एन्क्रिप्ट (सुरक्षित) करने का तरीका

Android ट्रांसपोर्ट लेयर (FCM आर्किटेक्चर देखें) पॉइंट-टू-पॉइंट एन्क्रिप्शन का इस्तेमाल करता है. आपके अनुरोध पर निर्भर है, तो आपके पास अपने डेटा मैसेज में पूरी तरह सुरक्षित (E2EE) सुविधा जोड़ने का विकल्प होता है. FCM पूरी तरह समाधान उपलब्ध नहीं कराता. हालांकि, ऐसे कुछ बाहरी समाधान भी मौजूद हैं, जैसे कि कैपिलरी के तौर पर या डीटीएलएस.

वैकल्पिक डेटा पेलोड के साथ सूचना वाले मैसेज

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

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

  • बैकग्राउंड में, ऐप्लिकेशन को सूचना पेलोड मिलता है सूचना ट्रे और डेटा पेलोड को सिर्फ़ तब हैंडल किया जाता है, जब उपयोगकर्ता सूचना पर टैप करता है.
  • फ़ोरग्राउंड में होने पर, आपके ऐप्लिकेशन को मैसेज मिलता है ऑब्जेक्ट है, जिसमें दोनों पेलोड उपलब्ध हैं.

यहां JSON के फ़ॉर्मैट में एक मैसेज दिया गया है. इसमें दोनों notification और data बटन:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}

अलग-अलग प्लैटफ़ॉर्म पर मैसेज को पसंद के मुताबिक बनाना

Firebase Admin SDK और FCM v1 एचटीटीपी प्रोटोकॉल, दोनों आपको मैसेज भेजने की अनुमति देते हैं में उपलब्ध सभी फ़ील्ड सेट करने के अनुरोध message ऑब्जेक्ट है. इसमें इस तरह का कॉन्टेंट शामिल है:

  • फ़ील्ड का एक सामान्य सेट, जिसे सभी ऐप्लिकेशन इंस्टेंस से समझा जाए तो आपको मैसेज मिल रहा है.
  • फ़ील्ड के खास सेट, जैसे कि AndroidConfig और WebpushConfig, इसे सिर्फ़ बताए गए प्लैटफ़ॉर्म पर चल रहे ऐप्लिकेशन इंस्टेंस से समझ लिया जाता है.

प्लैटफ़ॉर्म के हिसाब से बने ब्लॉक से, मैसेज को अपनी पसंद के मुताबिक बनाने में मदद मिलती है अलग-अलग प्लैटफ़ॉर्म का इस्तेमाल कर सकें, ताकि यह पक्का किया जा सके कि डेटा मिलने पर उन्हें सही तरीके से हैंडल किया जाए. कॉन्टेंट बनाने FCM बैकएंड सभी पैरामीटर को ध्यान में रखेगा और मैसेज देख सकते हैं.

कॉमन फ़ील्ड का इस्तेमाल कब करना चाहिए

सामान्य फ़ील्ड का इस्तेमाल तब करें, जब:

  • सभी प्लैटफ़ॉर्म — Apple, Android, और वेब पर ऐप्लिकेशन इंस्टेंस को टारगेट करना
  • विषयों के लिए मैसेज भेज रहे हैं

किसी भी प्लैटफ़ॉर्म पर ऐप्लिकेशन के सभी इंस्टेंस के लिए, यहां दी गई सामान्य शर्तें लागू हो सकती हैं फ़ील्ड:

प्लैटफ़ॉर्म के हिसाब से बने फ़ील्ड का इस्तेमाल कब करना चाहिए

प्लैटफ़ॉर्म के हिसाब से बने फ़ील्ड का इस्तेमाल तब करें, जब:

  • सिर्फ़ खास प्लैटफ़ॉर्म पर फ़ील्ड भेजें
  • कॉमन फ़ील्ड के साथ-साथ प्लैटफ़ॉर्म के हिसाब से भी फ़ील्ड भेजें

अगर आपको सिर्फ़ किसी प्लैटफ़ॉर्म पर वैल्यू भेजनी हैं, तो इसका इस्तेमाल करें कॉमन फ़ील्ड; प्लैटफ़ॉर्म के हिसाब से बने फ़ील्ड का इस्तेमाल करते हैं. उदाहरण के लिए, सूचना भेजने के लिए केवल Apple प्लेटफ़ॉर्म और वेब पर, लेकिन Android पर नहीं, तो आपको एक फ़ील्ड Apple के लिए और एक वेब के लिए.

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

उदाहरण के लिए: प्लैटफ़ॉर्म के हिसाब से डिलीवरी के विकल्पों के साथ सूचना वाला मैसेज

नीचे दिया गया v1 अनुरोध भेजने पर एक सामान्य सूचना शीर्षक भेजा जाता है और कॉन्टेंट को सभी प्लैटफ़ॉर्म पर अपलोड करता है. साथ ही, प्लैटफ़ॉर्म के हिसाब से बदलाव भी भेजता है. खास तौर पर, यह अनुरोध:

  • यह Android और वेब प्लैटफ़ॉर्म के लिए 'लॉन्ग टाइम-टू-लाइव' पर सेट होती है. वहीं, एपीएन (Apple प्लैटफ़ॉर्म) के मैसेज की प्राथमिकता को 'कम' पर सेट करती है
  • उपयोगकर्ता की ओर से Android और Apple — click_action, और category पर सूचना पर किए गए टैप का नतीजा तय करने के लिए सही कुंजियां सेट करती हैं.
{
  "message":{
     "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
     "notification":{
       "title":"Match update",
       "body":"Arsenal goal in added time, score is now 3-0"
     },
     "android":{
       "ttl":"86400s",
       "notification"{
         "click_action":"OPEN_ACTIVITY_1"
       }
     },
     "apns": {
       "headers": {
         "apns-priority": "5",
       },
       "payload": {
         "aps": {
           "category": "NEW_MESSAGE_CATEGORY"
         }
       }
     },
     "webpush":{
       "headers":{
         "TTL":"86400"
       }
     }
   }
 }

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

डिलीवरी के विकल्प

FCM, इस पते पर भेजे गए मैसेज के लिए डिलीवरी के विकल्पों का खास सेट उपलब्ध कराता है साथ ही, यह Android डिवाइसों पर मिलते-जुलते विकल्पों का इस्तेमाल करने की अनुमति भी देता है. Apple प्लैटफ़ॉर्म और वेब. उदाहरण के लिए, "छोटा किया जा सकने वाला" मैसेज की सेटिंग इस पर काम करती है FCM के collapse_key से Android पर, Apple पर इसके ज़रिए apns-collapse-id और JavaScript/वेब पर Topic के ज़रिए. जानकारी के लिए, यह देखें इस सेक्शन में दी गई जानकारी और मिलते-जुलते रेफ़रंस दस्तावेज़ पढ़ें.

छोटे नहीं किए जा सकने वाले और छोटे किए जा सकने वाले मैसेज

छोटा न किया जा सकने वाला मैसेज बताता है कि हर मैसेज डिवाइस पर डिलीवर किए गए. छोटा न हो सकने वाला मैसेज, कुछ काम की जानकारी देता है ऐसा कॉन्टेंट जिसमें छोटे हो जाने वाले बैनर विज्ञापन, जैसे कि बिना कॉन्टेंट वाला "पिंग" दिखाया जाता है से मोबाइल ऐप्लिकेशन का इस्तेमाल करें, ताकि डेटा फ़ेच करने के लिए सर्वर से संपर्क किया जा सके.

आम तौर पर, छोटे नहीं किए जा सकने वाले मैसेज के इस्तेमाल के उदाहरण, चैट मैसेज या शामिल हैं. उदाहरण के लिए, किसी IM ऐप्लिकेशन में, आप हर मैसेज को डिलीवर करना चाहेंगे, क्योंकि हर मैसेज का कॉन्टेंट अलग-अलग होता है.

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

छोटा हो जाने वाला मैसेज, ऐसा मैसेज होता है जिसे नया मैसेज मिल सकता है, अगर उसे डिवाइस पर अभी तक डिलीवर नहीं किया गया है.

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

Android पर किसी मैसेज को 'छोटा किया जा सकता है' के तौर पर मार्क करने के लिए, collapse_key पैरामीटर में मैसेज पेलोड. डिफ़ॉल्ट रूप से, ऐप्लिकेशन के पैकेज का नाम 'छोटा करें' बटन होता है Firebase कंसोल में रजिस्टर किया जाता है. FCM का सर्वर ये काम कर सकता है इस ऐप्लिकेशन में, छोटे हो जाने वाले चार अलग-अलग मैसेज एक साथ सेव किए जाते हैं. जिसमें हर डिवाइस पर अलग-अलग छोटा बटन मौजूद होता है. अगर आपने यह संख्या पार कर ली है, FCM सिर्फ़ सेव रखता है चार छोटा करने वाली कुंजियां होती हैं, जिसमें इस बात की कोई गारंटी नहीं होती कि कौनसी कुंजी रखी जाएगी.

बिना पेलोड वाले विषय संदेश, डिफ़ॉल्ट रूप से छोटे हो सकते हैं. सूचना के मैसेज वे हमेशा छोटे हो सकते हैं और collapse_key पैरामीटर को अनदेखा कर देंगे.

मुझे किसका इस्तेमाल करना चाहिए?

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

उदाहरण का इस्तेमाल करें कैसे भेजें
छोटा नहीं किया जा सकने वाला एट्रिब्यूट क्लाइंट ऐप्लिकेशन के लिए हर मैसेज अहम है. साथ ही, यह भी ज़रूरी है कि डिलीवर हो गया. सूचना वाले मैसेज को छोड़कर, बाकी सभी मैसेज इस तरह छोटे किए जा सकते हैं: डिफ़ॉल्ट.
छोटा किया जा सकता है जब कोई नया मैसेज मिलता है, जो पुराना, मिलता-जुलता मैसेज रेंडर करता है जो क्लाइंट ऐप्लिकेशन के काम के नहीं हैं, FCM पुराने मैसेज को बदल देता है. जैसे: ऐसे मैसेज जिनका इस्तेमाल सर्वर से डेटा सिंक करने के लिए किया गया हो या जो पुराने हों सूचना मैसेज दिखाई देगा. अपने मैसेज अनुरोध में सही पैरामीटर सेट करें:
  • Android पर collapseKey
  • Apple पर apns-collapse-id
  • वेब पर Topic
  • लेगसी प्रोटोकॉल में collapse_key (सभी प्लैटफ़ॉर्म पर)

मैसेज की प्राथमिकता सेट करना

डाउनस्ट्रीम मैसेज को डिलीवरी की प्राथमिकता असाइन करने के लिए आपके पास दो विकल्प हैं: सामान्य और उच्च प्राथमिकता. हालांकि, व्यवहार अलग-अलग होता है, लेकिन सामान्य और ज़्यादा प्राथमिकता वाले मैसेज डिलीवर करने की सुविधा काम करती है इस तरह:

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

  • ज़्यादा प्राथमिकता. FCM, ज़्यादा प्राथमिकता देने की कोशिश करता है मैसेज तुरंत भेजने की सुविधा मिलती है, भले ही डिवाइस बैटरी बचाने वाले मोड में हो. ज़्यादा प्राथमिकता वाले मैसेज, समय के हिसाब से संवेदनशील और उपयोगकर्ता को दिखने वाले कॉन्टेंट के लिए होते हैं.

यहां FCM के ज़रिए भेजे गए सामान्य प्राथमिकता वाले मैसेज का एक उदाहरण दिया गया है पत्रिका को सूचित करने के लिए एचटीटीपी v1 प्रोटोकॉल सदस्य चुनें कि नया कॉन्टेंट डाउनलोड करने के लिए उपलब्ध है:

{
  "message":{
    "topic":"subscriber-updates",
    "notification":{
      "body" : "This week's edition is now available.",
      "title" : "NewsMagazine.com",
    },
    "data" : {
      "volume" : "3.21.15",
      "contents" : "http://www.news-magazine.com/world-week/21659772"
    },
    "android":{
      "priority":"normal"
    },
    "apns":{
      "headers":{
        "apns-priority":"5"
      }
    },
    "webpush": {
      "headers": {
        "Urgency": "high"
      }
    }
  }
}

प्लैटफ़ॉर्म के हिसाब से, मैसेज की प्राथमिकता सेट करने के बारे में ज़्यादा जानकारी पाने के लिए:

इस्तेमाल के बेहद अहम उदाहरण

FCM एपीआई इस तरह के मामलों में, आपातकालीन स्थिति की चेतावनी या ज़्यादा जोखिम वाली अन्य गतिविधियों के लिए बनाया गया है. एपीआई के काम न करने पर, किसी की मौत हो सकती है, उसे चोट लग सकती है या पर्यावरण को नुकसान हो सकता है नुकसान (जैसे कि परमाणु संयंत्रों का संचालन, वायु ट्रैफ़िक नियंत्रण या लाइफ़ सपोर्ट सिस्टम). ऐसे किसी भी इस्तेमाल पर, सेक्शन 4. a. 7 शर्तों को पूरा करते हैं. अपने विज्ञापनों और सेवाओं को मैनेज करने के लिए, ऐप्लिकेशन के शर्तों का अनुपालन करता है और आपको गैर-अनुपालन. Google, एपीआई को "जैसा है" के तौर पर उपलब्ध कराता है, और वह एपीआई को बंद करने का अधिकार सुरक्षित रखता है या किसी भी भाग या सुविधा या वहां आपकी पहुंच, किसी भी कारण से और किसी भी बिना किसी कानूनी जवाबदेही या अन्य जवाबदेही के, आपके या आपके उपयोगकर्ताओं के प्रति बिना किसी कानूनी जवाबदेही के.

किसी मैसेज की समयसीमा सेट करना

आम तौर पर, FCM मैसेज भेजने के तुरंत बाद उन्हें डिलीवर कर देता है. हालांकि, ऐसा हमेशा नहीं हो पाता है. उदाहरण के लिए, अगर प्लैटफ़ॉर्म Android डिवाइस बंद है, ऑफ़लाइन हो सकता है या हो सकता है कि वह उपलब्ध न हो. इसके अलावा, FCM जान-बूझकर मैसेज भेजने में देरी भी कर सकता है किसी ऐप्लिकेशन को संसाधनों का ज़रूरत से ज़्यादा इस्तेमाल करने से रोकने और बैटरी लाइफ़ पर असर डाल रही हैं.

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

Android और वेब/JavaScript पर, दिखाई देगा. वैल्यू, 0 से 24,19,200 सेकंड (28) के बीच होनी चाहिए दिन) के हिसाब से सेट किया जाता है. साथ ही, यह उस ज़्यादा से ज़्यादा समयावधि से जुड़ा होता है जिसमें FCM स्टोर करता है और मैसेज को डिलीवर करने की कोशिश करता है. वे अनुरोध जिनमें यह शामिल नहीं है फ़ील्ड की डिफ़ॉल्ट अवधि के लिए, ज़्यादा से ज़्यादा चार हफ़्ते की सीमा तय की गई है.

इस सुविधा का इस्तेमाल इन कामों में किया जा सकता है:

  • वीडियो चैट इनकमिंग कॉल
  • न्योते वाले इवेंट खत्म होने वाले हैं
  • कैलेंडर इवेंट

किसी मैसेज का लाइफ़स्पैन बताने का एक और फ़ायदा यह है कि FCM, छोटे किए जा सकने वाले मैसेज की थ्रॉटलिंग को टाइम-टू-लाइव वैल्यू 0 सेकंड है. FCM उन मैसेज को सबसे बेहतर तरीके से मैनेज करता है जिन्हें "अभी या कभी नहीं" डिलीवर किया. ध्यान रखें कि time_to_live का मान 0 का मतलब है कि जिन मैसेज को तुरंत डिलीवर नहीं किया जा सकता उन्हें खारिज कर दिया जाएगा. हालांकि, क्योंकि ऐसे संदेश कभी संग्रहित नहीं किए जाते हैं, इसलिए यह सूचना वाले मैसेज भेज रही हूँ.

यहां एक अनुरोध का उदाहरण दिया गया है जिसमें TTL शामिल है:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    },
    "apns":{
      "headers":{
        "apns-expiration":"1604750400"
      }
    },
    "android":{
      "ttl":"4500s"
    },
    "webpush":{
      "headers":{
        "TTL":"4500"
      }
    }
  }
}

मैसेज कब तक मौजूद रहेगा

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

सबसे अच्छी स्थिति में, अगर डिवाइस FCM से कनेक्ट है, तो स्क्रीन चालू है और थ्रॉटलिंग की कोई पाबंदी नहीं है. इसलिए, मैसेज तुरंत डिलीवर हो जाता है.

अगर डिवाइस कनेक्ट है, लेकिन Doze में है, तो कम प्राथमिकता वाला मैसेज सेव किया जाता है जब तक डिवाइस Doze से खत्म नहीं हो जाता, तब तक FCM तक. और यहां collapse_key फ़्लैग की भूमिका होती है: अगर पहले से ही एक संदेश है, जिसमें उसी संक्षिप्त कुंजी (और पंजीकरण टोकन) को सहेजा गया है और इसकी इंतज़ार कर रही हूँ डिलीवरी के दौरान, पुराना मैसेज खारिज कर दिया जाता है और नया मैसेज उसकी जगह ले लेता है (इसका मतलब है कि नए मैसेज ने पुराने मैसेज को छोटा कर दिया है). हालांकि, अगर संक्षिप्त कुंजी सेट नहीं है, नए और पुराने दोनों संदेश भावी वितरण के लिए संग्रहित किए जाते हैं.

अगर डिवाइस FCM से कनेक्ट नहीं किया गया है, तो मैसेज इस समय तक सेव रहता है कनेक्शन स्थापित हो जाता है (संक्षिप्त मुख्य नियमों का दोबारा पालन करते हुए). जब कनेक्शन बन गया है, FCM बाकी सभी मैसेज इस ईमेल पते पर डिलीवर कर देगा डिवाइस. अगर डिवाइस फिर कभी कनेक्ट नहीं होता है (उदाहरण के लिए, अगर उसे फ़ैक्ट्री रीसेट किया गया था), तो मैसेज का समय खत्म हो जाता है और को FCM स्टोरेज से निकाल दिया जाता है. डिफ़ॉल्ट टाइम आउट चार हफ़्ते का है, जब तक कि time_to_live फ़्लैग सेट न किया गया हो.

मैसेज की डिलीवरी के बारे में ज़्यादा अहम जानकारी पाने के लिए:

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

उन Android डिवाइस के लिए जिनमें डायरेक्ट चैनल मैसेजिंग की सुविधा चालू है, अगर डिवाइस एक महीने से ज़्यादा समय से FCM से कनेक्ट नहीं हुआ है, FCM अब भी मैसेज स्वीकार करता है, लेकिन उसे तुरंत खारिज कर देता है. अगर आपके द्वारा इस पर भेजे गए अंतिम डेटा संदेश के चार सप्ताह के भीतर डिवाइस कनेक्ट हो जाता है, आपके क्लाइंट को on deletedMessages() कॉलबैक मिलता है. इसके बाद, ऐप्लिकेशन आम तौर पर पूरे डेटा का अनुरोध करके स्थिति को ठीक कर सकता है को सिंक करने की सुविधा मिलती है.

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

थ्रॉटलिंग और कोटा

हमारा लक्ष्य है कि FCM से भेजे गए हर मैसेज को हमेशा डिलीवर किया जाए. हालांकि, कभी-कभी हर मैसेज डिलीवर करने से, उपयोगकर्ता को खराब अनुभव मिल सकता है. अन्य मामलों में, हमें सीमाएं देनी होंगी, ताकि यह पक्का किया जा सके कि FCM सभी भेजने वालों के लिए बढ़ाने लायक सेवा. इसमें बताई गई सीमाएं और कोटा के टाइप इस सेक्शन से, हमें इन अहम फ़ैक्टर के बीच संतुलन बनाने में मदद मिलती है.

डाउनस्ट्रीम मैसेज थ्रॉटलिंग

हर प्रोजेक्ट के लिए, डाउनस्ट्रीम के लिए हर मिनट के कोटा की मदद से पेश किया गया एचटीटीपी v1 API को बढ़ावा देते हैं. हर मिनट छह लाख मैसेज का डिफ़ॉल्ट कोटा, करीब 99% मैसेज को कवर करता है FCM डेवलपर, जो सिस्टम की स्थिरता को बनाए रखते हैं और हम खास प्रोजेक्ट के असर को कम करने के लिए काम कर रहे हैं.

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

ध्यान दें कि:

  • डाउनस्ट्रीम कोटा, मैसेज का आकलन करता है, अनुरोधों का नहीं.
  • क्लाइंट से जुड़ी गड़बड़ियों (एचटीटीपी स्टेटस कोड 400-499) को गिना जाता है (429 को छोड़कर).
  • कोटा प्रति मिनट के हिसाब से होता है, लेकिन ये मिनट, समय के साथ अलाइन नहीं होते.

मॉनिटरिंग कोटा

Google Cloud Console पर कोटा, इस्तेमाल से जुड़ी जानकारी, और गड़बड़ियां देखी जा सकती हैं:

  1. Google Cloud कंसोल पर जाएं
  2. चुनें एपीआई और सेवाएं
  3. टेबल की सूची से, Firebase Cloud Messaging API चुनें
  4. कोटा और चुनें सिस्टम की सीमाएं.

ध्यान दें: ये ग्राफ़, कोटा मिनट के हिसाब से समय की सटीक जानकारी नहीं देते. इसका मतलब है कि ट्रैफ़िक, कोटा से कम होने पर, 429 गड़बड़ी के मैसेज दिखाए जा सकते हैं.

कोटा बढ़ाने का अनुरोध किया जा रहा है

कोटा बढ़ाने का अनुरोध करने से पहले, पक्का करें कि:

  • आपका ऐप्लिकेशन लगातार कम से कम पांच मिनट तक, कोटे का ≥ 80% इस्तेमाल करता है प्रति दिन.
  • आपके खाते में < क्लाइंट की गड़बड़ी का अनुपात 5% है, खासकर सबसे ज़्यादा ट्रैफ़िक के दौरान.
  • आप बड़े पैमाने पर मैसेज भेजने के सबसे सही तरीकों का पालन करते हैं.

इन शर्तों को पूरा करने पर, कोटा बढ़ाने का अनुरोध सबमिट किया जा सकता है. +25% और FCM अनुरोध को पूरा करने के लिए हर संभव कोशिश करेंगे (हालांकि, बढ़ोतरी की कोई गारंटी नहीं है).

अगर आपको आने वाले समय में लॉन्च होने की वजह से, डाउनस्ट्रीम मैसेजिंग कोटा बढ़ाना है या अस्थायी इवेंट, अनुमति देने के लिए कम से कम 15 दिन पहले अपने कोटा का अनुरोध करें काफ़ी समय हो जाता है. बड़े अनुरोधों के लिए (हर मिनट 1.8 करोड़ मैसेज), कम से कम इसके लिए, 30 दिन का नोटिस देना ज़रूरी है. लॉन्च और खास इवेंट के अनुरोध अब भी हैं गड़बड़ी का अनुपात और सबसे सही तरीके की शर्तों के हिसाब से तय होता है.

FCM कोटा के बारे में अक्सर पूछे जाने वाले सवाल भी देखें.

विषय संदेश सीमा

हर प्रोजेक्ट के लिए, विषय की सदस्यता जोड़ने/हटाने की दर 3,000 क्यूपीएस तक सीमित है.

मैसेज भेजने की दरों के बारे में जानने के लिए, फ़ैनआउट थ्रॉटलिंग देखें.

फ़ैनआउट थ्रॉटलिंग

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

मैसेज के फ़ैनआउट तुरंत नहीं होते. इसलिए, कभी-कभी आपके पास एक से ज़्यादा एक साथ प्रोसेस हो रहे हैं. हम एक साथ दिखाए जाने वाले मैसेज की संख्या सीमित रखते हैं प्रति प्रोजेक्ट की संख्या 1,000 तक हो गई. इसके बाद, हम अन्य फ़ैनआउट को अस्वीकार कर सकते हैं या अनुरोधों के फ़ैनआउट को तब तक टाल दें, जब तक कि उनमें से कुछ प्रोग्रेस के फ़ैनआउट पूरे हुए.

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

छोटा किया जा सकने वाला मैसेज थ्रॉटलिंग

जैसा कि ऊपर बताया गया है, छोटे किए जा सकने वाले मैसेज, कॉन्टेंट-फ़्री सूचनाएं होती हैं. छोटा करने के सबसे आसान तरीके हैं. अगर कोई डेवलपर बार-बार किसी ऐप्लिकेशन पर एक ही मैसेज बार-बार भेजा जाता है, तो हम मैसेज को कम करने के लिए देरी (थ्रॉटल) करते हैं उपयोगकर्ता की बैटरी पर पड़ने वाले असर के बारे में बताता है.

उदाहरण के लिए, यदि आप किसी एक ईमेल पते पर बड़ी संख्या में नए ईमेल सिंक अनुरोध भेजते हैं तो हम ईमेल सिंक करने के अगले अनुरोध में कुछ मिनट की देरी कर सकते हैं. इससे तो डिवाइस कम औसत दर पर सिंक हो सकते हैं. यह थ्रॉटलिंग सिर्फ़ इन कामों के लिए की जाती है बैटरी पर उपयोगकर्ता के अनुभव को कम किया जा सकता है.

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

हम हर डिवाइस के लिए, हर ऐप्लिकेशन के लिए, छोटे किए जा सकने वाले मैसेज की संख्या को 20 मैसेज तक सीमित रखते हैं. हर तीन मिनट में एक मैसेज फिर से भरें.

XMPP सर्वर थ्रॉटलिंग

हम FCM XMPP सर्वर से कनेक्ट करने की दर को 400 कनेक्शन तक सीमित करते हैं प्रति मिनट प्रति मिनट की बचत करनी होगी. यह मैसेज डिलीवरी से जुड़ी समस्या नहीं होनी चाहिए, लेकिन यह समस्या है का इस्तेमाल करना ज़रूरी है. हर प्रोजेक्ट के लिए, FCM, एक साथ 2,500 कनेक्शन की अनुमति देता है.

XMPP के साथ अपस्ट्रीम मैसेज सेवा के लिए, FCM की सीमाएं 15,00,000/मिनट पर अपस्ट्रीम मैसेज हर प्रोजेक्ट के लिए.

बैटरी को नुकसान से बचाने के लिए, हम अपस्ट्रीम मैसेज को हर डिवाइस के लिए 1,000/मिनट पर सेट करते हैं ऐप्लिकेशन के खराब व्यवहार को कम करता है.

किसी एक डिवाइस पर मैसेज की ज़्यादा से ज़्यादा दर

Android के लिए, आप एक मिनट में 240 मैसेज/मिनट और 5,000 मैसेज/घंटा तक भेज सकते हैं डिवाइस. इस ज़्यादा थ्रेशोल्ड का मकसद कम समय के लिए ट्रैफ़िक के बर्स्ट को अनुमति देना है, जैसे, जब लोग चैट पर तेज़ी से इंटरैक्ट करते हैं. यह सीमा गड़बड़ियों को रोकती है डिवाइस की बैटरी को अनजाने में खर्च करने से लॉजिक भेजने में मदद मिलती है.

iOS के लिए, जब रेट एपीएन की तय सीमा से ज़्यादा हो जाता है, तब हम गड़बड़ी का मैसेज दिखाते हैं.

FCM पोर्ट और आपका फ़ायरवॉल

अगर आपके संगठन में या तो आपको इसे कॉन्फ़िगर करना होगा, ताकि मोबाइल डिवाइस कनेक्ट हो सकें FCM के साथ, ताकि आपके नेटवर्क से जुड़े डिवाइसों पर मैसेज मिल सकें. FCM आम तौर पर पोर्ट 5228 का इस्तेमाल करता है, लेकिन कभी-कभी यह 443, 5229, और 5230 है.

आपके नेटवर्क से कनेक्ट होने वाले डिवाइसों के लिए, FCM यह सुविधा नहीं देता है अलग-अलग कर सकते हैं, क्योंकि हमारी आईपी रेंज बहुत बार बदलती रहती है. साथ ही, आपके फ़ायरवॉल के नियम भी बदलते रहते हैं पुराना हो सकता है, जिससे आपके उपयोगकर्ताओं पर असर पड़ सकता है: अनुभव. आम तौर पर, अनुमति वाली सूची में पोर्ट 5228-5230 और 443 हो सकता है. हालांकि, अगर आपके पास आईपी पाबंदी है, तो आपको goog.json में दिए गए सभी आईपी पतों की अनुमति वाली सूची बनानी होगी. इस बड़ी सूची को नियमित तौर पर अपडेट किया जाता है. हमारा सुझाव है कि आप नियम तय करते हैं. इस वजह से समस्याएं हुईं फ़ायरवॉल आईपी पाबंदियां, अक्सर रुक-रुककर काम करती हैं. इनका पता लगाना मुश्किल होता है.

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

खुलने के लिए टीसीपी पोर्ट:

  • 5228
  • 5229
  • 5230
  • 443

खोलने के लिए होस्टनेम:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com

नेटवर्क ऐड्रेस ट्रांसलेशन और/या स्टेटफ़ुल पैकेट इंस्पेक्शन फ़ायरवॉल:

अगर आपका नेटवर्क, नेटवर्क अड्रेस ट्रांसलेशन (एनएटी) या स्टेटफ़ुल पैकेट लागू करता है जांच (एसपीआई), 30 मिनट या इससे ज़्यादा का टाइम आउट लागू करें पोर्ट नंबर 5228-5230 पर हमारे कनेक्शन के लिए. इससे हम भरोसेमंद जानकारी दे पाते हैं इससे आपके उपयोगकर्ताओं की बैटरी की खपत कम होगी और मोबाइल डिवाइस.

वीपीएन इंटरैक्शन और बायपासेबिलिटी

Firebase Cloud Messaging पुश मैसेज सेवा को पक्का करने के लिए कई तरीके अपनाता है फ़ोन से सर्वर का कनेक्शन विश्वसनीय होता है और उतनी बार ही उपलब्ध होता है किया जा सकता है. वीपीएन का इस्तेमाल करने की वजह से, यह काम और मुश्किल हो जाता है.

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

अलग-अलग वीपीएन के लिए, यह तय करने का तरीका अलग-अलग होगा कि वह ऐसा कर सकता है या नहीं बायपास किया जा सकता है. निर्देशों के लिए, अपने वीपीएन से जुड़े दस्तावेज़ देखें.

अगर वीपीएन को बायपास करने के लिए कॉन्फ़िगर नहीं किया गया है, तो Firebase Cloud Messaging सर्वर से कनेक्ट करने के लिए वीपीएन नेटवर्क का इस्तेमाल करना. इसका नतीजा यह हो सकता है कि वह समयावधि जिसमें मैसेज देर से दिखते हैं और बैटरी ज़्यादा चार्ज हो सकती है Cloud Messaging का इस्तेमाल, वीपीएन पर कनेक्शन बनाए रखने के लिए किया जाता है कनेक्शन.

क्रेडेंशियल

आपने FCM की कौनसी सुविधाएं लागू की हैं, इसके आधार पर आपको इनकी ज़रूरत पड़ सकती है नीचे दिए गए क्रेडेंशियल का इस्तेमाल करें:

प्रोजेक्ट आईडी आपके Firebase प्रोजेक्ट के लिए एक यूनीक आइडेंटिफ़ायर, जिसका इस्तेमाल FCM v1 एचटीटीपी एंडपॉइंट. यह मान है में उपलब्ध Firebase कंसोल सेटिंग पैनल.
रजिस्ट्रेशन टोकन

एक यूनीक टोकन स्ट्रिंग, जो हर क्लाइंट ऐप्लिकेशन इंस्टेंस की पहचान करती है. किसी एक डिवाइस और डिवाइस के लिए रजिस्ट्रेशन टोकन ज़रूरी है ग्रुप मैसेज सेवा. ध्यान दें कि रजिस्ट्रेशन टोकन किसी के साथ शेयर नहीं किए जाने चाहिए.

भेजने वाले का आईडी अपना Firebase प्रोजेक्ट बनाने के बाद, संख्याओं वाली एक खास वैल्यू बन जाती है, में उपलब्ध Firebase कंसोल का Cloud Messaging टैब सेटिंग पैनल. भेजने वाले के आईडी का इस्तेमाल, भेजने वाले के तौर पर जुड़ जाता है, जो क्लाइंट ऐप्लिकेशन पर मैसेज भेज सकता है.
ऐक्सेस टोकन कुछ समय के लिए उपलब्ध OAuth 2.0 टोकन, जो एचटीटीपी v1 को अनुरोध भेजने की अनुमति देता है एपीआई. यह टोकन उस सेवा खाते से जुड़ा है जिससे जुड़ा है आपका Firebase प्रोजेक्ट. ऐक्सेस टोकन बनाने और बदलने के लिए, में बताए गए चरण अनुरोध भेजने की अनुमति दें.
सर्वर कुंजी (**काम न करने वाले** लेगसी प्रोटोकॉल के लिए)

सर्वर पासकोड की मदद से अपने ऐप्लिकेशन सर्वर को Google सेवाओं को ऐक्सेस करने की अनुमति दें. इसमें, Firebase Cloud Messaging अब काम नहीं करता लेगसी प्रोटोकॉल इस्तेमाल किए जा सकते हैं.

अहम जानकारी: सर्वर कुंजी को कहीं भी शामिल न करें आपका क्लाइंट कोड. साथ ही, अपने ऐप सर्वर पर मिलेगा. Android, Apple प्लैटफ़ॉर्म, और ब्राउज़र कुंजियां अस्वीकार की गई हैं FCM.