আপনার সার্ভার এনভায়রনমেন্ট ও FCM

Firebase Cloud Messaging-এর সার্ভার সাইডে দুটি কম্পোনেন্ট থাকে:

  • Google-এর প্রদান করা FCM ব্যাকএন্ড।
  • আপনার অ্যাপ সার্ভার বা অন্য বিশ্বস্ত সার্ভার এনভায়রনমেন্ট যেখানে আপনার সার্ভার লজিক রান করে, যেমন Firebase-এর জন্য ক্লাউড ফাংশন বা Google-এর ম্যানেজ করা অন্যান্য ক্লাউড এনভায়রনমেন্ট।

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

Firebase Admin SDK বা FCM অ্যাপ সার্ভার প্রোটোকল ব্যবহার করে, আপনি মেসেজ অনুরোধ তৈরি করতে এবং এই ধরনের টার্গেটে পাঠাতে পারবেন:

  • বিষয়ের নাম
  • শর্ত
  • FCM রেজিস্ট্রেশন টোকেন
  • ডিভাইস গ্রুপের নাম (বন্ধ হয়ে গেছে, ২৯ সেপ্টেম্বর, ২০২৭-এ সরিয়ে দেওয়া হবে)

আপনি আগে থেকে নির্ধারিত ফিল্ড দিয়ে তৈরি করা বিজ্ঞপ্তি পেলোড, আপনার নিজের ব্যবহারকারীর দ্বারা নির্ধারিত ফিল্ডের ডেটা পেলোড অথবা উভয় ধরনের পেলোড সহ মেসেজ পাঠাতে পারবেন। আরও তথ্যের জন্য মেসেজের ধরন দেখুন।

বিশ্বস্ত সার্ভার এনভায়রনমেন্টের জন্য প্রয়োজনীয়তা

আপনার অ্যাপ সার্ভার এনভায়রনমেন্টকে নিম্নলিখিত মাপকাঠি পূরণ করতে হবে:

  • FCM ব্যাকএন্ডে সঠিকভাবে ফর্ম্যাট করা মেসেজের অনুরোধ পাঠাতে পারে।
  • এক্সপোনেনশিয়াল ব্যাক-অফ ব্যবহার করে অনুরোধ ম্যানেজ ও আবার পাঠাতে পারবেন।
  • সার্ভার অনুমোদনের ক্রেডেনশিয়াল এবং ক্লায়েন্ট রেজিস্ট্রেশন টোকেন নিরাপদে স্টোর করতে পারে।

Firebase প্রোজেক্টের জন্য প্রয়োজনীয় ক্রেডেনশিয়াল

আপনি কোন FCM ফিচার প্রয়োগ করছেন তার উপর নির্ভর করে, আপনার Firebase প্রোজেক্ট থেকে নিম্নলিখিত ক্রেডেনশিয়াল প্রয়োজন হতে পারে:

ক্রেডেনশিয়াল বিবরণ
প্রোজেক্ট আইডি আপনার Firebase প্রোজেক্টের জন্য একটি অনন্য শনাক্তকারী, যা FCM v1 HTTP এন্ডপয়েন্টে অনুরোধ করার জন্য ব্যবহার করা হয়। এই মানটি Firebase কনসোল সেটিংস প্যানেলে উপলভ্য।
রেজিস্ট্রেশন টোকেন একটি অনন্য টোকেন স্ট্রিং যা প্রতিটি ক্লায়েন্ট অ্যাপ ইনস্ট্যান্স শনাক্ত করে। সিঙ্গেল অ্যাপ ইনস্ট্যান্স ও ডিভাইস গ্রুপ মেসেজিংয়ের জন্য রেজিস্ট্রেশন টোকেন প্রয়োজন। মনে রাখবেন যে রেজিস্ট্রেশন টোকেন অবশ্যই গোপন রাখতে হবে।
প্রেরকের আইডি আপনার Firebase প্রোজেক্ট তৈরি করার সময় তৈরি হওয়া অনন্য সংখ্যাসূচক মান, যা Firebase কনসোলের সেটিংস প্যানেলের Cloud Messaging ট্যাবে উপলভ্য। প্রেরকের আইডি ও প্রোজেক্ট নম্বর একই। ক্লায়েন্ট অ্যাপে মেসেজ পাঠাতে পারে এমন প্রতিটি প্রেরককে শনাক্ত করতে প্রেরকের আইডি ব্যবহার করা হয়।
অ্যাক্সেস টোকেন স্বল্পমেয়াদী OAuth 2.0 টোকেন যা HTTP v1 API-তে অনুরোধ অনুমোদন করে। এই টোকেনটি আপনার Firebase প্রোজেক্টের পরিষেবা অ্যাকাউন্টের সাথে যুক্ত। অ্যাক্সেস টোকেন তৈরি ও রোটেট করতে, অনুরোধ পাঠানোর অনুমতি দিন বিভাগে বর্ণিত ধাপগুলি অনুসরণ করুন।

সার্ভারের বিকল্প বেছে নিন

FCM সার্ভারের সাথে ইন্টার‍্যাক্ট করার জন্য আপনাকে একটি উপায় বেছে নিতে হবে: হয় Firebase Admin SDK ব্যবহার করে অথবা FCM HTTP v1 API ব্যবহার করে। জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ জুড়ে কাজ করার সুবিধা এবং যাচাইকরণ ও অনুমোদনের জন্য সুবিধাজনক পদ্ধতি থাকার কারণে, Firebase Admin SDK হল সাজেস্ট করা পদ্ধতি।

FCM সার্ভারের সাথে ইন্টার‍্যাক্ট করার বিকল্পের মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত:

Firebase Admin SDK

Firebase Admin SDK ব্যাকএন্ডের সাথে যাচাইকরণ পরিচালনা করে এবং মেসেজ পাঠানো ও টপিক সাবস্ক্রিপশন ম্যানেজ করার সুবিধা প্রদান করে। Firebase Admin SDK-এর সাহায্যে, আপনি এগুলি করতে পারবেন:

  • আলাদা অ্যাপ ইনস্ট্যান্সে মেসেজ পাঠান
  • এক বা একাধিক বিষয়ের সাথে মেলে এমন বিষয় ও শর্তের বিবৃতিতে মেসেজ পাঠান বিষয়
  • ডিভাইস গ্রুপে মেসেজ পাঠানো
  • অ্যাপ ইনস্ট্যান্সকে কোনও বিষয়ে সাবস্ক্রাইব এবং আনসাবস্ক্রাইব করা
  • বিভিন্ন টার্গেট প্ল্যাটফর্মের জন্য উপযুক্ত মেসেজ পেলোড তৈরি করা

Firebase Admin SDK সেট-আপ করতে, আপনার সার্ভারে Firebase Admin SDK যোগ করুন দেখুন। আপনার আগে থেকেই কোনও Firebase প্রোজেক্ট থাকলে, SDK যোগ করুন বিকল্প দিয়ে শুরু করুন। এছাড়াও, আপনার প্রোজেক্টের জন্য Cloud Messaging সেটিংস পৃষ্ঠা থেকে Firebase Cloud Messaging API (V1) চালু করতে ভুলবেন না। তারপর, Firebase Admin SDK ইনস্টল হয়ে গেলে, আপনি অনুরোধ পাঠানোর জন্য লজিক লিখতে শুরু করতে পারবেন।

FCM HTTP v1 API

FCM, FCM HTTP v1 API প্রদান করে, যা র সার্ভার প্রোটোকল পছন্দ করেন এমন ডেভেলপারদের জন্য।

মেসেজ পাঠাতে, অ্যাপ সার্ভার HTTP হেডার ও JSON কী ভ্যালু পেয়ার দিয়ে তৈরি HTTP বডি সহ একটি POST অনুরোধ ইস্যু করে। হেডার ও বডি বিকল্পের ব্যাপারে বিস্তারিত জানতে, FCM HTTP v1 API ব্যবহার করে মেসেজ পাঠান দেখুন।