वेब/JavaScript पर, डिवाइस ग्रुप को मैसेज भेजें

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

सूचना कुंजी वाले सदस्यों की संख्या ज़्यादा से ज़्यादा 20 हो सकती है.

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

किसी डिवाइस ग्रुप को मैसेज भेजने से पहले, ज़रूरी है कि:

  1. हर उस डिवाइस के लिए रजिस्ट्रेशन टोकन पाएं जिसे आपको जोड़ना है ग्रुप को भेज सकते हैं.

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

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

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

डिवाइस ग्रुप बनाया जा रहा है

डिवाइस ग्रुप बनाने के लिए, नाम के साथ पोस्ट करने का अनुरोध भेजें और डिवाइसों के लिए रजिस्ट्रेशन टोकन की सूची भी मिलेगी. 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.

सूचना कुंजी पुनर्प्राप्त करना

अगर आपको मौजूदा सूचना कुंजी को वापस पाना है, तो जीईटी अनुरोध में 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
{}

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

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

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

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

उदाहरण के लिए, रजिस्ट्रेशन टोकन वाला डिवाइस 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 डिवाइस ग्रुप को मिटा देता है.

डिवाइस ग्रुप को डाउनस्ट्रीम मैसेज भेजे जा रहे हैं

डिवाइस ग्रुप को मैसेज भेजने के लिए, एचटीटीपी v1 एपीआई का इस्तेमाल करें. अगर आप वर्तमान में के लिए काम न करने वाले लीगेसी 'भेजें एपीआई' का इस्तेमाल करके डिवाइस समूहों को भेजना HTTP या XMPP, या कोई भी पुराना वर्शन Node.js के लिए Firebase Admin SDK के हिसाब से फ़िल्टर किया गया है, तो हमारा सुझाव है कि आप एचटीटीपी v1 एपीआई पर माइग्रेट करें जल्द से जल्द. लेगसी 'भेजें' एपीआई इसे जून 2024 में बंद कर दिया जाएगा और हटा दिया जाएगा.

किसी डिवाइस ग्रुप को मैसेज भेजना, किसी डिवाइस ग्रुप को मैसेज भेजने जैसा है उसी तरीके से अनुरोध भेजने की अनुमति देना. 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