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

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

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

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

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

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

আপনি আগে থেকে নির্দিষ্ট করা ফিল্ড দিয়ে তৈরি নোটিফিকেশন পেলোড, আপনার ব্যবহারকারীর দ্বারা নির্দিষ্ট করা ফিল্ডের ডেটা পেলোড অথবা দু'টি পেলোডই আছে এমন মেসেজ পাঠাতে পারবেন। আরও তথ্যের জন্য মেসেজের ধরন দেখুন।

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

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

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

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

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

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