डिवाइस ग्रुप में मैसेज भेजें

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

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

सूचना कुंजी के लिए, ज़्यादा से ज़्यादा 20 सदस्यों को अनुमति दी जा सकती है.

डिवाइस ग्रुप मैनेज करना

डिवाइस ग्रुप को मैसेज भेजने से पहले, आपको ये काम करने होंगे:

  1. आपको जिन डिवाइसों को ग्रुप में जोड़ना है उनके लिए रजिस्ट्रेशन टोकन पाएं.
  2. notification_key बनाएं. यह डिवाइस ग्रुप की पहचान करता है. इसके लिए, किसी ग्रुप (आम तौर पर उपयोगकर्ता) को ग्रुप से जुड़े सभी रजिस्ट्रेशन टोकन से मैप किया जाता है. ऐप्लिकेशन सर्वर पर सूचना कुंजियां बनाई जा सकती हैं.

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

ऐप्लिकेशन सर्वर पर डिवाइस ग्रुप मैनेज करना

डिवाइस ग्रुप बनाना

डिवाइस ग्रुप बनाने के लिए, एक 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
{}

किसी सूचना कुंजी के नाम के लिए किए गए हर जीईटी अनुरोध पर, सर्वर एक यूनीक एन्कोड की गई स्ट्रिंग दिखाता है. हालांकि, हर स्ट्रिंग अलग कुंजी के तौर पर दिख सकती है, लेकिन यह असल में एक मान्य notification_key वैल्यू है.

डिवाइस ग्रुप के लिए FCM टोकन वापस लाए जा रहे हैं

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

https://fcm.googleapis.com/fcm/notification?notification_key=APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ
Content-Type:application/json
access_token_auth: true
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
project_id:SENDER_ID
{}

जवाब ऐसा दिखता है:

{
   "notification_key_name": "appUser-Chris",
   "registration_ids": ["token1", "token2"]
}

डिवाइस ग्रुप में डिवाइसों को जोड़ना और हटाना

किसी मौजूदा ग्रुप में डिवाइस जोड़ने या हटाने के लिए, operation पैरामीटर को add या remove पर सेट करके POST अनुरोध भेजें. साथ ही, डिवाइस जोड़ने या हटाने के लिए रजिस्ट्रेशन टोकन दें.

एचटीटीपी पीओएसटी अनुरोध

उदाहरण के लिए, अगर आपको रजिस्ट्रेशन टोकन bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1... वाले डिवाइस को appUser-Chris में जोड़ना है, तो यह अनुरोध भेजें:

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