ফ্লাটারে বিষয় মেসেজিং

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

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

টপিক সম্পর্কে কিছু জিনিস মনে রাখতে হবে:

  • আবহাওয়া বা অন্যান্য সর্বজনীনভাবে উপলব্ধ তথ্যের মতো বিষয়বস্তুর জন্য বিষয় বার্তা সবচেয়ে উপযুক্ত।

  • বিষয় বার্তাগুলি লেটেন্সির পরিবর্তে থ্রুপুটের জন্য অপ্টিমাইজ করা হয়৷ একক ডিভাইস বা ডিভাইসের ছোট গোষ্ঠীতে দ্রুত, নিরাপদ বিতরণের জন্য, নিবন্ধকরণ টোকেনগুলিতে লক্ষ্য বার্তাগুলি , বিষয় নয়।

  • আপনি যদি ব্যবহারকারী প্রতি একাধিক ডিভাইসে বার্তা পাঠাতে চান, তাহলে সেই ব্যবহারের ক্ষেত্রে ডিভাইস গ্রুপ মেসেজিং বিবেচনা করুন।

  • টপিক মেসেজিং প্রতিটি বিষয়ের জন্য সীমাহীন সদস্যতা সমর্থন করে। যাইহোক, FCM এই এলাকায় সীমা প্রয়োগ করে:

    • একটি অ্যাপ ইন্সট্যান্স 2000টির বেশি বিষয়ে সাবস্ক্রাইব করা যাবে না।
    • আপনি যদি অ্যাপ দৃষ্টান্ত সদস্যতা নিতে ব্যাচ আমদানি ব্যবহার করেন, প্রতিটি অনুরোধ 1000টি অ্যাপ দৃষ্টান্তের মধ্যে সীমাবদ্ধ।
    • নতুন সদস্যতার ফ্রিকোয়েন্সি প্রতি প্রকল্পের হার-সীমিত। আপনি যদি অল্প সময়ের মধ্যে অনেক বেশি সাবস্ক্রিপশন অনুরোধ পাঠান, তাহলে FCM সার্ভারগুলি 429 RESOURCE_EXHAUSTED ("কোটা অতিক্রম করেছে") প্রতিক্রিয়ার সাথে সাড়া দেবে৷ সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।

একটি বিষয় ক্লায়েন্ট অ্যাপ্লিকেশন সদস্যতা

ক্লায়েন্ট অ্যাপগুলি বিদ্যমান যেকোনো বিষয়ের সদস্যতা নিতে পারে, অথবা তারা একটি নতুন বিষয় তৈরি করতে পারে। যখন একটি ক্লায়েন্ট অ্যাপ একটি নতুন বিষয়ের নাম (যেটি আপনার ফায়ারবেস প্রকল্পের জন্য ইতিমধ্যে বিদ্যমান নেই) সাবস্ক্রাইব করে, তখন সেই নামের একটি নতুন বিষয় এফসিএম-এ তৈরি হয় এবং যেকোনো ক্লায়েন্ট পরবর্তীতে এটিতে সদস্যতা নিতে পারে।

একটি বিষয়ের সদস্যতা নিতে, বিষয়ের নাম সহ subscribeToTopic() এ কল করুন। এই পদ্ধতিটি একটি Future ফেরত দেয়, যা সাবস্ক্রিপশন সফল হলে সমাধান করে:

await FirebaseMessaging.instance.subscribeToTopic("topic");

আনসাবস্ক্রাইব করতে, বিষয়ের নাম সহ unsubscribeFromTopic() কল করুন।

subscribeToTopic() এবং unsubscribeFromTopic() ওয়েব ক্লায়েন্টদের জন্য সমর্থিত নয়। ওয়েব ব্যবহারকারীদের জন্য সাবস্ক্রিপশনগুলি কীভাবে পরিচালনা করবেন তা শিখতে, ওয়েব/জাভাস্ক্রিপ্টে বিষয়গুলিতে বার্তা পাঠান দেখুন।

পরবর্তী পদক্ষেপ