Firebase ক্লাউড মেসেজিং ব্যবহার করে বার্তা গ্রহণ করুন

এই নির্দেশিকাটি বর্ণনা করে কিভাবে আপনার মোবাইল এবং ওয়েব ক্লায়েন্ট অ্যাপগুলিতে Firebase Cloud Messaging সেট আপ করবেন যাতে আপনি নির্ভরযোগ্যভাবে বার্তা গ্রহণ করতে পারেন।

ডাউনস্ট্রিম বার্তা গ্রহণের জন্য, প্রতিটি ক্লায়েন্ট অ্যাপকে firebase::messaging::Listener API-তে পদ্ধতিগুলি বাস্তবায়ন করতে হবে।

FCM আরম্ভ করুন

আপনার রেজিস্ট্রেশন টোকেন অ্যাক্সেস পেতে বা বার্তা গ্রহণ করতে FCM ব্যবহার করার আগে এটি শুরু করতে হবে।

FCM আরম্ভ করার জন্য, ::firebase::messaging::Initialize কল করুন এবং এটিকে আপনার ::firebase::App অবজেক্টের সাথে সরবরাহ করুন এবং সেই সাথে ::firebase::messaging::Listener ক্লাসের একটি বাস্তবায়নও দিন।

MyListener my_listener_implementation;
::firebase::messaging::Initialize(app, &my_listener_implementation);

নিবন্ধন টোকেন অ্যাক্সেস করুন

আপনার অ্যাপের প্রাথমিক স্টার্টআপে, FCM SDK ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সের জন্য একটি নিবন্ধন টোকেন তৈরি করে। আপনি যদি একক ডিভাইসকে টার্গেট করতে চান, অথবা FCM এর জন্য ডিভাইস গ্রুপ তৈরি করতে চান, তাহলে আপনাকে এই টোকেনটি অ্যাক্সেস করতে হবে।

আপনি ::firebase::messaging::Listener::OnTokenReceived ভার্চুয়াল ফাংশনের মাধ্যমে টোকেনের মান অ্যাক্সেস করতে পারেন।

void OnTokenReceived(const char* token) {
  LogMessage("The registration token is `%s`", token);

  // TODO: If necessary send token to application server.
}

বার্তা গ্রহণ এবং পরিচালনা করুন

বার্তা গ্রহণের জন্য, আপনার Lisener ক্লাসকে OnMessage ভার্চুয়াল ফাংশনটি বাস্তবায়ন করতে হবে।

OnMessage ওভাররাইড করুন

::firebase::messaging::Listener::OnMessage পদ্ধতিটি ওভাররাইড করে, আপনি প্রাপ্ত বার্তার উপর ভিত্তি করে ক্রিয়া সম্পাদন করতে পারেন এবং বার্তার ডেটা পেতে পারেন:

void OnMessage(const ::firebase::messaging::Message& message) {
  LogMessage(TAG, "From: %s", message.from.c_str());
  LogMessage(TAG, "Message ID: %s", message.message_id.c_str());
}

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

বার্তা মুছে ফেলা হয়েছে

FCM সার্ভার যখন মুলতুবি থাকা বার্তাগুলি মুছে ফেলে তখন আপনার অ্যাপে পাঠানো হয়। Message::message_type "deleted_messages" হবে। নিম্নলিখিত কারণে বার্তাগুলি মুছে ফেলা হতে পারে:

  1. FCM সার্ভারে অনেক বেশি বার্তা সংরক্ষিত।

    এটি তখন ঘটতে পারে যখন কোনও অ্যাপের সার্ভার ডিভাইসটি অফলাইনে থাকাকালীন FCM সার্ভারগুলিতে একগুচ্ছ নন-কোলাপসিবল বার্তা পাঠায়।

  2. ডিভাইসটি অনেক দিন ধরে সংযুক্ত নেই এবং অ্যাপ সার্ভার সম্প্রতি (গত ৪ সপ্তাহের মধ্যে) সেই ডিভাইসের অ্যাপটিতে একটি বার্তা পাঠিয়েছে।

    এই কলটি পাওয়ার পর অ্যাপটিকে অ্যাপ সার্ভারের সাথে সম্পূর্ণ সিঙ্ক করার পরামর্শ দেওয়া হচ্ছে।