C++ অ্যাপে বার্তা গ্রহণ করুন

প্ল্যাটফর্ম নির্বাচন করুন: iOS+ অ্যান্ড্রয়েড ওয়েব ফ্লাটার ইউনিটি C++


ডাউনস্ট্রিম মেসেজ গ্রহণ করার জন্য, প্রতিটি ক্লায়েন্ট অ্যাপকে 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.
}

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

মেসেজ গ্রহণ করার জন্য, আপনার Listener ক্লাসকে অবশ্যই 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. ডিভাইসটি অনেক দিন ধরে সংযুক্ত হয়নি এবং অ্যাপ সার্ভারটি সম্প্রতি (গত ৪ সপ্তাহের মধ্যে) ওই ডিভাইসের অ্যাপে একটি বার্তা পাঠিয়েছে।

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