এই পাতায় Cloud Messaging সম্পর্কিত সমস্যা সমাধানের সাহায্য এবং প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তর দেওয়া হয়েছে।
Firebase Cloud Messaging তার ক্লায়েন্ট SDK এবং HTTP সার্ভার প্রোটোকলের মাধ্যমে মেসেজিং-এর সম্পূর্ণ সুবিধা প্রদান করে। যেসব ডেপ্লয়মেন্টে আরও জটিল মেসেজিং-এর প্রয়োজন হয়, সেগুলোর জন্য FCM-ই সঠিক পছন্দ।
নোটিফিকেশনস কম্পোজার হলো Firebase Cloud Messaging এর উপর নির্মিত একটি হালকা ও সার্ভারবিহীন মেসেজিং সমাধান। এর ব্যবহারকারী-বান্ধব গ্রাফিক্যাল কনসোল এবং কম কোডিং প্রয়োজনীয়তার মাধ্যমে, নোটিফিকেশনস কম্পোজার ব্যবহারকারীদের পুনরায় যুক্ত করতে ও ধরে রাখতে, অ্যাপের বৃদ্ধি ত্বরান্বিত করতে এবং মার্কেটিং ক্যাম্পেইনকে সমর্থন করার জন্য বার্তা পাঠাতে সাহায্য করে।
| সক্ষমতা | বিজ্ঞপ্তি সুরকার | Cloud Messaging | |
|---|---|---|---|
| লক্ষ্য | একক ডিভাইস | ||
| ক্লায়েন্টরা বিভিন্ন বিষয়ে (যেমন আবহাওয়া) সাবস্ক্রাইব করেছেন। | |||
| পূর্বনির্ধারিত ব্যবহারকারী বিভাগে (অ্যাপ, সংস্করণ, ভাষা) ক্লায়েন্ট | |||
| নির্দিষ্ট অ্যানালিটিক্স অডিয়েন্সের ক্লায়েন্টরা | |||
| ডিভাইস গ্রুপে থাকা ক্লায়েন্টরা | |||
| ক্লায়েন্ট থেকে সার্ভারে আপস্ট্রিম | |||
| বার্তার ধরণ | ২কেবি পর্যন্ত নোটিফিকেশন | ||
| ৪কেবি পর্যন্ত ডেটা বার্তা | |||
| ডেলিভারি | অবিলম্বে | ||
| ভবিষ্যতের ক্লায়েন্ট ডিভাইসের স্থানীয় সময় | |||
| বিশ্লেষণ | অন্তর্নির্মিত বিজ্ঞপ্তি বিশ্লেষণ সংগ্রহ এবং ফানেল বিশ্লেষণ |
আপনি অন্যান্য Firebase পরিষেবা ব্যবহার না করেই, Firebase Cloud Messaging একটি স্বতন্ত্র উপাদান হিসেবে ব্যবহার করতে পারেন।
যখন মনে হবে ডিভাইসগুলো সফলভাবে বার্তা গ্রহণ করতে পারেনি, তখন প্রথমে এই দুটি সম্ভাব্য কারণ যাচাই করুন:
নোটিফিকেশন মেসেজের জন্য ফোরগ্রাউন্ড মেসেজ হ্যান্ডলিং। ডিভাইসে অ্যাপটি ফোরগ্রাউন্ডে থাকাকালীন নোটিফিকেশন মেসেজ হ্যান্ডেল করার জন্য ক্লায়েন্ট অ্যাপগুলোকে মেসেজ হ্যান্ডলিং লজিক যোগ করতে হবে। iOS এবং Android-এর জন্য বিস্তারিত দেখুন।
নেটওয়ার্ক ফায়ারওয়ালের সীমাবদ্ধতা। যদি আপনার প্রতিষ্ঠানে এমন কোনো ফায়ারওয়াল থাকে যা ইন্টারনেট থেকে বা ইন্টারনেটে ট্র্যাফিক চলাচলে বাধা দেয়, তাহলে আপনার Firebase Cloud Messaging ক্লায়েন্ট অ্যাপগুলো যাতে বার্তা গ্রহণ করতে পারে, তার জন্য আপনাকে FCM সাথে সংযোগের অনুমতি দিতে ফায়ারওয়ালটি কনফিগার করতে হবে। যে পোর্টগুলো খুলতে হবে সেগুলো হলো:
- ৫২২৮
- ৫২২৯
- ৫২৩০
FCM সাধারণত 5228 ব্যবহার করে, তবে এটি মাঝে মাঝে 5229 এবং 5230-ও ব্যবহার করে। FCM কোনো নির্দিষ্ট IP প্রদান করে না, তাই আপনার ফায়ারওয়ালকে Google-এর 15169 ASN- এ তালিকাভুক্ত IP ব্লকগুলিতে থাকা সমস্ত IP ঠিকানায় বহির্গামী সংযোগ গ্রহণ করার অনুমতি দেওয়া উচিত।
যখন আপনার অ্যাপ ব্যাকগ্রাউন্ডে থাকে, তখন নোটিফিকেশন মেসেজগুলো সিস্টেম ট্রে-তে প্রদর্শিত হয় এবং onMessageReceived কল করা হয় না। ডেটা পেলোডসহ নোটিফিকেশন মেসেজের ক্ষেত্রে, মেসেজটি সিস্টেম ট্রে-তে প্রদর্শিত হয় এবং ব্যবহারকারী নোটিফিকেশনটিতে ট্যাপ করলে যে ইন্টেন্টটি চালু হয়, সেখান থেকে মেসেজের সাথে থাকা ডেটা পুনরুদ্ধার করা যায়।
আরও তথ্যের জন্য, বার্তা গ্রহণ ও পরিচালনা দেখুন।
FID (Firebase Installation ID) হলো একটি অ্যাপ ইনস্ট্যান্সের শনাক্তকারী। ডিফল্টরূপে, Firebase Installation-এর ডেটা ব্যাকআপ এবং রিস্টোর করা হয়। তাই রিস্টোর করার ক্ষেত্রে, রিস্টোর করা অ্যাপ ইনস্ট্যান্স এবং আসল অ্যাপ ইনস্ট্যান্স একই FID ব্যবহার করে। যেহেতু FCM প্রতি FID-এর জন্য শুধুমাত্র একটি টোকেন সংরক্ষণ করে, তাই যদি আসল অ্যাপ ইনস্ট্যান্স এবং রিস্টোর করা অ্যাপ ইনস্ট্যান্স উভয়ই ব্যবহৃত হয়, তাহলে যখন একটি অ্যাপ ইনস্ট্যান্স FCM-এর সাথে রেজিস্টার করে, তখন অন্য অ্যাপ ইনস্ট্যান্সটির টোকেন মুছে যায়, যার ফলে 404 এরর দেখা দেয়।
আমরা ডেভেলপারদের তাদের অ্যাপে নিম্নলিখিত কাজগুলো করার পরামর্শ দিই:
- ব্যাকআপ থেকে ফায়ারবেস ইনস্টলেশন ডেটা বাদ দিন । ফায়ারবেস ইনস্টলেশন ডেটা একটি
PersistedInstallation....jsonফাইলে সংরক্ষিত থাকে। অ্যাপের জন্য ফাইলের নামটি একটি ধ্রুবক। উদাহরণস্বরূপ,<exclude domain="file" path="PersistedInstallation.W0R...GQ.json" />
না। Firebase Cloud Messaging ২০১৭ সালে HTTP/2-ভিত্তিক APNs প্রোটোকলে স্থানান্তরিত হয়েছে। আপনি যদি iOS ডিভাইসগুলিতে নোটিফিকেশন পাঠানোর জন্য FCM ব্যবহার করে থাকেন, তাহলে আপনার পক্ষ থেকে কোনো পদক্ষেপ নেওয়ার প্রয়োজন নেই।
FCM কোটা এবং সীমা
এই ব্যবহারের ক্ষেত্রটি সমর্থন করা সম্ভব নয়। আপনাকে অবশ্যই আপনার ট্র্যাফিক ৫ মিনিট ধরে ভাগ করে দিতে হবে।
দুর্ভাগ্যবশত, এই কারণে আমরা কোটা বৃদ্ধি মঞ্জুর করতে পারি না। ট্র্যাফিকের আকস্মিক বৃদ্ধি এড়াতে আপনাকে অবশ্যই আপনার ট্র্যাফিক ৫ মিনিট ধরে ছড়িয়ে দিতে হবে।
আমরা সুপারিশ করি যে আপনি ইভেন্টের অন্তত ৫ মিনিট আগে থেকে নোটিফিকেশন পাঠানো শুরু করুন। বিকল্পভাবে, ডেটা মেসেজ পাঠান এবং আগে থেকেই স্থানীয় নোটিফিকেশন শিডিউল করার জন্য আপনার প্ল্যাটফর্মের onMessageReceived হ্যান্ডলারের অনুরূপ ব্যবস্থা প্রয়োগ করুন।
কোটা মেট্রিক্সের তালিকা তৈরি ও নিরীক্ষণ করার পদ্ধতি সম্পর্কে গুগল ক্লাউডের নির্দেশিকা দেখুন।
আমরা বুঝি যে কোটার সীমাবদ্ধতা একটি চ্যালেঞ্জ হতে পারে, কিন্তু পরিষেবাটিকে নির্ভরযোগ্য রাখতে কোটা অপরিহার্য এবং আমরা কোনো ছাড় দিতে পারি না। 429 ত্রুটি সঠিকভাবে সামাল দিতে রিট্রাই ব্যবহার করুন।
আপনার কোটা বৃদ্ধির অনুরোধটি আপনার FCM ব্যবহারের উপর নির্ভর করে। যাই হোক, আপনি কয়েক কার্যদিবসের মধ্যেই একটি উত্তর আশা করতে পারেন। কিছু ক্ষেত্রে, আপনার FCM ব্যবহার এবং বিভিন্ন পরিস্থিতি নিয়ে কিছু আলোচনা হতে পারে, যা প্রক্রিয়াটিকে দীর্ঘায়িত করতে পারে। যদি সমস্ত প্রয়োজনীয়তা পূরণ করা হয়, তবে বেশিরভাগ অনুরোধ ২ সপ্তাহের মধ্যে নিষ্পত্তি করা হবে।
আপনি ১ মাস পর্যন্ত স্থায়ী কোনো অনুষ্ঠানকে সমর্থন করার জন্য অতিরিক্ত কোটার অনুরোধ করতে পারেন। অনুষ্ঠানের অন্তত ১ মাস আগে এবং অনুষ্ঠানটি কখন শুরু ও শেষ হবে তার সুস্পষ্ট বিবরণসহ অনুরোধটি দাখিল করুন, এবং FCM অনুরোধটি পূরণ করার জন্য সম্ভাব্য সব ধরনের বাস্তবসম্মত প্রচেষ্টা চালাবে। মঞ্জুর করা হলে, অনুষ্ঠানটি শেষ হওয়ার পর এই কোটা বৃদ্ধি বাতিল হয়ে যাবে।
যদিও গুগল সহজে এমনটা করবে না, সিস্টেমের অখণ্ডতা রক্ষার জন্য প্রয়োজন অনুসারে কোটা পরিবর্তন করা হতে পারে। যখন সম্ভব হবে, গুগল আপনাকে এই ধরনের পরিবর্তন সম্পর্কে আগে থেকেই অবহিত করবে। পরিষেবা সংক্রান্ত ঘোষণা পাওয়ার সম্ভাবনা বাড়াতে আপনার ক্লাউড এমএসএ (Cloud MSA) যোগাযোগের তথ্য হালনাগাদ রাখুন।