इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

Android पर डिवाइस समूहों को संदेश भेजें

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

आप अपने ऐप सर्वर पर विरासत XMPP या HTTP प्रोटोकॉल के माध्यम से डिवाइस समूह संदेश का उपयोग कर सकते हैं। विरासत प्रोटोकॉल के आधार पर Node.js के लिए Firebase Admin SDK, डिवाइस समूह मैसेजिंग क्षमताओं को भी प्रदान करता है। एक अधिसूचना कुंजी के लिए अनुमत सदस्यों की अधिकतम संख्या 20 है।

डिवाइस समूहों का प्रबंधन

डिवाइस समूह को संदेश भेजने से पहले, आपको यह करना होगा:

  1. समूह में जोड़ना चाहते हैं प्रत्येक डिवाइस के लिए पंजीकरण टोकन प्राप्त करें।

  2. notification_key बनाएँ, जो समूह के संबद्ध पंजीकरण टोकन के सभी के लिए एक विशेष समूह (आमतौर पर एक उपयोगकर्ता) को मैप करके डिवाइस समूह की पहचान करता है। आप ऐप सर्वर या एंड्रॉइड क्लाइंट ऐप पर नोटिफिकेशन की बना सकते हैं।

डिवाइस समूहों का मूल प्रबंधन - समूह बनाना और निकालना, और उपकरणों को जोड़ना या निकालना - आमतौर पर ऐप सर्वर के माध्यम से किया जाता है। समर्थित कुंजियों की सूची के लिए विरासत HTTP प्रोटोकॉल संदर्भ देखें।

वैकल्पिक रूप से, एंड्रॉइड क्लाइंट ऐप क्लाइंट साइड से डिवाइस समूहों का प्रबंधन कर सकते हैं।

ऐप सर्वर पर डिवाइस समूहों का प्रबंधन

डिवाइस समूह बनाना

डिवाइस समूह बनाने के लिए, एक POST अनुरोध भेजें जो समूह के लिए एक नाम और उपकरणों के लिए पंजीकरण टोकन की एक सूची प्रदान करता है। FCM एक नया notification_key देता है जो डिवाइस समूह का प्रतिनिधित्व करता है।

HTTP पोस्ट अनुरोध

निम्नलिखित जैसे अनुरोध भेजें https://fcm.googleapis.com/fcm/notification :

https://fcm.googleapis.com/fcm/notification
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID

{
   "operation": "create",
   "notification_key_name": "appUser-Chris",
   "registration_ids": ["4", "8", "15", "16", "23", "42"]
}

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
Authorization:key=API_KEY
project_id:SENDER_ID
{}

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

डिवाइस समूह से उपकरणों को जोड़ना और निकालना

किसी मौजूदा समूह से उपकरणों को add या remove , add या remove लिए निर्धारित operation पैरामीटर के साथ एक POST अनुरोध भेजें और इसके अलावा या हटाने के लिए पंजीकरण टोकन प्रदान करें।

HTTP पोस्ट अनुरोध

उदाहरण के लिए, appUser-Chris में पंजीकरण आईडी 51 के साथ एक उपकरण जोड़ने के लिए, आप यह अनुरोध भेजेंगे:

{
   "operation": "add",
   "notification_key_name": "appUser-Chris",
   "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
   "registration_ids": ["51"]
}

प्रतिक्रिया स्वरूप

डिवाइस को जोड़ने या हटाने का एक सफल अनुरोध निम्नलिखित की तरह एक notification_key देता है:

{
   "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}

डिवाइस समूहों में डाउनस्ट्रीम संदेश भेजना

एक उपकरण समूह में संदेश भेजना एक व्यक्तिगत डिवाइस पर संदेश भेजने के समान है। सेट to डिवाइस समूह के लिए अद्वितीय अधिसूचना कुंजी करने के लिए पैरामीटर। पेलोड समर्थन पर विवरण के लिए संदेश प्रकार देखें। इस पृष्ठ के उदाहरण बताते हैं कि HTTP और XMPP प्रोटोकॉल में डिवाइस समूहों को डेटा संदेश कैसे भेजें।

डिवाइस समूह HTTP POST अनुरोध

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{
  "to": "aUniqueKey",
  "data": {
    "hello": "This is a Firebase Cloud Messaging Device Group Message!",
   }
}

डिवाइस ग्रुप HTTP रिस्पांस

यहां "सफलता" का एक उदाहरण दिया गया है - notification_key में 2 पंजीकरण टोकन हैं, और संदेश सफलतापूर्वक उन दोनों को भेजा गया था:

{
  "success": 2,
  "failure": 0
}

यहां "आंशिक सफलता" का एक उदाहरण दिया गया है - notification_key में 3 पंजीकरण टोकन हैं जो इसके साथ जुड़े हैं। संदेश केवल पंजीकरण टोकन में से 1 को सफलतापूर्वक भेजा गया था। प्रतिक्रिया संदेश उस पंजीकरण टोकन को सूचीबद्ध करता है जो संदेश प्राप्त करने में विफल रहा:

{
  "success":1,
  "failure":2,
  "failed_registration_ids":[
     "regId1",
     "regId2"
  ]
}

जब कोई मैसेज notification_key जुड़े एक या एक से अधिक पंजीकरण टोकन तक पहुंचाने में विफल रहता है, तो ऐप सर्वर को रिट्रीट के बीच बैकऑफ़ के साथ पुन: प्रयास करना चाहिए।

यदि सर्वर एक ऐसे उपकरण समूह को संदेश भेजने का प्रयास करता है जिसमें कोई सदस्य नहीं है, तो प्रतिक्रिया निम्न की तरह दिखती है, जिसमें 0 सफलता और 0 विफलता है:

{
  "success": 0,
  "failure": 0
}

डिवाइस समूह XMPP संदेश

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "to": "aUniqueKey",
      "message_id": "m-1366082849205" ,
      "data": {
          "hello":"This is a Firebase Cloud Messaging Device Group Message!"
      }
  }
  </gcm>
</message>

डिवाइस ग्रुप XMPP रिस्पांस

जब संदेश समूह में किसी एक डिवाइस पर सफलतापूर्वक भेजा जाता है, तो XMPP कनेक्शन सर्वर ACK के साथ प्रतिक्रिया करता है। यदि समूह में सभी डिवाइस पर भेजे गए सभी संदेश विफल हो जाते हैं, तो XMPP कनेक्शन सर्वर एक NACK के साथ प्रतिक्रिया करता है।

यहां "सफलता" का एक उदाहरण दिया गया है - notification_key में 3 पंजीकरण टोकन हैं, और संदेश सफलतापूर्वक उन सभी को भेजा गया था:

{
  "from": "aUniqueKey",
  "message_type": "ack",
  "success": 3,
  "failure": 0,
  "message_id": "m-1366082849205"
}

यहां "आंशिक सफलता" का एक उदाहरण दिया गया है - notification_key में 3 पंजीकरण टोकन हैं जो इसके साथ जुड़े हैं। संदेश केवल पंजीकरण टोकन में से 1 को सफलतापूर्वक भेजा गया था। प्रतिक्रिया संदेश उस पंजीकरण टोकन को सूचीबद्ध करता है जो संदेश प्राप्त करने में विफल रहा:

{
  "from": "aUniqueKey",
  "message_type": "ack",
  "success":1,
  "failure":2,
  "failed_registration_ids":[
     "regId1",
     "regId2"
  ]
}

जब FCM कनेक्शन सर्वर समूह में सभी उपकरणों को देने में विफल रहता है। ऐप सर्वर को एक नीक प्रतिक्रिया मिलेगी।

संदेश विकल्पों की पूरी सूची के लिए, अपने चुने हुए कनेक्शन सर्वर प्रोटोकॉल, HTTP या XMPP के लिए संदर्भ जानकारी देखें।