FCM की मदद से, अपने क्लाइंट ऐप्लिकेशन को दो तरह के मैसेज भेजे जा सकते हैं:
- "डिसप्ले मैसेज" की तरह ही, सूचना वाले मैसेज को FCM SDK टूल अपने-आप मैनेज करता है. (
AndroidConfigV2वाले Android डिवाइस पर,RemoteNotificationका इस्तेमाल उन सभी मैसेज के लिए करें जो उपयोगकर्ता को दिखने वाली सूचना दिखाते हैं, ताकि वे बिना किसी देरी के डिलीवर हो जाएं. सूचनाएं अपने-आप दिखती हैं, भले ही ऐप्लिकेशन फ़ोरग्राउंड में हो या बैकग्राउंड में. हालांकि, अगर क्लाइंट कोड में सूचनाओं को सायलेंट किया गया है, तो वे नहीं दिखेंगी.) - डेटा मैसेज, जिन्हें क्लाइंट ऐप्लिकेशन मैनेज करता है.
सूचना वाले मैसेज में, उपयोगकर्ता को दिखने वाली कुंजियों का पहले से तय सेट होता है. साथ ही, इनमें वैकल्पिक डेटा पेलोड भी हो सकता है. वहीं, डेटा मैसेज में सिर्फ़ उपयोगकर्ता के तय किए गए कस्टम की-वैल्यू पेयर होते हैं. दोनों तरह के मैसेज के लिए, पेलोड का साइज़ ज़्यादा से ज़्यादा 4096 बाइट हो सकता है. हालांकि, Firebase कंसोल से मैसेज भेजने पर, 1,000 वर्णों की सीमा लागू होती है.
| परिस्थिति का इस्तेमाल करना | भेजने का तरीका | |
|---|---|---|
| सूचना का मैसेज | FCM SDK, असली उपयोगकर्ता के डिवाइसों पर क्लाइंट ऐप्लिकेशन की ओर से मैसेज दिखाता है. ऐसा तब होता है, जब क्लाइंट ऐप्लिकेशन बैकग्राउंड में चल रहा हो. अगर सूचना मिलने के समय ऐप्लिकेशन फ़ोरग्राउंड में चल रहा है, तो ऐप्लिकेशन का कोड यह तय करता है कि सूचना कैसे दिखेगी. |
|
| डेटा मैसेज | डेटा मैसेज को प्रोसेस करने की ज़िम्मेदारी क्लाइंट ऐप्लिकेशन की होती है. डेटा मैसेज में सिर्फ़ कस्टम की-वैल्यू पेयर होते हैं. इनमें रिज़र्व किए गए कुंजी के नाम नहीं होते (नीचे देखें). | Cloud Functions या अपने ऐप्लिकेशन सर्वर जैसे किसी भरोसेमंद प्लैटफ़ॉर्म पर, Firebase Admin SDK या एचटीटीपी v1 एपीआई का इस्तेमाल करें.
अनुरोध भेजने के लिए, data
कुंजी सेट करें.
|
सूचना वाले मैसेज का इस्तेमाल तब किया जा सकता है, जब आपको FCM SDK टूल से, सूचना को अपने-आप दिखाना हो. ऐसा तब होता है, जब आपका ऐप्लिकेशन बैकग्राउंड में चल रहा हो. FCM, वैकल्पिक डेटा पेलोड के साथ सूचना वाला मैसेज भेज सकता है. ऐसे मामलों में, FCM सूचना पेलोड दिखाता है और क्लाइंट ऐप्लिकेशन, डेटा पेलोड को मैनेज करता है.
डेटा मैसेज का इस्तेमाल तब किया जा सकता है, जब आपको अपने क्लाइंट ऐप्लिकेशन कोड की मदद से मैसेज प्रोसेस करने हों.
सूचना वाले मैसेज
Firebase कंसोल, Firebase Admin SDK या FCM HTTP v1 एपीआई का इस्तेमाल करके, सूचना वाले मैसेज भेजे जा सकते हैं. Firebase कंसोल, आंकड़ों के आधार पर A/B टेस्टिंग की सुविधा देता है. इससे आपको सूचनाओं को बेहतर बनाने में मदद मिलती है.
Firebase Admin SDK या FCM एचटीटीपी v1 एपीआई का इस्तेमाल करके सूचना वाले मैसेज भेजने के लिए, notification कुंजी को सूचना वाले मैसेज के कुंजी-वैल्यू विकल्पों के पहले से तय सेट के साथ सेट करें. आईएम ऐप्लिकेशन में सूचना मैसेज को फ़ॉर्मैट करने के लिए, इस उदाहरण का इस्तेमाल किया जा सकता है
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
जब ऐप्लिकेशन बैकग्राउंड में होता है, तब सूचना मैसेज, सूचना ट्रे में डिलीवर किए जाते हैं. फ़ोरग्राउंड में मौजूद ऐप्लिकेशन के लिए, मैसेज को कॉलबैक फ़ंक्शन मैनेज करता है.
सूचना वाले मैसेज बनाने के लिए, पहले से तय की गई कुंजियों की पूरी सूची देखने के लिए, FCM एचटीटीपी v1 एपीआई सूचना ऑब्जेक्ट के रेफ़रंस दस्तावेज़ देखें.
डेटा मैसेज
यह आप पर निर्भर करता है कि आपको अपनी पसंद की एन्क्रिप्शन स्कीम लागू करने के लिए, एफ़सीएम पेलोड data का इस्तेमाल कैसे करना है. पक्का करें कि आपने कस्टम की-वैल्यू पेयर में, रिज़र्व किए गए किसी भी शब्द का इस्तेमाल न किया हो. रिज़र्व किए गए शब्दों में from, message_type या google., gcm. या gcm.notification. से शुरू होने वाला कोई भी शब्द शामिल है.
यहां दिए गए उदाहरण में, टॉप-लेवल या सामान्य डेटा फ़ील्ड का इस्तेमाल दिखाया गया है. इसे मैसेज पाने वाले सभी प्लैटफ़ॉर्म पर क्लाइंट समझते हैं. हर प्लैटफ़ॉर्म पर, क्लाइंट ऐप्लिकेशन को कॉलबैक फ़ंक्शन में डेटा पेलोड मिलता है
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
वैकल्पिक डेटा पेलोड के साथ सूचना वाले मैसेज
आपके पास ऐसे सूचना मैसेज भेजने का विकल्प होता है जिनमें कस्टम की-वैल्यू पेयर का वैकल्पिक पेलोड शामिल हो. इसके लिए, प्रोग्राम के हिसाब से या Firebase कंसोल का इस्तेमाल किया जा सकता है. सूचना बनाने की सुविधा में, बेहतर विकल्प में जाकर, कस्टम डेटा फ़ील्ड का इस्तेमाल करें.
सूचना और डेटा पेलोड, दोनों वाले मैसेज मिलने पर ऐप्लिकेशन का व्यवहार इस बात पर निर्भर करता है कि ऐप्लिकेशन बैकग्राउंड में है या फ़ोरग्राउंड में. इसका मतलब है कि मैसेज मिलने के समय ऐप्लिकेशन चालू है या नहीं.
- बैकग्राउंड में होने पर, ऐप्लिकेशन को सूचना ट्रे में सूचना पेलोड मिलता है. साथ ही, उपयोगकर्ता के सूचना पर टैप करने पर ही, डेटा पेलोड को मैनेज किया जाता है.
- फ़ोरग्राउंड में होने पर, आपके ऐप्लिकेशन को एक मैसेज ऑब्जेक्ट मिलता है. इसमें दोनों पेलोड उपलब्ध होते हैं.
यहां JSON फ़ॉर्मैट में एक मैसेज दिया गया है. इसमें notification और data, दोनों कुंजियां शामिल हैं:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}