এই ডকুমেন্টটি আপনার অ্যাপ সার্ভার, ক্লায়েন্ট অ্যাপস এবং Firebase Cloud Messaging (FCM) এর মধ্যে বার্তা পাঠাতে ব্যবহৃত XMPP সিনট্যাক্সের জন্য একটি রেফারেন্স প্রদান করে। আপনার অ্যাপ সার্ভারকে অবশ্যই এই শেষ পয়েন্টগুলির সাথে সংযুক্ত করতে হবে:
// Production fcm-xmpp.googleapis.com:5235 // Testing fcm-xmpp.googleapis.com:5236
উপলব্ধ পরামিতি এবং বিকল্পগুলি এই বিভাগে পড়ে:
- ডাউনস্ট্রিম বার্তা সিনট্যাক্স
- ডাউনস্ট্রিম বার্তা ত্রুটি প্রতিক্রিয়া কোড
- আপস্ট্রিম বার্তা সিনট্যাক্স
- FCM নিয়ন্ত্রণ বার্তা
ডাউনস্ট্রিম বার্তা সিনট্যাক্স
এই বিভাগটি ডাউনস্ট্রিম বার্তা পাঠানোর জন্য সিনট্যাক্স দেয়।
ডাউনস্ট্রিম XMPP বার্তা (JSON)
নিম্নলিখিত সারণীটি XMPP JSON বার্তাগুলির লক্ষ্য, বিকল্প এবং পেলোড তালিকাভুক্ত করে৷
প্যারামিটার | ব্যবহার | বর্ণনা | |
---|---|---|---|
টার্গেট | |||
to | ঐচ্ছিক, স্ট্রিং | এই পরামিতি একটি বার্তা প্রাপক নির্দিষ্ট করে. মানটি হতে পারে একটি ডিভাইসের রেজিস্ট্রেশন টোকেন, একটি ডিভাইস গ্রুপের বিজ্ঞপ্তি কী, অথবা একটি একক বিষয় (প্রিফিক্সড | |
condition | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটার শর্তগুলির একটি যৌক্তিক অভিব্যক্তি নির্দিষ্ট করে যা বার্তা লক্ষ্য নির্ধারণ করে। সমর্থিত শর্ত: বিষয়, বিষয়গুলিতে "'yourTopic' হিসাবে ফর্ম্যাট করা হয়েছে"। এই মান কেস-সংবেদনশীল। সমর্থিত অপারেটর: | |
অপশন | |||
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি অনন্যভাবে একটি XMPP সংযোগে একটি বার্তা সনাক্ত করে। | |
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 সপ্তাহ৷ আরও তথ্যের জন্য, একটি বার্তার জীবনকাল সেট করা দেখুন। | |
dry_run | ঐচ্ছিক, বুলিয়ান | এই প্যারামিটার, ডিফল্ট মান | |
পেলোড | |||
data | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বার্তার পেলোডের কী-মান জোড়া নির্দিষ্ট করে। উদাহরণস্বরূপ, অ্যাপল প্ল্যাটফর্মে, যদি বার্তাটি APN দ্বারা বিতরণ করা হয় তবে এটি কাস্টম ডেটা ক্ষেত্রগুলিকে প্রতিনিধিত্ব করে। যদি এটি FCM দ্বারা বিতরণ করা হয়, তাহলে এটিকে অ্যান্ড্রয়েডে, এর ফলে স্ট্রিং মান কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "google" বা "gcm" দিয়ে শুরু হওয়া কোনো শব্দ) হওয়া উচিত নয়। এই টেবিলে সংজ্ঞায়িত কোন শব্দ ব্যবহার করবেন না (যেমন স্ট্রিং ধরনের মান সুপারিশ করা হয়. আপনাকে অবজেক্ট বা অন্যান্য নন-স্ট্রিং ডেটা টাইপের (যেমন, পূর্ণসংখ্যা বা বুলিয়ান) স্ট্রিং-এ মান রূপান্তর করতে হবে। | |
notification | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বিজ্ঞপ্তি পেলোডের পূর্বনির্ধারিত, ব্যবহারকারী-দৃশ্যমান কী-মান জোড়া নির্দিষ্ট করে। বিস্তারিত জানার জন্য বিজ্ঞপ্তি পেলোড সমর্থন দেখুন। বিজ্ঞপ্তি বার্তা এবং ডেটা বার্তা বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য, বার্তার প্রকারগুলি দেখুন৷ যদি একটি বিজ্ঞপ্তি পেলোড প্রদান করা হয়, অথবা একটি Apple ডিভাইসে একটি বার্তার জন্য content_available বিকল্পটি true হিসাবে সেট করা হয়, তাহলে বার্তাটি APN-এর মাধ্যমে পাঠানো হয়, অন্যথায় এটি FCM মাধ্যমে পাঠানো হয়। |
বিজ্ঞপ্তি পেলোড সমর্থন
অ্যাপল প্ল্যাটফর্ম এবং অ্যান্ড্রয়েডের জন্য বিজ্ঞপ্তি বার্তা তৈরির জন্য উপলব্ধ পূর্বনির্ধারিত কীগুলি নিম্নলিখিত সারণীগুলি তালিকাভুক্ত করে৷
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
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 প্রয়োজন৷ |
একটি ডাউনস্ট্রিম XMPP বার্তার প্রতিক্রিয়া ব্যাখ্যা করুন
নিচের সারণীটি ক্ষেত্রগুলির তালিকা করে যা একটি ডাউনস্ট্রিম XMPP বার্তা প্রতিক্রিয়াতে প্রদর্শিত হয়।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
from | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি নির্দিষ্ট করে কে এই প্রতিক্রিয়াটি পাঠিয়েছে৷ মান হল ক্লায়েন্ট অ্যাপের রেজিস্ট্রেশন টোকেন। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি অনন্যভাবে একটি XMPP সংযোগে একটি বার্তা সনাক্ত করে। মানটি একটি স্ট্রিং যা সংশ্লিষ্ট বার্তাটিকে অনন্যভাবে সনাক্ত করে। |
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি FCM থেকে অ্যাপ সার্ভারে একটি যদি মানটি |
error | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি ডাউনস্ট্রিম বার্তা সম্পর্কিত একটি ত্রুটি নির্দিষ্ট করে। এটি সেট করা হয় যখন message_type nack হয়। বিস্তারিত জানার জন্য টেবিল 4 দেখুন। |
error_description | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটার ত্রুটির জন্য বর্ণনামূলক তথ্য প্রদান করে। এটি সেট করা হয় যখন message_type nack হয়। |
ডাউনস্ট্রিম বার্তা ত্রুটি প্রতিক্রিয়া কোড
নিচের সারণীটি ডাউনস্ট্রিম বার্তাগুলির জন্য ত্রুটি প্রতিক্রিয়া কোডগুলি তালিকাভুক্ত করে৷
ত্রুটি | XMPP কোড | সুপারিশকৃত পদক্ষেপ |
---|---|---|
অনুপস্থিত নিবন্ধন টোকেন | INVALID_JSON | অনুরোধে একটি রেজিস্ট্রেশন টোকেন আছে কিনা পরীক্ষা করুন (একটি প্লেইন টেক্সট মেসেজে registration_id বা JSON-এ to বা registration_ids ক্ষেত্রে)। |
অবৈধ APN নিবন্ধন | INVALID_JSON | iOS রেজিস্ট্রেশনের জন্য, ক্লায়েন্টের রেজিস্ট্রেশনের অনুরোধে একটি বৈধ APN টোকেন এবং অ্যাপ্লিকেশন আইডি আছে কিনা পরীক্ষা করুন। |
অবৈধ রেজিস্ট্রেশন টোকেন | BAD_REGISTRATION | আপনি সার্ভারে যে নিবন্ধন টোকেন পাস করেন তার বিন্যাস পরীক্ষা করুন। নিশ্চিত করুন যে এটি FCM এর সাথে নিবন্ধন করার সময় ক্লায়েন্ট অ্যাপটি প্রাপ্ত নিবন্ধন টোকেনের সাথে মেলে৷ ছোট করবেন না বা অতিরিক্ত অক্ষর যোগ করবেন না। |
অনিবন্ধিত ডিভাইস | DEVICE_UNREGISTERED | একটি বিদ্যমান নিবন্ধন টোকেন বিভিন্ন পরিস্থিতিতে বৈধ না হতে পারে, যার মধ্যে রয়েছে:
|
মেলেনি প্রেরক | SENDER_ID_MISMATCH | একটি নিবন্ধন টোকেন প্রেরকদের একটি নির্দিষ্ট গোষ্ঠীর সাথে আবদ্ধ। যখন একটি ক্লায়েন্ট অ্যাপ FCM জন্য নিবন্ধন করে, তখন এটি অবশ্যই উল্লেখ করবে যে কোন প্রেরকদের বার্তা পাঠানোর অনুমতি দেওয়া হয়েছে। ক্লায়েন্ট অ্যাপে বার্তা পাঠানোর সময় আপনার সেই প্রেরক আইডিগুলির মধ্যে একটি ব্যবহার করা উচিত। আপনি যদি অন্য প্রেরকের কাছে যান, বিদ্যমান নিবন্ধন টোকেনগুলি কাজ করবে না৷ |
অবৈধ JSON | INVALID_JSON | JSON বার্তাটি সঠিকভাবে ফরম্যাট করা হয়েছে এবং বৈধ ক্ষেত্র রয়েছে তা পরীক্ষা করুন (উদাহরণস্বরূপ, সঠিক ডেটা টাইপ পাস করা হয়েছে তা নিশ্চিত করুন)। |
বার্তা খুব বড় | INVALID_JSON | একটি বার্তায় অন্তর্ভুক্ত পেলোড ডেটার মোট আকার FCM সীমা অতিক্রম করে না তা পরীক্ষা করুন: বেশিরভাগ বার্তার জন্য 4096 বাইট বা বিষয়গুলিতে বার্তাগুলির ক্ষেত্রে 2048 বাইট৷ এটি কী এবং মান উভয়ই অন্তর্ভুক্ত করে। |
অবৈধ ডেটা কী | INVALID_JSON | পরীক্ষা করুন যে পেলোড ডেটাতে একটি কী (যেমন from , gcm , বা google দ্বারা প্রিফিক্স করা কোনো মান) নেই যা FCM দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত হয়। মনে রাখবেন যে কিছু শব্দ (যেমন collapse_key ) FCM দ্বারাও ব্যবহৃত হয় কিন্তু পেলোডে অনুমোদিত হয়, এই ক্ষেত্রে পেলোড মান FCM মান দ্বারা ওভাররাইড করা হয়। |
বেঁচে থাকার জন্য অবৈধ সময় | INVALID_JSON | পরীক্ষা করুন যে time_to_live এ ব্যবহৃত মানটি 0 এবং 2,419,200 (4 সপ্তাহ) এর মধ্যে সেকেন্ডে একটি পূর্ণসংখ্যা উপস্থাপন করে। |
খারাপ ACK বার্তা | BAD_ACK | পুনরায় চেষ্টা করার আগে ack বার্তাটি সঠিকভাবে ফরম্যাট হয়েছে কিনা তা পরীক্ষা করুন। বিস্তারিত জানার জন্য টেবিল 6 দেখুন। |
টাইমআউট | SERVICE_UNAVAILABLE | সার্ভার সময়মত অনুরোধ প্রক্রিয়া করতে পারেনি. একই অনুরোধ পুনরায় চেষ্টা করুন, কিন্তু আপনি অবশ্যই:
দ্রষ্টব্য: সমস্যা সৃষ্টিকারী প্রেরকদের কালো তালিকাভুক্ত হওয়ার ঝুঁকি রয়েছে। |
অভ্যন্তরীণ সার্ভার ত্রুটি৷ | INTERNAL_SERVER_ | অনুরোধটি প্রক্রিয়া করার চেষ্টা করার সময় সার্ভার একটি ত্রুটির সম্মুখীন হয়েছে৷ আপনি "টাইমআউট" এ তালিকাভুক্ত প্রয়োজনীয়তা অনুসরণ করে একই অনুরোধ পুনরায় চেষ্টা করতে পারেন (উপরের সারি দেখুন)। |
ডিভাইস বার্তা হার অতিক্রম | DEVICE_MESSAGE_RATE | একটি নির্দিষ্ট ডিভাইসে বার্তার হার খুব বেশি। এই ডিভাইসে পাঠানো বার্তার সংখ্যা কমিয়ে দিন এবং অবিলম্বে এই ডিভাইসে পাঠানোর চেষ্টা করবেন না। |
বিষয় বার্তা হার অতিক্রম | TOPICS_MESSAGE_RATE | একটি নির্দিষ্ট বিষয়ে গ্রাহকদের বার্তার হার খুব বেশি। এই বিষয়ের জন্য প্রেরিত বার্তার সংখ্যা হ্রাস করুন, এবং অবিলম্বে পুনরায় পাঠানোর চেষ্টা করবেন না। |
সংযোগ নিষ্কাশন | CONNECTION_DRAINING | সংযোগটি বন্ধ হয়ে যাওয়ার কারণে বার্তাটি প্রক্রিয়া করা যায়নি৷ এটি ঘটে কারণ, পর্যায়ক্রমে, লোড ব্যালেন্সিং সঞ্চালনের জন্য FCM একটি সংযোগ বন্ধ করতে হবে। অন্য XMPP সংযোগের মাধ্যমে বার্তাটি পুনরায় চেষ্টা করুন। |
অবৈধ APN শংসাপত্র | INVALID_APNS_CREDENTIAL | একটি iOS ডিভাইসে লক্ষ্য করা একটি বার্তা পাঠানো যায়নি কারণ প্রয়োজনীয় APN-এর প্রমাণীকরণ কী আপলোড করা হয়নি বা মেয়াদ শেষ হয়ে গেছে। আপনার উন্নয়ন এবং উত্পাদন শংসাপত্রের বৈধতা পরীক্ষা করুন. |
প্রমাণীকরণ ব্যর্থ হয়েছে৷ | AUTHENTICATION_FAILED | বাহ্যিক পুশ পরিষেবাগুলির সাথে প্রমাণীকরণ করতে ব্যর্থ হয়েছে৷ আপনি সঠিক ওয়েব পুশ সার্টিফিকেট ব্যবহার করছেন কিনা তা পরীক্ষা করুন। |
আপস্ট্রিম বার্তা সিনট্যাক্স
একটি আপস্ট্রিম বার্তা হল একটি বার্তা যা ক্লায়েন্ট অ্যাপ অ্যাপ সার্ভারে পাঠায়। বর্তমানে শুধুমাত্র XMPP আপস্ট্রিম মেসেজিং সমর্থন করে। ক্লায়েন্ট অ্যাপ থেকে বার্তা পাঠানোর বিষয়ে আরও তথ্যের জন্য আপনার প্ল্যাটফর্মের ডকুমেন্টেশন দেখুন।
একটি আপস্ট্রিম XMPP বার্তা ব্যাখ্যা করা
ক্লায়েন্ট অ্যাপস থেকে আপস্ট্রিম মেসেজ অনুরোধের জবাবে FCM দ্বারা জেনারেট করা XMPP স্তবকের ক্ষেত্রগুলিকে নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
from | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি কে বার্তা পাঠিয়েছে তা নির্দিষ্ট করে। মান হল ক্লায়েন্ট অ্যাপের রেজিস্ট্রেশন টোকেন। |
category | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি ক্লায়েন্ট অ্যাপের অ্যাপ্লিকেশন প্যাকেজের নাম নির্দিষ্ট করে যা বার্তা পাঠিয়েছে। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি বার্তাটির অনন্য আইডি নির্দিষ্ট করে। |
data | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি বার্তার পেলোডের কী-মান জোড়া নির্দিষ্ট করে। |
একটি ACK বার্তা পাঠানো হচ্ছে
নিম্নলিখিত সারণী ACK প্রতিক্রিয়া বর্ণনা করে যা অ্যাপ সার্ভার প্রাপ্ত একটি আপস্ট্রিম বার্তার প্রতিক্রিয়া হিসাবে অ্যাপ সার্ভার FCM এ প্রেরণ করবে বলে আশা করা হচ্ছে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
to | প্রয়োজনীয়, স্ট্রিং | এই পরামিতি একটি প্রতিক্রিয়া বার্তা প্রাপক নির্দিষ্ট করে. মানটি অবশ্যই ক্লায়েন্ট অ্যাপের একটি নিবন্ধন টোকেন হতে হবে যা আপস্ট্রিম বার্তাটি পাঠিয়েছে। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি নির্দিষ্ট করে যে প্রতিক্রিয়াটি কোন বার্তার উদ্দেশ্যে। মানটি অবশ্যই সংশ্লিষ্ট আপস্ট্রিম বার্তা থেকে message_id মান হতে হবে। |
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি একটি অ্যাপ সার্ভার থেকে CCS-এ একটি ack বার্তা নির্দিষ্ট করে। আপস্ট্রিম বার্তাগুলির জন্য, এটি সর্বদা ack এ সেট করা উচিত। |
FCM সার্ভার বার্তা (XMPP)
এটি একটি অ্যাপ সার্ভারে FCM থেকে পাঠানো একটি বার্তা৷ এখানে FCM অ্যাপ সার্ভারে প্রাথমিক ধরনের বার্তা পাঠায়:
- নিয়ন্ত্রণ: এই সিসিএস-উত্পন্ন বার্তাগুলি নির্দেশ করে যে অ্যাপ সার্ভার থেকে অ্যাকশন প্রয়োজন।
নিম্নলিখিত সারণীটি বার্তাগুলির অন্তর্ভুক্ত ক্ষেত্রগুলিকে বর্ণনা করে যা CCS একটি অ্যাপ সার্ভারে পাঠায়৷
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
সাধারণ ক্ষেত্র | ||
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি বার্তার ধরন নির্দিষ্ট করে: নিয়ন্ত্রণ। যখন এটি |
control_type | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি FCM থেকে প্রেরিত নিয়ন্ত্রণ বার্তার ধরন নির্দিষ্ট করে। বর্তমানে, শুধুমাত্র |
এই ডকুমেন্টটি আপনার অ্যাপ সার্ভার, ক্লায়েন্ট অ্যাপস এবং Firebase Cloud Messaging (FCM) এর মধ্যে বার্তা পাঠাতে ব্যবহৃত XMPP সিনট্যাক্সের জন্য একটি রেফারেন্স প্রদান করে। আপনার অ্যাপ সার্ভারকে অবশ্যই এই শেষ পয়েন্টগুলির সাথে সংযুক্ত করতে হবে:
// Production fcm-xmpp.googleapis.com:5235 // Testing fcm-xmpp.googleapis.com:5236
উপলব্ধ পরামিতি এবং বিকল্পগুলি এই বিভাগে পড়ে:
- ডাউনস্ট্রিম বার্তা সিনট্যাক্স
- ডাউনস্ট্রিম বার্তা ত্রুটি প্রতিক্রিয়া কোড
- আপস্ট্রিম বার্তা সিনট্যাক্স
- FCM নিয়ন্ত্রণ বার্তা
ডাউনস্ট্রিম বার্তা সিনট্যাক্স
এই বিভাগটি ডাউনস্ট্রিম বার্তা পাঠানোর জন্য সিনট্যাক্স দেয়।
ডাউনস্ট্রিম XMPP বার্তা (JSON)
নিম্নলিখিত সারণীটি XMPP JSON বার্তাগুলির লক্ষ্য, বিকল্প এবং পেলোড তালিকাভুক্ত করে৷
প্যারামিটার | ব্যবহার | বর্ণনা | |
---|---|---|---|
টার্গেট | |||
to | ঐচ্ছিক, স্ট্রিং | এই পরামিতি একটি বার্তা প্রাপক নির্দিষ্ট করে. মানটি হতে পারে একটি ডিভাইসের রেজিস্ট্রেশন টোকেন, একটি ডিভাইস গ্রুপের বিজ্ঞপ্তি কী, অথবা একটি একক বিষয় (প্রিফিক্সড | |
condition | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটার শর্তগুলির একটি যৌক্তিক অভিব্যক্তি নির্দিষ্ট করে যা বার্তা লক্ষ্য নির্ধারণ করে। সমর্থিত শর্ত: বিষয়, বিষয়গুলিতে "'yourTopic' হিসাবে ফর্ম্যাট করা হয়েছে"। এই মান কেস-সংবেদনশীল। সমর্থিত অপারেটর: | |
অপশন | |||
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি অনন্যভাবে একটি XMPP সংযোগে একটি বার্তা সনাক্ত করে। | |
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 সপ্তাহ৷ আরও তথ্যের জন্য, একটি বার্তার জীবনকাল সেট করা দেখুন। | |
dry_run | ঐচ্ছিক, বুলিয়ান | এই প্যারামিটার, ডিফল্ট মান | |
পেলোড | |||
data | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বার্তার পেলোডের কী-মান জোড়া নির্দিষ্ট করে। উদাহরণস্বরূপ, অ্যাপল প্ল্যাটফর্মে, যদি বার্তাটি APN দ্বারা বিতরণ করা হয় তবে এটি কাস্টম ডেটা ক্ষেত্রগুলিকে প্রতিনিধিত্ব করে। যদি এটি FCM দ্বারা বিতরণ করা হয়, তাহলে এটিকে অ্যান্ড্রয়েডে, এর ফলে স্ট্রিং মান কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "google" বা "gcm" দিয়ে শুরু হওয়া কোনো শব্দ) হওয়া উচিত নয়। এই টেবিলে সংজ্ঞায়িত কোন শব্দ ব্যবহার করবেন না (যেমন স্ট্রিং ধরনের মান সুপারিশ করা হয়. আপনাকে অবজেক্ট বা অন্যান্য নন-স্ট্রিং ডেটা টাইপের (যেমন, পূর্ণসংখ্যা বা বুলিয়ান) স্ট্রিং-এ মান রূপান্তর করতে হবে। | |
notification | ঐচ্ছিক, বস্তু | এই প্যারামিটারটি বিজ্ঞপ্তি পেলোডের পূর্বনির্ধারিত, ব্যবহারকারী-দৃশ্যমান কী-মান জোড়া নির্দিষ্ট করে। বিস্তারিত জানার জন্য বিজ্ঞপ্তি পেলোড সমর্থন দেখুন। বিজ্ঞপ্তি বার্তা এবং ডেটা বার্তা বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য, বার্তার প্রকারগুলি দেখুন৷ যদি একটি বিজ্ঞপ্তি পেলোড প্রদান করা হয়, অথবা একটি Apple ডিভাইসে একটি বার্তার জন্য content_available বিকল্পটি true হিসাবে সেট করা হয়, তাহলে বার্তাটি APN-এর মাধ্যমে পাঠানো হয়, অন্যথায় এটি FCM মাধ্যমে পাঠানো হয়। |
বিজ্ঞপ্তি পেলোড সমর্থন
অ্যাপল প্ল্যাটফর্ম এবং অ্যান্ড্রয়েডের জন্য বিজ্ঞপ্তি বার্তা তৈরির জন্য উপলব্ধ পূর্বনির্ধারিত কীগুলি নিম্নলিখিত সারণীগুলি তালিকাভুক্ত করে৷
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
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 প্রয়োজন৷ |
একটি ডাউনস্ট্রিম XMPP বার্তার প্রতিক্রিয়া ব্যাখ্যা করুন
নিচের সারণীটি ক্ষেত্রগুলির তালিকা করে যা একটি ডাউনস্ট্রিম XMPP বার্তা প্রতিক্রিয়াতে প্রদর্শিত হয়।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
from | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি নির্দিষ্ট করে কে এই প্রতিক্রিয়াটি পাঠিয়েছে৷ মান হল ক্লায়েন্ট অ্যাপের রেজিস্ট্রেশন টোকেন। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি অনন্যভাবে একটি XMPP সংযোগে একটি বার্তা সনাক্ত করে। মানটি একটি স্ট্রিং যা সংশ্লিষ্ট বার্তাটিকে অনন্যভাবে সনাক্ত করে। |
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি FCM থেকে অ্যাপ সার্ভারে একটি যদি মানটি |
error | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি ডাউনস্ট্রিম বার্তা সম্পর্কিত একটি ত্রুটি নির্দিষ্ট করে। এটি সেট করা হয় যখন message_type nack হয়। বিস্তারিত জানার জন্য টেবিল 4 দেখুন। |
error_description | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটার ত্রুটির জন্য বর্ণনামূলক তথ্য প্রদান করে। এটি সেট করা হয় যখন message_type nack হয়। |
ডাউনস্ট্রিম বার্তা ত্রুটি প্রতিক্রিয়া কোড
নিচের সারণীটি ডাউনস্ট্রিম বার্তাগুলির জন্য ত্রুটি প্রতিক্রিয়া কোডগুলি তালিকাভুক্ত করে৷
ত্রুটি | XMPP কোড | সুপারিশকৃত পদক্ষেপ |
---|---|---|
অনুপস্থিত নিবন্ধন টোকেন | INVALID_JSON | অনুরোধে একটি রেজিস্ট্রেশন টোকেন আছে কিনা পরীক্ষা করুন (একটি প্লেইন টেক্সট মেসেজে registration_id বা JSON-এ to বা registration_ids ক্ষেত্রে)। |
অবৈধ APN নিবন্ধন | INVALID_JSON | iOS রেজিস্ট্রেশনের জন্য, ক্লায়েন্টের রেজিস্ট্রেশনের অনুরোধে একটি বৈধ APN টোকেন এবং অ্যাপ্লিকেশন আইডি আছে কিনা পরীক্ষা করুন। |
অবৈধ রেজিস্ট্রেশন টোকেন | BAD_REGISTRATION | আপনি সার্ভারে যে নিবন্ধন টোকেন পাস করেন তার বিন্যাস পরীক্ষা করুন। নিশ্চিত করুন যে এটি FCM এর সাথে নিবন্ধন করার সময় ক্লায়েন্ট অ্যাপটি প্রাপ্ত নিবন্ধন টোকেনের সাথে মেলে৷ ছোট করবেন না বা অতিরিক্ত অক্ষর যোগ করবেন না। |
অনিবন্ধিত ডিভাইস | DEVICE_UNREGISTERED | একটি বিদ্যমান নিবন্ধন টোকেন বিভিন্ন পরিস্থিতিতে বৈধ না হতে পারে, যার মধ্যে রয়েছে:
|
মেলেনি প্রেরক | SENDER_ID_MISMATCH | একটি নিবন্ধন টোকেন প্রেরকদের একটি নির্দিষ্ট গোষ্ঠীর সাথে আবদ্ধ। যখন একটি ক্লায়েন্ট অ্যাপ FCM জন্য নিবন্ধন করে, তখন এটি অবশ্যই উল্লেখ করবে যে কোন প্রেরকদের বার্তা পাঠানোর অনুমতি দেওয়া হয়েছে। ক্লায়েন্ট অ্যাপে বার্তা পাঠানোর সময় আপনার সেই প্রেরক আইডিগুলির মধ্যে একটি ব্যবহার করা উচিত। আপনি যদি অন্য প্রেরকের কাছে যান, বিদ্যমান নিবন্ধন টোকেনগুলি কাজ করবে না৷ |
অবৈধ JSON | INVALID_JSON | JSON বার্তাটি সঠিকভাবে ফরম্যাট করা হয়েছে এবং বৈধ ক্ষেত্র রয়েছে তা পরীক্ষা করুন (উদাহরণস্বরূপ, সঠিক ডেটা টাইপ পাস করা হয়েছে তা নিশ্চিত করুন)। |
বার্তা খুব বড় | INVALID_JSON | একটি বার্তায় অন্তর্ভুক্ত পেলোড ডেটার মোট আকার FCM সীমা অতিক্রম করে না তা পরীক্ষা করুন: বেশিরভাগ বার্তার জন্য 4096 বাইট বা বিষয়গুলিতে বার্তাগুলির ক্ষেত্রে 2048 বাইট৷ এটি কী এবং মান উভয়ই অন্তর্ভুক্ত করে। |
অবৈধ ডেটা কী | INVALID_JSON | পরীক্ষা করুন যে পেলোড ডেটাতে একটি কী (যেমন from , gcm , বা google দ্বারা প্রিফিক্স করা কোনো মান) নেই যা FCM দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত হয়। মনে রাখবেন যে কিছু শব্দ (যেমন collapse_key ) FCM দ্বারাও ব্যবহৃত হয় কিন্তু পেলোডে অনুমোদিত হয়, এই ক্ষেত্রে পেলোড মান FCM মান দ্বারা ওভাররাইড করা হয়। |
বেঁচে থাকার জন্য অবৈধ সময় | INVALID_JSON | পরীক্ষা করুন যে time_to_live এ ব্যবহৃত মানটি 0 এবং 2,419,200 (4 সপ্তাহ) এর মধ্যে সেকেন্ডে একটি পূর্ণসংখ্যা উপস্থাপন করে। |
খারাপ ACK বার্তা | BAD_ACK | পুনরায় চেষ্টা করার আগে ack বার্তাটি সঠিকভাবে ফরম্যাট হয়েছে কিনা তা পরীক্ষা করুন। বিস্তারিত জানার জন্য টেবিল 6 দেখুন। |
টাইমআউট | SERVICE_UNAVAILABLE | সার্ভার সময়মত অনুরোধ প্রক্রিয়া করতে পারেনি. একই অনুরোধ পুনরায় চেষ্টা করুন, কিন্তু আপনি অবশ্যই:
দ্রষ্টব্য: সমস্যা সৃষ্টিকারী প্রেরকদের কালো তালিকাভুক্ত হওয়ার ঝুঁকি রয়েছে। |
অভ্যন্তরীণ সার্ভার ত্রুটি৷ | INTERNAL_SERVER_ | অনুরোধটি প্রক্রিয়া করার চেষ্টা করার সময় সার্ভার একটি ত্রুটির সম্মুখীন হয়েছে৷ আপনি "টাইমআউট" এ তালিকাভুক্ত প্রয়োজনীয়তা অনুসরণ করে একই অনুরোধ পুনরায় চেষ্টা করতে পারেন (উপরের সারি দেখুন)। |
ডিভাইস বার্তা হার অতিক্রম | DEVICE_MESSAGE_RATE | একটি নির্দিষ্ট ডিভাইসে বার্তার হার খুব বেশি। এই ডিভাইসে পাঠানো বার্তার সংখ্যা কমিয়ে দিন এবং অবিলম্বে এই ডিভাইসে পাঠানোর চেষ্টা করবেন না। |
বিষয় বার্তা হার অতিক্রম | TOPICS_MESSAGE_RATE | একটি নির্দিষ্ট বিষয়ে গ্রাহকদের বার্তার হার খুব বেশি। এই বিষয়ের জন্য প্রেরিত বার্তার সংখ্যা হ্রাস করুন, এবং অবিলম্বে পুনরায় পাঠানোর চেষ্টা করবেন না। |
সংযোগ নিষ্কাশন | CONNECTION_DRAINING | সংযোগটি বন্ধ হয়ে যাওয়ার কারণে বার্তাটি প্রক্রিয়া করা যায়নি৷ এটি ঘটে কারণ, পর্যায়ক্রমে, লোড ব্যালেন্সিং সঞ্চালনের জন্য FCM একটি সংযোগ বন্ধ করতে হবে। অন্য XMPP সংযোগের মাধ্যমে বার্তাটি পুনরায় চেষ্টা করুন। |
অবৈধ APN শংসাপত্র | INVALID_APNS_CREDENTIAL | একটি iOS ডিভাইসে লক্ষ্য করা একটি বার্তা পাঠানো যায়নি কারণ প্রয়োজনীয় APN-এর প্রমাণীকরণ কী আপলোড করা হয়নি বা মেয়াদ শেষ হয়ে গেছে। আপনার উন্নয়ন এবং উত্পাদন শংসাপত্রের বৈধতা পরীক্ষা করুন. |
প্রমাণীকরণ ব্যর্থ হয়েছে৷ | AUTHENTICATION_FAILED | বাহ্যিক পুশ পরিষেবাগুলির সাথে প্রমাণীকরণ করতে ব্যর্থ হয়েছে৷ আপনি সঠিক ওয়েব পুশ সার্টিফিকেট ব্যবহার করছেন কিনা তা পরীক্ষা করুন। |
আপস্ট্রিম বার্তা সিনট্যাক্স
একটি আপস্ট্রিম বার্তা হল একটি বার্তা যা ক্লায়েন্ট অ্যাপ অ্যাপ সার্ভারে পাঠায়। বর্তমানে শুধুমাত্র XMPP আপস্ট্রিম মেসেজিং সমর্থন করে। ক্লায়েন্ট অ্যাপ থেকে বার্তা পাঠানোর বিষয়ে আরও তথ্যের জন্য আপনার প্ল্যাটফর্মের ডকুমেন্টেশন দেখুন।
একটি আপস্ট্রিম XMPP বার্তা ব্যাখ্যা করা
ক্লায়েন্ট অ্যাপস থেকে আপস্ট্রিম মেসেজ অনুরোধের জবাবে FCM দ্বারা জেনারেট করা XMPP স্তবকের ক্ষেত্রগুলিকে নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
from | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি কে বার্তা পাঠিয়েছে তা নির্দিষ্ট করে। মান হল ক্লায়েন্ট অ্যাপের রেজিস্ট্রেশন টোকেন। |
category | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি ক্লায়েন্ট অ্যাপের অ্যাপ্লিকেশন প্যাকেজের নাম নির্দিষ্ট করে যা বার্তা পাঠিয়েছে। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি বার্তাটির অনন্য আইডি নির্দিষ্ট করে। |
data | ঐচ্ছিক, স্ট্রিং | এই প্যারামিটারটি বার্তার পেলোডের কী-মান জোড়া নির্দিষ্ট করে। |
একটি ACK বার্তা পাঠানো হচ্ছে
নিম্নলিখিত সারণী ACK প্রতিক্রিয়া বর্ণনা করে যা অ্যাপ সার্ভার প্রাপ্ত একটি আপস্ট্রিম বার্তার প্রতিক্রিয়া হিসাবে অ্যাপ সার্ভার FCM এ প্রেরণ করবে বলে আশা করা হচ্ছে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
to | প্রয়োজনীয়, স্ট্রিং | এই পরামিতি একটি প্রতিক্রিয়া বার্তা প্রাপক নির্দিষ্ট করে. মানটি অবশ্যই ক্লায়েন্ট অ্যাপের একটি নিবন্ধন টোকেন হতে হবে যা আপস্ট্রিম বার্তাটি পাঠিয়েছে। |
message_id | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি নির্দিষ্ট করে যে প্রতিক্রিয়াটি কোন বার্তার উদ্দেশ্যে। মানটি অবশ্যই সম্পর্কিত আপস্ট্রিম বার্তা থেকে message_id মান হতে হবে। |
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি কোনও অ্যাপ্লিকেশন সার্ভার থেকে সিসিএসে একটি ack বার্তা নির্দিষ্ট করে। উজানের বার্তাগুলির জন্য, এটি সর্বদা ack সেট করা উচিত। |
FCM সার্ভার বার্তা (এক্সএমপিপি)
এটি FCM থেকে একটি অ্যাপ্লিকেশন সার্ভারে প্রেরিত একটি বার্তা। FCM অ্যাপ্লিকেশন সার্ভারে প্রেরণ করে এমন প্রাথমিক ধরণের বার্তাগুলি এখানে রয়েছে:
- নিয়ন্ত্রণ: এই সিসিএস-উত্পাদিত বার্তাগুলি নির্দেশ করে যে অ্যাপ সার্ভার থেকে ক্রিয়া প্রয়োজন।
নিম্নলিখিত টেবিলটি সিসিএস একটি অ্যাপ্লিকেশন সার্ভারে প্রেরণ করা বার্তাগুলির অন্তর্ভুক্ত ক্ষেত্রগুলি বর্ণনা করে।
প্যারামিটার | ব্যবহার | বর্ণনা |
---|---|---|
সাধারণ ক্ষেত্র | ||
message_type | প্রয়োজনীয়, স্ট্রিং | এই প্যারামিটারটি বার্তার ধরণটি নির্দিষ্ট করে: নিয়ন্ত্রণ। যখন এটি |
control_type | Al চ্ছিক, স্ট্রিং | এই প্যারামিটারটি FCM থেকে প্রেরিত নিয়ন্ত্রণ বার্তা প্রকার নির্দিষ্ট করে। বর্তমানে, কেবল |