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