डिवाइस ग्रुप मैसेजिंग की मदद से, एक ग्रुप में कई डिवाइस जोड़े जा सकते हैं. यह विषय के हिसाब से मैसेज भेजने की सुविधा की तरह ही है. हालांकि, इसमें पुष्टि करने की सुविधा भी शामिल होती है. इससे यह पक्का किया जाता है कि ग्रुप की सदस्यता सिर्फ़ आपके सर्वर मैनेज करें.
उदाहरण के लिए, अगर आपको अलग-अलग फ़ोन मॉडल पर अलग-अलग मैसेज भेजने हैं, तो आपके सर्वर, सही ग्रुप में रजिस्ट्रेशन जोड़ या हटा सकते हैं. साथ ही, हर ग्रुप को सही मैसेज भेज सकते हैं. डिवाइस ग्रुप मैसेजिंग, विषय के हिसाब से मैसेज भेजने की सुविधा से अलग है. इसकी वजह यह है कि इसमें डिवाइस ग्रुप को सीधे आपके ऐप्लिकेशन के बजाय, आपके सर्वर से मैनेज किया जाता है.
सूचना कुंजी के लिए, ज़्यादा से ज़्यादा 20 सदस्यों को शामिल किया जा सकता है.
डिवाइस ग्रुप मैनेज करना
किसी डिवाइस ग्रुप को मैसेज भेजने से पहले, आपको ये काम करने होंगे:
- हर उस डिवाइस के लिए रजिस्ट्रेशन टोकन पाना जिसे आपको ग्रुप में जोड़ना है.
notification_keyबनाना. इससे डिवाइस ग्रुप की पहचान होती है. इसके लिए, किसी खास ग्रुप (आम तौर पर, कोई उपयोगकर्ता) को ग्रुप से जुड़े सभी रजिस्ट्रेशन टोकन से मैप किया जाता है. ऐप्लिकेशन सर्वर पर सूचना कुंजियां बनाई जा सकती हैं.
डिवाइस ग्रुप को मैनेज करने के लिए, एचटीटीपी v1 एपीआई का इस्तेमाल किया जाता है. इसमें ग्रुप बनाना, हटाना, और डिवाइसों को जोड़ना या हटाना शामिल है. साथ ही, मैसेज भेजने के अनुरोधों की पुष्टि करने के लिए, कम समय के लिए मान्य टोकन का इस्तेमाल किया जाता है. मान्य कुंजियों की सूची देखने के लिए, डिवाइस ग्रुप को मैनेज करने वाली कुंजियां लेख पढ़ें.
ऐप्लिकेशन सर्वर पर डिवाइस ग्रुप मैनेज करना
डिवाइस ग्रुप बनाना
डिवाइस ग्रुप बनाने के लिए, POST अनुरोध भेजें. इसमें ग्रुप का नाम और डिवाइसों के लिए रजिस्ट्रेशन टोकन की सूची शामिल होनी चाहिए. FCM नया notification_key दिखाता है. यह डिवाइस ग्रुप को दिखाता है.
एचटीटीपी POST अनुरोध
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 अनुरोध भेजें. साथ ही, जोड़ने या हटाने के लिए रजिस्ट्रेशन टोकन उपलब्ध कराएं.
एचटीटीपी POST अनुरोध
उदाहरण के लिए, appUser-Chris में bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1... रजिस्ट्रेशन टोकन वाला डिवाइस जोड़ने के लिए, यह अनुरोध भेजें:
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": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
जवाब का फ़ॉर्मैट
डिवाइस जोड़ने या हटाने का अनुरोध पूरा होने पर, इस तरह का notification_key मिलता है:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
डिवाइस ग्रुप को मैनेज करने वाली कुंजियां
यहां दी गई टेबल में, डिवाइस ग्रुप बनाने और सदस्यों को जोड़ने या हटाने के लिए कुंजियां दी गई हैं.
| पैरामीटर | इस्तेमाल | ब्यौरा |
|---|---|---|
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