Firebase Cloud Messaging (FCM) ব্যবহার করে আপনি অ্যাপ্লিকেশনে মেসেজ পাঠানোর জন্য বিভিন্ন ইভেন্ট ট্রিগার করতে পারেন এবং সেই মেসেজগুলোকে কাস্টমাইজ করতে পারেন। FCM এর মাধ্যমে আপনি রিয়েল-টাইম নোটিফিকেশন, পুশ নোটিফিকেশন বা টেক্সট মেসেজ পাঠাতে পারেন, যেগুলি ব্যবহারকারীর মোবাইল ডিভাইসে প্রদর্শিত হয়। Firebase এ মেসেজ পাঠানোর জন্য ইভেন্ট ট্রিগার এবং কাস্টমাইজেশন অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি নির্ধারণ করে, কোন পরিস্থিতিতে এবং কিভাবে মেসেজগুলি পাঠানো হবে।
Firebase Cloud Messaging (FCM) এর মাধ্যমে মেসেজের জন্য Event Trigger এবং Customization
Firebase Cloud Messaging (FCM) হল একটি শক্তিশালী পুশ নোটিফিকেশন সেবা, যা আপনাকে অ্যাপ্লিকেশন ব্যবহারকারীদের কাছে মেসেজ পাঠানোর সুযোগ দেয়। মেসেজটি নির্দিষ্ট ইভেন্ট বা অ্যাকশনের ভিত্তিতে ট্রিগার করা যায় এবং মেসেজের কন্টেন্ট বা প্রদর্শন কাস্টমাইজ করা যায়।
১. Event Trigger এর ধারণা
Event Trigger হল এমন একটি ইভেন্ট, যা মেসেজ পাঠানোর প্রক্রিয়াকে শুরু করে। Firebase এ কিছু সাধারণ ইভেন্ট ট্রিগার রয়েছে, যেমন:
- অ্যাপ ইনস্টলেশন: ব্যবহারকারী যখন অ্যাপটি ইনস্টল করে, তখন একটি ট্রিগার ইভেন্ট তৈরি হয় এবং আপনি তাকে একটি স্বাগতম নোটিফিকেশন পাঠাতে পারেন।
- ইউজারের অ্যাকশন: ব্যবহারকারী অ্যাপের কোনো নির্দিষ্ট পৃষ্ঠায় গেলে বা কোনো নির্দিষ্ট কাজ করলে, এটি একটি ইভেন্ট ট্রিগার হতে পারে।
- রিয়েল-টাইম ডেটা চেঞ্জ: Firebase Realtime Database বা Firestore এ যখন কোনো ডেটা পরিবর্তিত হয়, তখন একটি ইভেন্ট ট্রিগার হতে পারে।
- টেম্পোরারি বা সিডিউলড ট্রিগার: আপনি নির্দিষ্ট সময়ের মধ্যে একটি মেসেজ ট্রিগার করতে পারেন, যেমন একটি ডেইলি রিমাইন্ডার বা সিডিউল করা নোটিফিকেশন।
২. Firebase Functions ব্যবহার করে Event Trigger সেট করা
Firebase Functions ব্যবহার করে আপনি কাস্টম ইভেন্ট ট্রিগার সেট করতে পারেন। Firebase Functions সার্ভার-লেস ফাংশনগুলির মাধ্যমে আপনি আপনার অ্যাপ্লিকেশন ইভেন্টের উপর ভিত্তি করে মেসেজ পাঠাতে পারেন।
উদাহরণ: Firebase Function ব্যবহার করে Firestore এ ডেটা পরিবর্তন হলে মেসেজ পাঠানো
ধরা যাক, আপনি চান যে, যখন Firebase Firestore ডাটাবেজের কোনো ডকুমেন্টে কোনো পরিবর্তন হবে, তখন একটি পুশ নোটিফিকেশন পাঠানো হবে। এর জন্য আপনি Firebase Functions ব্যবহার করতে পারেন।
কোড উদাহরণ:
Firebase Functions ইনস্টল করা: প্রথমে Firebase CLI এবং Firebase Functions ইনস্টল করতে হবে।
npm install -g firebase-tools firebase init functionsFunction লিখুন:
index.jsফাইলে নিচের কোডটি লিখুন:const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); exports.sendNotificationOnDataChange = functions.firestore .document('users/{userId}') .onUpdate((change, context) => { const newValue = change.after.data(); const previousValue = change.before.data(); // চেক করুন, যদি ডেটা পরিবর্তিত হয় তাহলে নোটিফিকেশন পাঠান if (newValue.status !== previousValue.status) { const payload = { notification: { title: 'আপনার স্ট্যাটাস আপডেট হয়েছে!', body: 'আপনার প্রোফাইল স্ট্যাটাস পরিবর্তিত হয়েছে।' } }; return admin.messaging().sendToTopic('users', payload); } return null; });এই ফাংশনটি Firestore এ
users/{userId}ডকুমেন্টের স্ট্যাটাস ফিল্ড পরিবর্তন হলে একটি নোটিফিকেশন পাঠাবে।Function Deploy করা: এরপর, Firebase Functions ডিপ্লয় করতে হবে:
firebase deploy --only functions
৩. Custom Payload এবং কাস্টমাইজেশন
FCM এ মেসেজ পাঠানোর সময় আপনি Custom Payload ব্যবহার করে মেসেজের কন্টেন্ট কাস্টমাইজ করতে পারেন। এটি আপনার অ্যাপ্লিকেশন অনুযায়ী একটি কাস্টম ডাটা পাঠানোর সুযোগ দেয়, যা অ্যাপের নির্দিষ্ট স্ক্রীনে প্রদর্শিত হবে। উদাহরণস্বরূপ, আপনি নোটিফিকেশন পাঠানোর সময় পুশ নোটিফিকেশনের টাইটেল, বডি এবং ইমেজের URL কাস্টমাইজ করতে পারেন।
উদাহরণ: Custom Payload সহ মেসেজ পাঠানো
const message = {
notification: {
title: 'নতুন আপডেট',
body: 'আপনার অর্ডার প্রক্রিয়া শুরু হয়েছে!'
},
data: {
orderId: '12345',
status: 'শুরু'
},
token: userToken
};
admin.messaging().send(message)
.then(response => {
console.log('Successfully sent message:', response);
})
.catch(error => {
console.log('Error sending message:', error);
});
এখানে notification এর মাধ্যমে সাধারণ টেক্সট মেসেজ এবং data এর মাধ্যমে কাস্টম ডাটা পাঠানো হচ্ছে, যেমন orderId এবং status। এই ডাটা অ্যাপের স্ক্রীনে ব্যবহার করা যেতে পারে।
৪. ট্রিগারিং ইভেন্টস ও কাস্টমাইজেশন ব্যবহারের উদাহরণ
অ্যাপ ইনস্টলেশনের পর পুশ নোটিফিকেশন:
আপনি যদি চান যে, যখন ব্যবহারকারী অ্যাপ ইনস্টল করে, তখন তাকে স্বাগতম নোটিফিকেশন পাঠানো হবে, আপনি Firebase Console এর Notification Composer ব্যবহার করতে পারেন অথবা Firebase Functions ব্যবহার করে কাস্টম ট্রিগার সেট করতে পারেন।
Firestore এ ডেটা পরিবর্তনের পর নোটিফিকেশন:
Firestore এ কোন ডেটা পরিবর্তন হলে, আপনি Firestore Trigger ব্যবহার করে একটি পুশ নোটিফিকেশন পাঠাতে পারেন। এটি ব্যবহারকারীকে তৎক্ষণাৎ ডেটা আপডেট সম্পর্কে জানাবে।
Firebase Cloud Messaging কাস্টমাইজেশন এবং বেস্ট প্র্যাকটিস
১. নোটিফিকেশনের কাস্টম টেমপ্লেট
নোটিফিকেশনগুলি আপনার ব্র্যান্ডিং এবং ব্যবহারকারীর প্রয়োজন অনুযায়ী কাস্টমাইজ করা উচিত। আপনি বিভিন্ন নোটিফিকেশন টেমপ্লেট তৈরি করতে পারেন, যেমন স্বাগতম, ডিল অথবা ডিসকাউন্ট নোটিফিকেশন। Firebase Console বা Functions এর মাধ্যমে আপনি কাস্টম টেমপ্লেট তৈরি করে মেসেজে কাস্টম ডাটা যোগ করতে পারবেন।
২. ব্যবহারকারীর পছন্দ অনুসারে নোটিফিকেশন
ব্যবহারকারীরা নোটিফিকেশন গ্রহণ করতে বা বন্ধ করতে পারেন। FCM এ আপনি ব্যবহারকারীর ইন্টারঅ্যাকশন ট্র্যাক করতে পারেন এবং সেই অনুযায়ী নোটিফিকেশন কাস্টমাইজ করতে পারেন, যেমন বিশেষ অফার বা নতুন কন্টেন্ট দেখানো।
৩. বাজেট এবং অগ্রাধিকার নির্ধারণ
আপনি মেসেজগুলোর অগ্রাধিকার নির্ধারণ করতে পারেন, যাতে গুরুত্বপূর্ণ নোটিফিকেশন দ্রুত পৌঁছায় এবং কম গুরুত্বপূর্ণ নোটিফিকেশন সিস্টেমে কম সময় নেয়।
সারাংশ
Firebase Cloud Messaging (FCM) আপনাকে বিভিন্ন ইভেন্টের উপর ভিত্তি করে মেসেজ পাঠাতে সাহায্য করে, এবং এই মেসেজগুলিকে কাস্টমাইজ করে ব্যবহারকারীর জন্য আরও উপযোগী করা যায়। Firebase Functions ব্যবহার করে আপনি কাস্টম ইভেন্ট ট্রিগার সেট করতে পারেন এবং পুশ নোটিফিকেশন বা কাস্টম ডাটা পাঠাতে পারেন। এইভাবে আপনি আপনার অ্যাপের ব্যবহারকারীদের আরও ব্যক্তিগতকৃত অভিজ্ঞতা প্রদান করতে সক্ষম হবেন, যেমন অ্যাপ ইনস্টল, ডেটা পরিবর্তন, অথবা সিডিউলড নোটিফিকেশন প্রেরণ।
Read more