डिवाइस ग्रुप मैसेज सेवा की मदद से, एक ही ग्रुप में कई डिवाइस जोड़े जा सकते हैं. यह विषय के मैसेज की तरह है. हालांकि, इसमें पुष्टि करने की सुविधा शामिल है, ताकि यह पक्का किया जा सके कि ग्रुप की सदस्यता को सिर्फ़ आपके सर्वर मैनेज करते हैं. उदाहरण के लिए, अगर आपको अलग-अलग फ़ोन मॉडल पर अलग-अलग मैसेज भेजना है, तो आपके सर्वर सही ग्रुप में रजिस्ट्रेशन जोड़/हटा सकते हैं और हर ग्रुप को सही मैसेज भेज सकते हैं. डिवाइस ग्रुप मैसेज, टॉपिक मैसेज सेवा से अलग है. इसमें डिवाइस ग्रुप को सीधे ऐप्लिकेशन से मैनेज करने के बजाय, सर्वर से मैनेज किया जाता है.
सूचना कुंजी वाले सदस्यों की संख्या ज़्यादा से ज़्यादा 20 हो सकती है.
डिवाइस ग्रुप मैनेज करना
किसी डिवाइस ग्रुप को मैसेज भेजने से पहले, ज़रूरी है कि:
-
हर उस डिवाइस के लिए रजिस्ट्रेशन टोकन पाएं जिसे आपको ग्रुप में जोड़ना है.
-
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
पर सेट
पोस्ट करने का अनुरोध भेजें. साथ ही, जोड़ने या हटाने के लिए रजिस्ट्रेशन टोकन दें.
एचटीटीपी पोस्ट अनुरोध
उदाहरण के लिए, appUser-Chris
में bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
रजिस्ट्रेशन टोकन वाले किसी डिवाइस को जोड़ने के लिए, आपको यह अनुरोध भेजना होगा:
{
"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 डिवाइस ग्रुप को मिटा देता है. |
डिवाइस ग्रुप को मैसेज भेजे जा रहे हैं
डिवाइस ग्रुप को मैसेज भेजने के लिए, एचटीटीपी v1 एपीआई का इस्तेमाल करें. अगर एचटीटीपी या XMPP या लेगसी प्रोटोकॉल पर आधारित Firebase के लिए Node.js के लिए Firebase एडमिन 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
डिवाइस ग्रुप को अपस्ट्रीम मैसेज भेजे जा रहे हैं
Apple के ऐप्लिकेशन पर डिवाइस ग्रुप को अपस्ट्रीम मैसेज भेजने के लिए, Apple के क्लाइंट ऐप्लिकेशन को FIRMessaging.sendMessage लागू करना होगा:
(void)sendMessage:(nonnull NSDictionary *)message to:(nonnull NSString *)receiver withMessageID:(nonnull NSString *)messageID timeToLive:(int64_t)ttl;