FCM ব্যবহার করে পাঠানো প্রতিটি মেসেজ ডেলিভার করাই আমাদের লক্ষ্য। তবে, প্রতিটি মেসেজ ডেলিভার করলে কখনও কখনও ব্যবহারকারীর সামগ্রিক অভিজ্ঞতা খারাপ হয়। অন্যান্য ক্ষেত্রে, FCM যাতে সব প্রেরকের জন্য স্কেলেবল পরিষেবা প্রদান করতে পারে তা নিশ্চিত করার জন্য আমাদের বাউন্ডারি প্রদান করতে হবে। এই বিভাগে বর্ণিত সীমা ও কোটার ধরন আমাদের এইসব গুরুত্বপূর্ণ বিষয়গুলির মধ্যে ভারসাম্য বজায় রাখতে সাহায্য করে।
ডাউনস্ট্রিম মেসেজ থ্রটলিং
HTTP v1 API, ডাউনস্ট্রিম মেসেজিংয়ের জন্য প্রোজেক্ট-প্রতি, মিনিট-প্রতি কোটা চালু করেছে। সিস্টেমের স্থিতিশীলতা রক্ষা করা এবং স্পাইকি প্রজেক্টের প্রভাব কমানোর পাশাপাশি, FCM ডেভেলপারদের ৯৯%-এর বেশি কভার করার জন্য প্রতি মিনিটে ৬০০ হাজার মেসেজের ডিফল্ট কোটা দেওয়া হয়।
ট্রাফিকের প্যাটার্নে হঠাৎ করে বৃদ্ধি হলে কোটা
শেষ হয়ে যাওয়ার কারণে সমস্যা হতে পারে। কোটা পেরিয়ে গেলে, সিস্টেম
HTTP স্ট্যাটাস কোড 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") দেখায় যতক্ষণ না কোটা
পরের মিনিটে রিফিল হয়। ওভারলোড
পরিস্থিতিতেও ৪২৯ উত্তর ফেরত আসতে পারে, তাই আপনাকে
প্রকাশিত
সাজেশন অনুযায়ী ৪২৯ হ্যান্ডেল করার জন্য অত্যন্ত উৎসাহিত করা হচ্ছে।
মনে রাখবেন:
- ডাউনস্ট্রিম কোটা মেসেজ পরিমাপ করে, অনুরোধ নয়।
- ক্লায়েন্ট সংক্রান্ত সমস্যা (HTTP স্ট্যাটাস কোড 400-499) গণনা করা হয় (429 বাদ দিয়ে)।
- কোটা প্রতি মিনিটে হিসেব করা হয়, তবে এই মিনিট ঘড়ির সাথে অ্যালাইন করা হয় না।
মনিটরিং কোটা
আপনি Google Cloud কনসোলে কোটা, ব্যবহার ও সমস্যা দেখতে পাবেন:
Google Cloud কনসোলে যান।
API ও পরিষেবা বিকল্প বেছে নিন।
টেবিল তালিকা থেকে, Firebase Cloud Messaging API বেছে নিন।
কোটা ও সিস্টেমের সীমা বিকল্প বেছে নিন।
কোটা বাড়ানোর অনুরোধ করা
কোটা বাড়ানোর অনুরোধ করার আগে, এগুলি নিশ্চিত করুন:
- আপনার ব্যবহার নিয়মিতভাবে প্রতিদিন অন্তত টানা ৫ মিনিটের জন্য কোটার ≥ ৮০%।
- আপনার ক্লায়েন্ট সংক্রান্ত সমস্যার অনুপাত ৫%-এর কম, বিশেষত পিক ট্রাফিকের সময়।
- আপনি স্কেল অনুযায়ী মেসেজ পাঠানোর জন্য পেশাদার পদ্ধতি মেনে চলেন।
আপনি এই শর্ত পূরণ করলে, Google Cloud Console-এ নিম্নলিখিত পদ্ধতি ব্যবহার করে সর্বাধিক +২৫% কোটা বাড়ানোর অনুরোধ জমা দিতে পারবেন:
- কোটা ও সিস্টেমের সীমা বিকল্পে যান।
- টেবিল থেকে, প্রতি মিনিটে অনুরোধ পাঠান সারিটি বেছে নিন।
- এডিট করুন বোতামে ক্লিক করুন।
- আপনার অনুরোধ জানাতে নির্দেশাবলী অনুসরণ করুন।
FCM অনুরোধ পূরণ করার জন্য যথাসাধ্য চেষ্টা করবে (সীমা বাড়ানোর কোনও গ্যারেন্টি দেওয়া যাবে না)।
আসন্ন লঞ্চ বা সাময়িক ইভেন্টের জন্য আপনার আরও ডাউনস্ট্রিম মেসেজিং কোটার প্রয়োজন হলে, আপনাকে অবশ্যই Firebase সহায়তা টিমের মাধ্যমে কোটা বাড়ানোর অনুরোধ করতে হবে। আপনার কোটার জন্য অন্তত ১৫ দিন আগে অনুরোধ করুন যাতে অনুরোধটি প্রসেস করার জন্য পর্যাপ্ত সময় পাওয়া যায়। বড় অনুরোধের ক্ষেত্রে (প্রতি মিনিটে ১৮ মিলিয়নের বেশি মেসেজ), অন্তত ৩০ দিন আগে বিজ্ঞপ্তি দিতে হবে। আমরা প্রতি বছর মাত্র ২টি অস্থায়ী কোটা ইভেন্ট অনুমোদন করতে পারি। সারা বছর জুড়ে অস্থায়ী কোটার মোট সময়সীমা ৩০ দিনের বেশি হলে চলবে না। লঞ্চ এবং বিশেষ ইভেন্টের অনুরোধ এখনও ক্লায়েন্ট ত্রুটি অনুপাত এবং পেশাদার পদ্ধতি সংক্রান্ত প্রয়োজনীয়তার উপর নির্ভর করে।
আরও জানতে, FCM কোটা দেখুন।
বিষয় মেসেজের সীমা ও ফ্যানআউট থ্রটলিং
আরও তথ্যের জন্য বিষয় মেসেজিং কোটা ও সীমা দেখুন।
আড়াল করা যায় এমন মেসেজ থ্রটলিং
আড়াল করা যায় এমন মেসেজ-এ যেমন বর্ণনা করা হয়েছে, আড়াল করা যায় এমন মেসেজ হল কন্টেন্ট-মুক্ত বিজ্ঞপ্তি যা একে অপরের উপরে আড়াল করার জন্য ডিজাইন করা হয়েছে। কোনও ডেভেলপার যদি কোনও অ্যাপে একই মেসেজ বারবার পাঠাতে থাকেন, তাহলে ব্যবহারকারীর ব্যাটারির উপর প্রভাব কমাতে আমরা মেসেজ পাঠাতে দেরি করি।
যেমন, আপনি যদি কোনও একটি ডিভাইসে প্রচুর পরিমাণে নতুন ইমেল সিঙ্ক করার অনুরোধ পাঠান, তাহলে আমরা পরবর্তী ইমেল সিঙ্ক করার অনুরোধ কয়েক মিনিট দেরি করতে পারি, যাতে ডিভাইসটি কম গড় হারে সিঙ্ক করতে পারে। ব্যবহারকারীর ব্যাটারির উপর প্রভাব সীমিত করার জন্য এই থ্রটলিং কঠোরভাবে করা হয়।
আপনার ব্যবহারের ক্ষেত্রে যদি হাই বার্স্ট সেন্ড প্যাটার্নের প্রয়োজন হয়, তাহলে নন-কলাপ্সিবল মেসেজ সঠিক বিকল্প হতে পারে। এই ধরনের মেসেজের ক্ষেত্রে, ব্যাটারির খরচ কমাতে এই ধরনের মেসেজে কন্টেন্ট অন্তর্ভুক্ত করতে ভুলবেন না।
আমরা অ্যাপ প্রতি ডিভাইস প্রতি ২০টি মেসেজের বার্স্ট হিসেবে কোল্যাপ্সিবল মেসেজ সীমিত করি, প্রতি ৩ মিনিটে ১টি মেসেজ রিফিল সহ।
একটি ডিভাইসে মেসেজ পাঠানোর সর্বাধিক রেট
Android-এর ক্ষেত্রে, আপনি একটি ডিভাইসে প্রতি মিনিটে সর্বাধিক ২৪০টি মেসেজ এবং প্রতি ঘণ্টায় ৫,০০০টি মেসেজ পাঠাতে পারবেন। এই উচ্চ থ্রেশহোল্ডের উদ্দেশ্য হল অল্প সময়ের জন্য ট্রাফিকের আকস্মিক বৃদ্ধিকে অনুমতি দেওয়া, যেমন ব্যবহারকারীরা যখন চ্যাটে দ্রুত ইন্টার্যাক্ট করছেন। এই সীমা, ডিভাইসের ব্যাটারি যাতে অসাবধানতাবশত শেষ না হয়ে যায় সেই জন্য লজিক পাঠানোর সময় ত্রুটি প্রতিরোধ করে।
iOS-এর ক্ষেত্রে, রেট APNs সীমা অতিক্রম করলে আমরা একটি সমস্যার মেসেজ দেখাই।