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

ডিভাইস গ্রুপ মেসেজিং আপনাকে একটি গ্রুপে একাধিক ডিভাইস যোগ করতে দেয়। এটি টপিক মেসেজিংয়ের মতোই, তবে এতে প্রমাণীকরণ অন্তর্ভুক্ত রয়েছে যাতে নিশ্চিত করা যায় যে গ্রুপ সদস্যপদ শুধুমাত্র আপনার সার্ভার দ্বারা পরিচালিত হয়।

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

একটি বিজ্ঞপ্তি কী ব্যবহারের জন্য অনুমোদিত সদস্যের সর্বোচ্চ সংখ্যা ২০ জন।

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

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

  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 or remove সেট করা operation প্যারামিটার সহ একটি POST অনুরোধ পাঠান এবং যোগ বা অপসারণের জন্য নিবন্ধন টোকেন সরবরাহ করুন।

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

উদাহরণস্বরূপ, appUser-Chris তে bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1... রেজিস্ট্রেশন টোকেন সহ একটি ডিভাইস যোগ করতে, আপনাকে এই অনুরোধটি পাঠাতে হবে:

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 ক্ষেত্রটি গ্রুপ বিজ্ঞপ্তি কীতে সেট করুন:

বিশ্রাম

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