C++ এ ডিভাইস গ্রুপে বার্তা পাঠান

ডিভাইস গ্রুপ মেসেজিং আপনাকে একক গ্রুপে একাধিক ডিভাইস যোগ করতে দেয়। এটি বিষয় বার্তাপ্রেরণের অনুরূপ, তবে গোষ্ঠী সদস্যতা শুধুমাত্র আপনার সার্ভার দ্বারা পরিচালিত হয় তা নিশ্চিত করার জন্য প্রমাণীকরণ অন্তর্ভুক্ত। উদাহরণস্বরূপ, আপনি যদি বিভিন্ন ফোন মডেলে বিভিন্ন বার্তা পাঠাতে চান, তাহলে আপনার সার্ভারগুলি উপযুক্ত গোষ্ঠীগুলিতে নিবন্ধন যোগ/সরাতে এবং প্রতিটি গ্রুপে উপযুক্ত বার্তা পাঠাতে পারে৷ ডিভাইস গ্রুপ মেসেজিং টপিক মেসেজিং থেকে পৃথক যে এটিতে সরাসরি আপনার অ্যাপ্লিকেশনটির মধ্যে পরিবর্তে আপনার সার্ভারগুলি থেকে ডিভাইস গ্রুপগুলি পরিচালনা করা জড়িত।

একটি বিজ্ঞপ্তি কী-এর জন্য অনুমোদিত সদস্যের সর্বাধিক সংখ্যা হল 20 জন৷

ডিভাইস গ্রুপ পরিচালনা করা

একটি ডিভাইস গ্রুপে বার্তা পাঠানোর আগে, আপনাকে অবশ্যই:

  1. আপনি গ্রুপে যোগ করতে চান এমন প্রতিটি ডিভাইসের জন্য নিবন্ধন টোকেন পান।

  2. notification_key তৈরি করুন, যা গ্রুপের সমস্ত সম্পর্কিত নিবন্ধকরণ টোকেনগুলিতে একটি নির্দিষ্ট গোষ্ঠী (সাধারণত ব্যবহারকারী) ম্যাপ করে ডিভাইস গ্রুপকে চিহ্নিত করে। আপনি অ্যাপ সার্ভারে বিজ্ঞপ্তি কী তৈরি করতে পারেন।

ডিভাইস গোষ্ঠীগুলির প্রাথমিক পরিচালনা — গ্রুপ তৈরি করা এবং অপসারণ করা এবং ডিভাইসগুলি যোগ করা বা সরানো — HTTP v1 API-এর মাধ্যমে সঞ্চালিত হয়, অনুরোধ পাঠানোর অনুমোদনের জন্য স্বল্প-কালীন টোকেন ব্যবহার করে। সমর্থিত কীগুলির একটি তালিকার জন্য ডিভাইস গ্রুপ পরিচালনা কীগুলি দেখুন৷

অ্যাপ সার্ভারে ডিভাইস গ্রুপ পরিচালনা করা

একটি ডিভাইস গ্রুপ তৈরি করা হচ্ছে

একটি ডিভাইস গ্রুপ তৈরি করতে, একটি POST অনুরোধ পাঠান যা গ্রুপের জন্য একটি নাম এবং ডিভাইসগুলির জন্য নিবন্ধন টোকেনের একটি তালিকা প্রদান করে। FCM একটি নতুন notification_key প্রদান করে যা ডিভাইস গোষ্ঠীর প্রতিনিধিত্ব করে।

HTTP পোস্ট অনুরোধ

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` মান।

একটি ডিভাইস গ্রুপ থেকে ডিভাইস যোগ করা এবং সরানো

একটি বিদ্যমান গ্রুপ থেকে ডিভাইস যোগ করতে বা অপসারণ করতে, add বা remove জন্য operation প্যারামিটার সেট সহ একটি POST অনুরোধ পাঠান এবং সংযোজন বা অপসারণের জন্য নিবন্ধন টোকেন প্রদান করুন।

HTTP পোস্ট অনুরোধ

For example, to add a device with the registration token bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1... to appUser-Chris , you would send this request:

{
   "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 ডিভাইস গ্রুপ মুছে দেয়।

ডিভাইস গ্রুপে ডাউনস্ট্রিম বার্তা পাঠানো হচ্ছে

কোনও ডিভাইস গ্রুপে বার্তা প্রেরণ পাঠানো অনুরোধগুলি অনুমোদনের জন্য একই পদ্ধতি ব্যবহার করে একটি পৃথক ডিভাইসে বার্তা প্রেরণের সাথে খুব মিল। গ্রুপ বিজ্ঞপ্তি কী token ক্ষেত্র সেট করুন:

বিশ্রাম

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