डिवाइस ग्रुप में मैसेज भेजने की सुविधा की मदद से, एक ग्रुप में कई डिवाइस जोड़े जा सकते हैं. यह विषय के हिसाब से मैसेज भेजने की सुविधा की तरह ही है. हालांकि, इसमें पुष्टि करने की सुविधा शामिल होती है. इससे यह पक्का किया जा सकता है कि ग्रुप की सदस्यता सिर्फ़ आपके सर्वर मैनेज करें. उदाहरण के लिए, अगर आपको अलग-अलग फ़ोन मॉडल पर अलग-अलग मैसेज भेजने हैं, तो आपके सर्वर, सही ग्रुप में रजिस्ट्रेशन जोड़/हटा सकते हैं. साथ ही, हर ग्रुप को सही मैसेज भेज सकते हैं. डिवाइस ग्रुप मैसेजिंग, विषय के हिसाब से मैसेजिंग से इस तरह अलग होती है कि इसमें सीधे तौर पर आपके ऐप्लिकेशन के बजाय, आपके सर्वर से डिवाइस ग्रुप मैनेज किए जाते हैं.
सूचना कुंजी के लिए, ज़्यादा से ज़्यादा 20 सदस्यों को अनुमति दी जा सकती है.
डिवाइस ग्रुप मैनेज करना
डिवाइस ग्रुप को मैसेज भेजने से पहले, आपको ये काम करने होंगे:
-
आपको जिन डिवाइसों को ग्रुप में जोड़ना है उनके लिए रजिस्ट्रेशन टोकन पाएं.
-
notification_key
बनाएं. यह डिवाइस ग्रुप की पहचान करता है. इसके लिए, किसी ग्रुप (आम तौर पर उपयोगकर्ता) को ग्रुप से जुड़े सभी रजिस्ट्रेशन टोकन से मैप किया जाता है. ऐप्लिकेशन सर्वर पर सूचना कुंजियां बनाई जा सकती हैं.
डिवाइस ग्रुप को मैनेज करने के बुनियादी काम, जैसे कि ग्रुप बनाना और हटाना, डिवाइस जोड़ना या हटाना, एचटीटीपी v1 API के ज़रिए किए जाते हैं. इसके लिए, कम समय के लिए मान्य टोकन का इस्तेमाल किया जाता है, ताकि भेजने के अनुरोधों को अनुमति दी जा सके. इस्तेमाल की जा सकने वाली कुंजियों की सूची देखने के लिए, डिवाइस ग्रुप को मैनेज करने की कुंजियां देखें.
ऐप्लिकेशन सर्वर पर डिवाइस ग्रुप मैनेज करना
डिवाइस ग्रुप बनाना
डिवाइस ग्रुप बनाने के लिए, एक POST अनुरोध भेजें. इसमें ग्रुप का नाम और डिवाइसों के लिए रजिस्ट्रेशन टोकन की सूची शामिल होनी चाहिए.
FCM, डिवाइस ग्रुप को दिखाने वाला नया notification_key
लौटाता है.
एचटीटीपी पोस्ट अनुरोध
https://fcm.googleapis.com/fcm/notification
को इस तरह का अनुरोध भेजें:
https://fcm.googleapis.com/fcm/notification Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID { "operation": "create", "notification_key_name": "appUser-Chris", "registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...", ... ]
notification_key_name
एक नाम या आइडेंटिफ़ायर होता है
(उदाहरण के लिए, यह उपयोगकर्ता नाम हो सकता है), जो किसी ग्रुप के लिए यूनीक होता है. notification_key_name
और notification_key
, रजिस्ट्रेशन टोकन के ग्रुप के लिए यूनीक होते हैं. अगर आपके पास एक ही सेंडर आईडी के लिए कई क्लाइंट ऐप्लिकेशन हैं, तो यह ज़रूरी है कि हर क्लाइंट ऐप्लिकेशन के लिए notification_key_name
यूनीक हो.
इससे यह पक्का होता है कि मैसेज सिर्फ़ टारगेट किए गए ऐप्लिकेशन पर जाएं.
जवाब का फ़ॉर्मैट
अनुरोध पूरा होने पर, इस तरह का notification_key
दिखता है:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
notification_key
और उससे जुड़ा notification_key_name
सेव करें, ताकि बाद की कार्रवाइयों में इनका इस्तेमाल किया जा सके.
सूचना कुंजी वापस पाना
अगर आपको किसी मौजूदा सूचना कुंजी को वापस पाना है, तो GET अनुरोध में notification_key_name
का इस्तेमाल करें. इसे यहां दिखाया गया है:
https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID {}
किसी सूचना कुंजी के नाम के लिए किए गए हर GET अनुरोध पर, सर्वर एक यूनीक कोड में बदली गई स्ट्रिंग दिखाता है. हालांकि, हर स्ट्रिंग अलग कुंजी के तौर पर दिख सकती है, लेकिन यह असल में `notification_key` की मान्य वैल्यू है.
किसी डिवाइस ग्रुप में डिवाइसों को जोड़ना और हटाना
किसी मौजूदा ग्रुप में डिवाइस जोड़ने या हटाने के लिए, operation
पैरामीटर को add
या remove
पर सेट करके POST अनुरोध भेजें. साथ ही, जोड़ने या हटाने के लिए रजिस्ट्रेशन टोकन दें.
एचटीटीपी पोस्ट अनुरोध
उदाहरण के लिए, अगर आपको रजिस्ट्रेशन टोकन bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
वाले डिवाइस को appUser-Chris
में जोड़ना है, तो यह अनुरोध भेजें:
{
"operation": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
जवाब का फ़ॉर्मैट
किसी डिवाइस को जोड़ने या हटाने का अनुरोध पूरा होने पर, इस तरह का notification_key
दिखता है:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
डिवाइस ग्रुप को मैनेज करने की कुंजियां
इस टेबल में, डिवाइस ग्रुप बनाने के साथ-साथ सदस्यों को जोड़ने और हटाने के लिए इस्तेमाल की जाने वाली कुंजियों की सूची दी गई है.
टेबल 10. डिवाइस ग्रुप को मैनेज करने के लिए इस्तेमाल किए जाने वाले कोड.
पैरामीटर | इस्तेमाल | ब्यौरा |
---|---|---|
operation |
ज़रूरी है, स्ट्रिंग | कार्रवाई को चलाने के लिए.मान्य वैल्यू create ,
add , और remove हैं. |
notification_key_name |
ज़रूरी है, स्ट्रिंग | डिवाइस ग्रुप का वह नाम जो उपयोगकर्ता ने तय किया है. इसका इस्तेमाल डिवाइस ग्रुप बनाने या उसमें बदलाव करने के लिए किया जाता है. |
notification_key |
ज़रूरी है (create ऑपरेशन को छोड़कर, स्ट्रिंग |
डिवाइस ग्रुप का यूनीक आइडेंटिफ़ायर. यह वैल्यू, create ऑपरेशन के पूरा होने पर रिस्पॉन्स में मिलती है. साथ ही, डिवाइस ग्रुप पर आगे के सभी ऑपरेशन के लिए इसकी ज़रूरत होती है. |
registration_ids |
ज़रूरी है, स्ट्रिंग का कलेक्शन | डिवाइस टोकन जोड़ने या हटाने के लिए. अगर किसी डिवाइस ग्रुप से सभी मौजूदा रजिस्ट्रेशन टोकन हटा दिए जाते हैं, तो FCM उस डिवाइस ग्रुप को मिटा देता है. |
डिवाइस ग्रुप को डाउनस्ट्रीम मैसेज भेजना
डिवाइस ग्रुप को मैसेज भेजने का तरीका, किसी डिवाइस को मैसेज भेजने के तरीके से काफ़ी मिलता-जुलता है. इसके लिए, भेजने के अनुरोधों को अनुमति देने के लिए एक ही तरीके का इस्तेमाल किया जाता है. token
फ़ील्ड को ग्रुप की सूचना कुंजी पर सेट करें:
REST
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1
Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
"message":{
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
}
}
}
cURL कमांड
curl -X POST -H "Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA" -H "Content-Type: application/json" -d '{
"message":{
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
},
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}}' https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send