এই দস্তাবেজটি Firebase Cloud Messaging মাধ্যমে আপনার অ্যাপ সার্ভার থেকে ক্লায়েন্ট অ্যাপে বার্তা পাঠাতে ব্যবহৃত HTTP সিনট্যাক্সের একটি রেফারেন্স প্রদান করে।
লিগ্যাসি HTTP প্রোটোকল ব্যবহার করার সময়, আপনার অ্যাপ সার্ভারকে অবশ্যই সমস্ত HTTP অনুরোধ এই শেষ পয়েন্টে নির্দেশ করতে হবে:
https://fcm.googleapis.com/fcm/send
উপলব্ধ পরামিতি এবং বিকল্পগুলি নিম্নলিখিত বিস্তৃত বিভাগে পড়ে:
ডাউনস্ট্রিম বার্তা সিনট্যাক্স
এই বিভাগটি Firebase Cloud Messaging থেকে ডাউনস্ট্রিম মেসেজ পাঠানো এবং HTTP প্রতিক্রিয়া ব্যাখ্যা করার জন্য সিনট্যাক্স দেয়।
ডাউনস্ট্রিম HTTP বার্তা (JSON)
নিম্নলিখিত টেবিলটি HTTP JSON বার্তাগুলির লক্ষ্য, বিকল্প এবং পেলোড তালিকাভুক্ত করে৷
প্যারামিটার | ব্যবহার | বর্ণনা | |
---|---|---|---|
টার্গেট | |||
to | ঐচ্ছিক, স্ট্রিং | এই পরামিতি একটি বার্তা প্রাপক নির্দিষ্ট করে. মানটি হতে পারে একটি ডিভাইসের রেজিস্ট্রেশন টোকেন, একটি ডিভাইস গ্রুপের বিজ্ঞপ্তি কী, অথবা একটি একক বিষয় (প্রিফিক্সড | |
registration_ids | ঐচ্ছিক, স্ট্রিং এর অ্যারে | এই প্যারামিটারটি একটি মাল্টিকাস্ট বার্তার প্রাপককে নির্দিষ্ট করে, একাধিক নিবন্ধন টোকেনে পাঠানো একটি বার্তা। মানটি রেজিস্ট্রেশন টোকেনগুলির একটি অ্যারে হওয়া উচিত যেখানে মাল্টিকাস্ট বার্তা পাঠাতে হবে৷ অ্যারেতে কমপক্ষে 1টি এবং সর্বাধিক 1000টি নিবন্ধন টোকেন থাকতে হবে৷ একটি একক ডিভাইসে একটি বার্তা পাঠাতে, মাল্টিকাস্ট বার্তাগুলি শুধুমাত্র HTTP JSON ফর্ম্যাট ব্যবহার করে অনুমোদিত৷ | |
condition | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটার শর্তগুলির একটি যৌক্তিক অভিব্যক্তি নির্দিষ্ট করে যা বার্তা লক্ষ্য নির্ধারণ করে। সমর্থিত শর্ত: বিষয়, বিষয়গুলিতে "'yourTopic' হিসাবে ফর্ম্যাট করা হয়েছে"। এই মান কেস-সংবেদনশীল। সমর্থিত অপারেটর: | |
notification_key অবচয় | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি অবহেলিত। পরিবর্তে, বার্তা প্রাপকদের নির্দিষ্ট করতে | |
অপশন | |||
collapse_key | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি বার্তাগুলির একটি গোষ্ঠী সনাক্ত করে (যেমন, মনে রাখবেন যে বার্তাগুলি পাঠানো হবে তার কোন গ্যারান্টি নেই। দ্রষ্টব্য: যেকোন সময়ে সর্বাধিক 4টি ভিন্ন ধস কী অনুমোদিত। এর মানে হল যে FCM একই সাথে প্রতি ক্লায়েন্ট অ্যাপে 4টি ভিন্ন বার্তা সংরক্ষণ করতে পারে। আপনি যদি এই সংখ্যাটি অতিক্রম করেন, তাহলে কোন গ্যারান্টি নেই যে 4টি পতন কী FCM রাখবে৷ | |
priority | ঐচ্ছিক, স্ট্রিং | বার্তার অগ্রাধিকার নির্ধারণ করে। বৈধ মান হল "স্বাভাবিক" এবং "উচ্চ।" Apple প্ল্যাটফর্মে, এগুলি APN-এর অগ্রাধিকার 5 এবং 10-এর সাথে মিলে যায়। ডিফল্টরূপে, বিজ্ঞপ্তি বার্তাগুলি উচ্চ অগ্রাধিকারের সাথে পাঠানো হয়, এবং ডেটা বার্তাগুলি স্বাভাবিক অগ্রাধিকারের সাথে পাঠানো হয়। সাধারণ অগ্রাধিকার ক্লায়েন্ট অ্যাপের ব্যাটারি খরচ অপ্টিমাইজ করে এবং অবিলম্বে ডেলিভারির প্রয়োজন না হলে ব্যবহার করা উচিত। স্বাভাবিক অগ্রাধিকার সহ বার্তাগুলির জন্য, অ্যাপটি অনির্দিষ্ট বিলম্বের সাথে বার্তাটি পেতে পারে। উচ্চ অগ্রাধিকারের সাথে একটি বার্তা পাঠানো হলে, এটি অবিলম্বে পাঠানো হয় এবং অ্যাপটি একটি বিজ্ঞপ্তি প্রদর্শন করতে পারে। | |
content_available | ঐচ্ছিক, বুলিয়ান | Apple প্ল্যাটফর্মগুলিতে, APNs পেলোডে | |
mutable_content | ঐচ্ছিক, JSON বুলিয়ান | Apple প্ল্যাটফর্মে, APNs পেলোডে | |
time_to_live | ঐচ্ছিক, সংখ্যা | এই প্যারামিটারটি নির্দিষ্ট করে যে ডিভাইসটি অফলাইনে থাকলে কতক্ষণ (সেকেন্ডে) বার্তাটি FCM স্টোরেজে রাখা উচিত। সমর্থিত বেঁচে থাকার সর্বোচ্চ সময় হল 4 সপ্তাহ, এবং ডিফল্ট মান হল 4 সপ্তাহ৷ আরও তথ্যের জন্য, একটি বার্তার জীবনকাল সেট করা দেখুন। | |
restricted_package_ (শুধুমাত্র অ্যান্ড্রয়েড) | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি অ্যাপ্লিকেশনটির প্যাকেজ নাম নির্দিষ্ট করে যেখানে বার্তাটি পাওয়ার জন্য নিবন্ধন টোকেনগুলি অবশ্যই মিলতে হবে৷ | |
dry_run | ঐচ্ছিক, বুলিয়ান | এই প্যারামিটার, ডিফল্ট মান | |
পেলোড | |||
data | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বার্তার পেলোডের কাস্টম কী-মান জোড়া নির্দিষ্ট করে। উদাহরণস্বরূপ, অ্যাপল প্ল্যাটফর্মে, যদি বার্তাটি APN-এর মাধ্যমে পাঠানো হয়, তবে এটি কাস্টম ডেটা ক্ষেত্রগুলিকে প্রতিনিধিত্ব করে। যদি এটি FCM মাধ্যমে পাঠানো হয়, তাহলে এটি অ্যান্ড্রয়েডে, এর ফলে স্ট্রিং মান কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "google" বা "gcm" দিয়ে শুরু হওয়া কোনো শব্দ) হওয়া উচিত নয়। এই টেবিলে সংজ্ঞায়িত কোন শব্দ ব্যবহার করবেন না (যেমন স্ট্রিং ধরনের মান সুপারিশ করা হয়. আপনাকে অবজেক্ট বা অন্যান্য নন-স্ট্রিং ডেটা টাইপের (যেমন, পূর্ণসংখ্যা বা বুলিয়ান) স্ট্রিং-এ মান রূপান্তর করতে হবে। | |
notification | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বিজ্ঞপ্তি পেলোডের পূর্বনির্ধারিত, ব্যবহারকারী-দৃশ্যমান কী-মান জোড়া নির্দিষ্ট করে। বিস্তারিত জানার জন্য বিজ্ঞপ্তি পেলোড সমর্থন দেখুন। বিজ্ঞপ্তি বার্তা এবং ডেটা বার্তা বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য, বার্তার প্রকারগুলি দেখুন৷ যদি একটি বিজ্ঞপ্তি পেলোড প্রদান করা হয়, অথবা একটি Apple ডিভাইসে একটি বার্তার জন্য content_available বিকল্পটি true হিসাবে সেট করা হয়, তাহলে বার্তাটি APN-এর মাধ্যমে পাঠানো হয়, অন্যথায় এটি FCM মাধ্যমে পাঠানো হয়। |
বিজ্ঞপ্তি পেলোড সমর্থন
নিম্নলিখিত সারণীগুলি iOS এবং Android এর জন্য বিজ্ঞপ্তি বার্তা তৈরি করার জন্য উপলব্ধ পূর্বনির্ধারিত কীগুলির তালিকা করে৷
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
title | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির শিরোনাম। এই ক্ষেত্রটি ফোন এবং ট্যাবলেটে দৃশ্যমান নয়৷ |
body | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির মূল অংশের পাঠ্য। |
sound | ঐচ্ছিক, স্ট্রিং | ডিভাইসটি নোটিফিকেশন পাওয়ার সময় বাজানোর শব্দ। ক্লায়েন্ট অ্যাপের প্রধান বান্ডিলে বা অ্যাপের ডেটা কন্টেইনারের |
badge | ঐচ্ছিক, স্ট্রিং | হোম স্ক্রিনে অ্যাপ আইকনে ব্যাজের মান। নির্দিষ্ট না থাকলে, ব্যাজ পরিবর্তন করা হয় না। |
click_action | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর সাথে যুক্ত কর্ম বিজ্ঞপ্তিতে ক্লিক করুন। APNs পেলোডের |
subtitle | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির সাবটাইটেল। |
body_loc_key | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে বডি স্ট্রিংয়ের কী। APNs পেলোডে আরও তথ্যের জন্য পেলোড কী রেফারেন্স এবং আপনার দূরবর্তী বিজ্ঞপ্তিগুলির সামগ্রী স্থানীয়করণ দেখুন। |
body_loc_args | ঐচ্ছিক, স্ট্রিং হিসাবে JSON অ্যারে | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য APNs পেলোডে আরও তথ্যের জন্য পেলোড কী রেফারেন্স এবং আপনার দূরবর্তী বিজ্ঞপ্তিগুলির সামগ্রী স্থানীয়করণ দেখুন। |
title_loc_key | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর বর্তমান স্থানীয়করণে শিরোনাম পাঠ্যকে স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে শিরোনাম স্ট্রিংয়ের কী। APN-এর পেলোডে আরও তথ্যের জন্য পেলোড কী রেফারেন্স এবং আপনার দূরবর্তী বিজ্ঞপ্তিগুলির সামগ্রী স্থানীয়করণ দেখুন। |
title_loc_args | ঐচ্ছিক, স্ট্রিং হিসাবে JSON অ্যারে | শিরোনাম পাঠ্যকে ব্যবহারকারীর বর্তমান স্থানীয়করণে স্থানীয়করণ করতে ব্যবহার করতে APNs পেলোডে আরও তথ্যের জন্য পেলোড কী রেফারেন্স এবং আপনার দূরবর্তী বিজ্ঞপ্তিগুলির সামগ্রী স্থানীয়করণ দেখুন। |
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
title | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির শিরোনাম। |
body | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির মূল অংশের পাঠ্য। |
android_channel_id | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির চ্যানেল আইডি (Android O তে নতুন)। এই চ্যানেল আইডি সহ কোনও বিজ্ঞপ্তি পাওয়ার আগে অ্যাপটিকে অবশ্যই এই চ্যানেল আইডি সহ একটি চ্যানেল তৈরি করতে হবে। আপনি অনুরোধে এই চ্যানেল আইডি না পাঠালে বা প্রদত্ত চ্যানেল আইডিটি এখনও অ্যাপ তৈরি না করে থাকলে, FCM অ্যাপ ম্যানিফেস্টে উল্লেখ করা চ্যানেল আইডি ব্যবহার করে। |
icon | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির আইকন। অঙ্কনযোগ্য রিসোর্স |
sound | ঐচ্ছিক, স্ট্রিং | ডিভাইসটি নোটিফিকেশন পাওয়ার সময় বাজানোর শব্দ। |
tag | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তি ড্রয়ারে বিদ্যমান বিজ্ঞপ্তিগুলি প্রতিস্থাপন করতে ব্যবহৃত সনাক্তকারী৷ নির্দিষ্ট না থাকলে, প্রতিটি অনুরোধ একটি নতুন বিজ্ঞপ্তি তৈরি করে। যদি নির্দিষ্ট করা থাকে এবং একই ট্যাগ সহ একটি বিজ্ঞপ্তি ইতিমধ্যেই দেখানো হচ্ছে, নতুন বিজ্ঞপ্তিটি বিজ্ঞপ্তি ড্রয়ারে বিদ্যমান একটিকে প্রতিস্থাপন করে। |
color | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির আইকনের রঙ, |
click_action | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর সাথে যুক্ত কর্ম বিজ্ঞপ্তিতে ক্লিক করুন। নির্দিষ্ট করা থাকলে, ব্যবহারকারী যখন বিজ্ঞপ্তিতে ক্লিক করেন তখন একটি ম্যাচিং ইনটেন্ট ফিল্টার সহ একটি কার্যকলাপ চালু হয়। |
body_loc_key | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে বডি স্ট্রিংয়ের কী। আরও তথ্যের জন্য স্ট্রিং সম্পদ দেখুন। |
body_loc_args | ঐচ্ছিক, স্ট্রিং হিসাবে JSON অ্যারে | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য আরও তথ্যের জন্য বিন্যাস এবং স্টাইলিং দেখুন। |
title_loc_key | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর বর্তমান স্থানীয়করণে শিরোনাম পাঠ্যকে স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে শিরোনাম স্ট্রিংয়ের কী। আরও তথ্যের জন্য স্ট্রিং সম্পদ দেখুন। |
title_loc_args | ঐচ্ছিক, স্ট্রিং হিসাবে JSON অ্যারে | শিরোনাম পাঠ্যকে ব্যবহারকারীর বর্তমান স্থানীয়করণে স্থানীয়করণ করতে ব্যবহার করতে আরও তথ্যের জন্য বিন্যাস এবং স্টাইলিং দেখুন। |
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
title | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির শিরোনাম। |
body | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির মূল অংশের পাঠ্য। |
icon | ঐচ্ছিক, স্ট্রিং | বিজ্ঞপ্তির আইকনের জন্য ব্যবহার করার জন্য URL। |
click_action | ঐচ্ছিক, স্ট্রিং | ব্যবহারকারীর সাথে যুক্ত কর্ম বিজ্ঞপ্তিতে ক্লিক করুন। সমস্ত URL মানগুলির জন্য, HTTPS প্রয়োজন৷ |
ডাউনস্ট্রিম HTTP বার্তা (প্লেইন টেক্সট)
নিম্নোক্ত সারণীতে টার্গেট, অপশন এবং প্লেলোডের জন্য সিনট্যাক্স তালিকাভুক্ত করা হয়েছে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
টার্গেট | ||
registration_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি বার্তা গ্রহণকারী ক্লায়েন্ট অ্যাপস (রেজিস্ট্রেশন টোকেন) নির্দিষ্ট করে। মাল্টিকাস্ট মেসেজিং (একাধিক রেজিস্ট্রেশন টোকেনে পাঠানো) শুধুমাত্র HTTP JSON ফর্ম্যাট ব্যবহার করে অনুমোদিত। |
অপশন | ||
collapse_key | ঐচ্ছিক, স্ট্রিং | বিস্তারিত জানার জন্য টেবিল 1 দেখুন। |
time_to_live | ঐচ্ছিক, সংখ্যা | বিস্তারিত জানার জন্য টেবিল 1 দেখুন। |
restricted_package_name | ঐচ্ছিক, স্ট্রিং | বিস্তারিত জানার জন্য টেবিল 1 দেখুন। |
dry_run | ঐচ্ছিক, বুলিয়ান | বিস্তারিত জানার জন্য টেবিল 1 দেখুন। |
পেলোড | ||
data.<key> | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি বার্তার পেলোডের কী-মান জোড়া নির্দিষ্ট করে। কী-মানের প্যারামিটারের সংখ্যার কোনো সীমা নেই, তবে 4096 বাইটের মোট বার্তা আকারের সীমা রয়েছে। উদাহরণস্বরূপ, অ্যান্ড্রয়েডে, কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "google" বা "gcm" দিয়ে শুরু হওয়া কোনো শব্দ) হওয়া উচিত নয়। এই টেবিলে সংজ্ঞায়িত কোন শব্দ ব্যবহার করবেন না (যেমন |
একটি নিম্নধারার বার্তা প্রতিক্রিয়া ব্যাখ্যা করা
FCM থেকে প্রেরিত বার্তার প্রতিক্রিয়া ব্যাখ্যা করতে অ্যাপ সার্ভারের বার্তা প্রতিক্রিয়া শিরোনাম এবং মূল অংশ উভয়ই মূল্যায়ন করা উচিত। নিম্নলিখিত সারণী সম্ভাব্য প্রতিক্রিয়া বর্ণনা করে।
প্রতিক্রিয়া | বর্ণনা |
---|---|
200 | বার্তা সফলভাবে প্রক্রিয়া করা হয়েছে. প্রতিক্রিয়া বডিতে বার্তার স্থিতি সম্পর্কে আরও বিশদ বিবরণ থাকবে, তবে অনুরোধটি JSON বা প্লেইন টেক্সট কিনা তা নির্ভর করবে এর বিন্যাস। আরও বিস্তারিত জানার জন্য টেবিল 5 দেখুন। |
400 | শুধুমাত্র JSON অনুরোধের জন্য প্রযোজ্য। নির্দেশ করে যে অনুরোধটি JSON হিসাবে পার্স করা যায়নি, বা এতে অবৈধ ক্ষেত্র রয়েছে (উদাহরণস্বরূপ, একটি স্ট্রিং পাস করা যেখানে একটি সংখ্যা প্রত্যাশিত ছিল)। সঠিক ব্যর্থতার কারণটি প্রতিক্রিয়াতে বর্ণনা করা হয়েছে এবং অনুরোধটি পুনরায় চেষ্টা করার আগে সমস্যার সমাধান করা উচিত। |
401 | প্রেরকের অ্যাকাউন্ট প্রমাণীকরণে একটি ত্রুটি ছিল৷ |
5xx | 500-599 পরিসরে ত্রুটিগুলি (যেমন 500 বা 503) নির্দেশ করে যে অনুরোধটি প্রক্রিয়া করার চেষ্টা করার সময় FCM ব্যাকএন্ডে একটি অভ্যন্তরীণ ত্রুটি ছিল, বা সার্ভারটি সাময়িকভাবে অনুপলব্ধ (উদাহরণস্বরূপ, সময় শেষ হওয়ার কারণে)৷ প্রেরককে অবশ্যই পরে পুনরায় চেষ্টা করতে হবে, প্রতিক্রিয়াতে অন্তর্ভুক্ত যেকোনো Retry-After শিরোনামকে সম্মান করে। অ্যাপ্লিকেশন সার্ভারগুলিকে অবশ্যই সূচকীয় ব্যাক-অফ প্রয়োগ করতে হবে। |
নিচের সারণীটি একটি ডাউনস্ট্রিম মেসেজ রেসপন্স বডি (JSON) এর ক্ষেত্রগুলিকে তালিকাভুক্ত করে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
multicast_id | প্রয়োজন, নম্বর | মাল্টিকাস্ট বার্তা সনাক্তকারী অনন্য আইডি (সংখ্যা)। |
success | প্রয়োজন, নম্বর | কোনো ত্রুটি ছাড়াই প্রসেস করা বার্তার সংখ্যা। |
failure | প্রয়োজন, নম্বর | প্রসেস করা যায়নি এমন বার্তার সংখ্যা। |
results | প্রয়োজনীয়, অবজেক্টের অ্যারে | প্রসেস করা বার্তাগুলির অবস্থার প্রতিনিধিত্বকারী বস্তুর অ্যারে। বস্তুগুলি অনুরোধের মতো একই ক্রমে তালিকাভুক্ত করা হয়েছে (অর্থাৎ, অনুরোধে প্রতিটি নিবন্ধকরণ আইডির জন্য, এর ফলাফল প্রতিক্রিয়াতে একই সূচকে তালিকাভুক্ত করা হয়েছে)।
|
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
message_id | ঐচ্ছিক, সংখ্যা | বিষয় বার্তা ID যখন FCM সফলভাবে অনুরোধটি পেয়েছে এবং সমস্ত সদস্যতা নেওয়া ডিভাইসে বিতরণ করার চেষ্টা করবে। |
error | ঐচ্ছিক, স্ট্রিং | বার্তা প্রক্রিয়া করার সময় যে ত্রুটি ঘটেছে. সম্ভাব্য মানগুলি সারণি 9 এ পাওয়া যাবে। |
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি নির্দিষ্ট করে অনন্য বার্তা ID FCM সফলভাবে প্রক্রিয়া করা হয়েছে। |
registration_id | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি ক্লায়েন্ট অ্যাপের জন্য নিবন্ধন টোকেন নির্দিষ্ট করে যে বার্তাটি প্রক্রিয়া করা হয়েছিল এবং পাঠানো হয়েছিল৷ |
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
Error | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি প্রাপকের জন্য বার্তাটি প্রক্রিয়া করার সময় ত্রুটির মান নির্দিষ্ট করে। বিস্তারিত জানার জন্য টেবিল 9 দেখুন। |
ডাউনস্ট্রিম বার্তা ত্রুটি প্রতিক্রিয়া কোড
নিচের সারণীটি ডাউনস্ট্রিম বার্তাগুলির জন্য ত্রুটি প্রতিক্রিয়া কোডগুলি তালিকাভুক্ত করে৷
ত্রুটি | HTTP কোড | প্রস্তাবিত কর্ম |
---|---|---|
অনুপস্থিত নিবন্ধন টোকেন | 200 + ত্রুটি: অনুপস্থিত নিবন্ধন | অনুরোধে একটি রেজিস্ট্রেশন টোকেন আছে কিনা পরীক্ষা করুন (একটি প্লেইন টেক্সট মেসেজে registration_id বা JSON-এ to বা registration_ids ক্ষেত্রে)। |
অবৈধ রেজিস্ট্রেশন টোকেন | 200 + ত্রুটি: অবৈধ নিবন্ধন | আপনি সার্ভারে যে নিবন্ধন টোকেন পাস করেন তার বিন্যাস পরীক্ষা করুন। নিশ্চিত করুন যে এটি রেজিস্ট্রেশন টোকেনের সাথে মেলে যে ক্লায়েন্ট অ্যাপটি Firebase নোটিফিকেশনের সাথে নিবন্ধন করার সময় পায়। ছোট করবেন না বা অতিরিক্ত অক্ষর যোগ করবেন না। |
অনিবন্ধিত ডিভাইস | 200 + ত্রুটি: নিবন্ধিত নয় | একটি বিদ্যমান নিবন্ধন টোকেন বিভিন্ন পরিস্থিতিতে বৈধ না হতে পারে, যার মধ্যে রয়েছে:
|
অবৈধ প্যাকেজের নাম | 200 + ত্রুটি: অবৈধ প্যাকেজ নাম | নিশ্চিত করুন যে বার্তাটি একটি রেজিস্ট্রেশন টোকেনে সম্বোধন করা হয়েছে যার প্যাকেজের নাম অনুরোধে পাস করা মানের সাথে মেলে। |
প্রমাণীকরণ ত্রুটি | 401 | একটি বার্তা পাঠাতে ব্যবহৃত প্রেরকের অ্যাকাউন্টটি প্রমাণীকরণ করা যায়নি৷ সম্ভাব্য কারণগুলি হল:
|
মেলেনি প্রেরক | 200 + ত্রুটি: MismatchSenderId | একটি নিবন্ধন টোকেন প্রেরকদের একটি নির্দিষ্ট গোষ্ঠীর সাথে আবদ্ধ। যখন একটি ক্লায়েন্ট অ্যাপ FCM জন্য নিবন্ধন করে, তখন এটি অবশ্যই উল্লেখ করবে যে কোন প্রেরকদের বার্তা পাঠানোর অনুমতি দেওয়া হয়েছে। ক্লায়েন্ট অ্যাপে বার্তা পাঠানোর সময় আপনার সেই প্রেরক আইডিগুলির মধ্যে একটি ব্যবহার করা উচিত। আপনি যদি অন্য প্রেরকের কাছে যান, বিদ্যমান নিবন্ধন টোকেনগুলি কাজ করবে না৷ |
অবৈধ JSON | 400 | JSON বার্তাটি সঠিকভাবে ফরম্যাট করা হয়েছে এবং বৈধ ক্ষেত্র রয়েছে তা পরীক্ষা করুন (উদাহরণস্বরূপ, সঠিক ডেটা টাইপ পাস করা হয়েছে তা নিশ্চিত করুন)। |
অবৈধ পরামিতি | 400 + ত্রুটি: অবৈধ প্যারামিটার | প্রদত্ত পরামিতিগুলির সঠিক নাম এবং প্রকার রয়েছে তা পরীক্ষা করুন৷ |
বার্তা খুব বড় | 200 + ত্রুটি: MessageTooBig | একটি বার্তায় অন্তর্ভুক্ত পেলোড ডেটার মোট আকার FCM সীমা অতিক্রম করে না তা পরীক্ষা করুন: বেশিরভাগ বার্তার জন্য 4096 বাইট, বা বিষয়গুলিতে বার্তাগুলির ক্ষেত্রে 2048 বাইট৷ এটি কী এবং মান উভয়ই অন্তর্ভুক্ত করে। |
অবৈধ ডেটা কী | 200 + ত্রুটি: InvalidDataKey | চেক করুন যে পেলোড ডেটাতে একটি কী (যেমন from , বা gcm , বা google দ্বারা উপসর্গযুক্ত কোনো মান) নেই যা FCM দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত হয়। মনে রাখবেন যে কিছু শব্দ (যেমন collapse_key ) FCM দ্বারাও ব্যবহৃত হয় কিন্তু পেলোডে অনুমোদিত, এই ক্ষেত্রে পেলোড মান FCM মান দ্বারা ওভাররাইড করা হবে। |
বেঁচে থাকার জন্য অবৈধ সময় | 200 + ত্রুটি: InvalidTtl | পরীক্ষা করুন যে time_to_live এ ব্যবহৃত মানটি 0 এবং 2,419,200 (4 সপ্তাহ) এর মধ্যে সেকেন্ডে একটি পূর্ণসংখ্যা উপস্থাপন করে। |
টাইমআউট | 5xx বা 200 + ত্রুটি: অনুপলব্ধ৷ | সার্ভার সময়মত অনুরোধ প্রক্রিয়া করতে পারেনি. একই অনুরোধ পুনরায় চেষ্টা করুন, কিন্তু আপনি অবশ্যই:
যেসব প্রেরক সমস্যা সৃষ্টি করে তাদের কালো তালিকাভুক্ত হওয়ার ঝুঁকি থাকে। |
অভ্যন্তরীণ সার্ভার ত্রুটি৷ | 500 বা 200 + ত্রুটি: অভ্যন্তরীণ সার্ভার ত্রুটি৷ | অনুরোধটি প্রক্রিয়া করার চেষ্টা করার সময় সার্ভার একটি ত্রুটির সম্মুখীন হয়েছে৷ আপনি "টাইমআউট" এ তালিকাভুক্ত প্রয়োজনীয়তা অনুসরণ করে একই অনুরোধ পুনরায় চেষ্টা করতে পারেন (উপরের সারি দেখুন)। যদি ত্রুটিটি থেকে যায়, অনুগ্রহ করে Firebase সহায়তার সাথে যোগাযোগ করুন। |
ডিভাইস বার্তা হার অতিক্রম | 200 + ত্রুটি: ডিভাইস মেসেজ রেট ছাড়িয়ে গেছে | একটি নির্দিষ্ট ডিভাইসে বার্তার হার খুব বেশি। যদি একটি Apple অ্যাপ APNs সীমা অতিক্রম করে বার্তা পাঠায়, তবে এটি এই ত্রুটি বার্তা পেতে পারে এই ডিভাইসে প্রেরিত বার্তার সংখ্যা হ্রাস করুন এবং পুনরায় পাঠানোর চেষ্টা করতে সূচকীয় ব্যাকঅফ ব্যবহার করুন৷ |
বিষয় বার্তা হার অতিক্রম | 200 + ত্রুটি: বিষয় মেসেজরেট ছাড়িয়ে গেছে | একটি নির্দিষ্ট বিষয়ে গ্রাহকদের বার্তার হার খুব বেশি। এই বিষয়ের জন্য প্রেরিত বার্তার সংখ্যা হ্রাস করুন এবং পুনরায় পাঠানোর চেষ্টা করতে সূচকীয় ব্যাকঅফ ব্যবহার করুন৷ |
অবৈধ APN শংসাপত্র | 200 + ত্রুটি: অবৈধApnsCredential | একটি Apple ডিভাইসে লক্ষ্য করা একটি বার্তা পাঠানো যায়নি কারণ প্রয়োজনীয় APN-এর প্রমাণীকরণ কী আপলোড করা হয়নি বা মেয়াদ শেষ হয়ে গেছে৷ আপনার উন্নয়ন এবং উত্পাদন শংসাপত্রের বৈধতা পরীক্ষা করুন. |
ডিভাইস গ্রুপ পরিচালনা
নিম্নলিখিত সারণীতে ডিভাইস গোষ্ঠী তৈরি এবং সদস্যদের যোগ এবং অপসারণের জন্য কীগুলি তালিকাভুক্ত করা হয়েছে। আরও তথ্যের জন্য, আপনার প্ল্যাটফর্ম, iOS+ বা Android এর জন্য নির্দেশিকা দেখুন।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
operation | প্রয়োজনীয়, স্ট্রিং | চালানোর জন্য অপারেশন। বৈধ মান create , add এবং remove । |
notification_key_name | প্রয়োজনীয়, স্ট্রিং | তৈরি বা পরিবর্তন করার জন্য ডিভাইস গ্রুপের ব্যবহারকারী-নির্ধারিত নাম। |
notification_key | প্রয়োজন ( create অপারেশন ছাড়া, স্ট্রিং | ডিভাইস গ্রুপের অনন্য শনাক্তকারী। এই মানটি একটি সফল create অপারেশনের প্রতিক্রিয়াতে ফেরত দেওয়া হয়, এবং ডিভাইস গ্রুপে পরবর্তী সমস্ত ক্রিয়াকলাপের জন্য প্রয়োজনীয়। |
registration_ids | প্রয়োজনীয়, স্ট্রিং এর অ্যারে | ডিভাইস যোগ বা অপসারণ টোকেন. আপনি যদি একটি ডিভাইস গ্রুপ থেকে সমস্ত বিদ্যমান রেজিস্ট্রেশন টোকেন মুছে ফেলেন, FCM ডিভাইস গ্রুপ মুছে দেয়। |