Firebase Cloud Messaging (FCM)

Web Development - ফায়ারবেস (Firebase)
449

ফায়ারবেস ক্লাউড মেসেজিং (Firebase Cloud Messaging - FCM) হলো ফায়ারবেসের একটি সেবা যা ডেভেলপারদের তাদের অ্যাপ্লিকেশন বা ওয়েবসাইটে পুশ নোটিফিকেশন পাঠাতে সহায়তা করে। FCM ব্যবহার করে ডেভেলপাররা ব্যবহারকারীদের কাছে রিয়েল-টাইমে নোটিফিকেশন পাঠাতে পারেন, যা মোবাইল অ্যাপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন, এবং এমনকি IoT ডিভাইসেও পৌঁছাতে সক্ষম। FCM একটি খুবই শক্তিশালী এবং স্কেলেবল সিস্টেম, যা অ্যাপ্লিকেশন ইন্টারঅ্যাকশন বাড়াতে এবং ব্যবহারকারীদের সঙ্গে আরও ভালো যোগাযোগ গড়ে তুলতে সাহায্য করে।


Firebase Cloud Messaging (FCM) এর প্রধান বৈশিষ্ট্যসমূহ

১. রিয়েল-টাইম নোটিফিকেশন

FCM ব্যবহার করে আপনি ব্যবহারকারীদের ডিভাইসে রিয়েল-টাইম পুশ নোটিফিকেশন পাঠাতে পারবেন। উদাহরণস্বরূপ, যখনই কোনো নতুন মেসেজ বা আপডেট আসে, তা ব্যবহারকারীর ডিভাইসে মুহূর্তের মধ্যে পৌঁছায়।

২. ক্রস-প্ল্যাটফর্ম সমর্থন

FCM মোবাইল অ্যাপ্লিকেশন এবং ওয়েব অ্যাপ্লিকেশন উভয়ের জন্য সমর্থন প্রদান করে। আপনি Android, iOS এবং ওয়েব প্ল্যাটফর্মে পুশ নোটিফিকেশন পাঠাতে পারবেন।

৩. টার্গেটেড মেসেজিং

FCM আপনাকে টার্গেটেড মেসেজ পাঠানোর সুবিধা দেয়। এর মাধ্যমে আপনি নির্দিষ্ট ব্যবহারকারীদের গ্রুপে বা একক ব্যবহারকারীকে নির্দিষ্ট নোটিফিকেশন পাঠাতে পারবেন, যেমন বিজ্ঞাপন, অ্যালার্ট বা অন্যান্য আপডেট।

৪. বার্তা ফিল্টারিং

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

৫. মেসেজ প্রাধান্য এবং সময়সূচী

FCM বার্তার প্রাধান্য এবং সময়সূচী কনফিগার করার সুযোগ দেয়। আপনি সিদ্ধান্ত নিতে পারবেন কোন মেসেজ জরুরি এবং কোনটি পরে পাঠানো হবে।


Firebase Cloud Messaging (FCM) সেটআপ

১. Firebase প্রজেক্ট তৈরি করা

প্রথমে Firebase Console এ একটি নতুন প্রজেক্ট তৈরি করতে হবে।

  1. Firebase Console এ যান: https://console.firebase.google.com
  2. একটি নতুন প্রজেক্ট তৈরি করুন অথবা একটি বিদ্যমান প্রজেক্ট নির্বাচন করুন।

২. FCM সক্রিয় করা

FCM সেটআপ করার জন্য আপনার Firebase প্রজেক্টে Firebase Cloud Messaging সক্রিয় করতে হবে।

  1. Firebase Console এ গিয়ে Cloud Messaging ট্যাবে যান।
  2. সেখানে আপনার Server Key এবং Sender ID পাবেন, যেগুলি পরে আপনার অ্যাপ্লিকেশনে ব্যবহৃত হবে।

৩. Android অ্যাপ্লিকেশনে FCM ইন্টিগ্রেশন

FCM ব্যবহার করতে হলে আপনাকে Android অ্যাপ্লিকেশনে কিছু প্যাকেজ এবং কনফিগারেশন করতে হবে।

  1. Android প্রজেক্টে Firebase SDK ইনস্টল করুন:

    dependencies {
        implementation 'com.google.firebase:firebase-messaging:23.1.0'
    }
    
  2. Firebase Messaging সার্ভিস তৈরি করুন:

    public class MyFirebaseMessagingService extends FirebaseMessagingService {
        @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
            // এখানে আপনার কোড যুক্ত করুন যা নোটিফিকেশন প্রক্রিয়া করবে
            if (remoteMessage.getNotification() != null) {
                // নোটিফিকেশন দেখানো
                String message = remoteMessage.getNotification().getBody();
                sendNotification(message);
            }
        }
    
        private void sendNotification(String messageBody) {
            // নোটিফিকেশন তৈরি ও প্রদর্শন কোড এখানে থাকবে
        }
    }
    
  3. AndroidManifest.xml ফাইলে FirebaseMessagingService যোগ করুন:

    <service
        android:name=".MyFirebaseMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
    </service>
    

৪. iOS অ্যাপ্লিকেশনে FCM ইন্টিগ্রেশন

iOS এ FCM ব্যবহার করতে হলে Xcode এ Firebase SDK ইনস্টল করতে হবে।

  1. Firebase/CloudMessaging ইনস্টল করুন:

    pod 'Firebase/CloudMessaging'
    
  2. AppDelegate.swift ফাইলে Firebase কনফিগার করুন:

    import Firebase
    import FirebaseMessaging
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            FirebaseApp.configure()
            Messaging.messaging().delegate = self
            return true
        }
    
        // অনুগ্রহ করে নোটিফিকেশন পেতে ফোরগ্রাউন্ডে থাকা অবস্থায় এটি হ্যান্ডেল করুন
        func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
            print("FCM Token: \(String(describing: fcmToken))")
        }
    }
    

৫. পুশ নোটিফিকেশন পাঠানো

FCM ব্যবহার করে পুশ নোটিফিকেশন পাঠানোর জন্য Firebase Console বা Firebase Admin SDK ব্যবহার করতে পারেন। Firebase Console থেকে সহজেই মেসেজ পাঠানো সম্ভব।

Firebase Console থেকে মেসেজ পাঠানো:

  1. Firebase Console এ গিয়ে Cloud Messaging ট্যাব সিলেক্ট করুন।
  2. নতুন মেসেজ তৈরি করুন এবং টার্গেট ডিভাইস নির্বাচন করুন।
  3. মেসেজ টাইপ এবং কন্টেন্ট লিখুন এবং সেগুলি পাঠান।

Firebase Admin SDK ব্যবহার করে মেসেজ পাঠানো:

const admin = require('firebase-admin');
admin.initializeApp();

const message = {
  notification: {
    title: 'Hello',
    body: 'This is a push notification',
  },
  token: '<FCM_DEVICE_TOKEN>',
};

admin.messaging().send(message)
  .then((response) => {
    console.log('Successfully sent message:', response);
  })
  .catch((error) => {
    console.log('Error sending message:', error);
  });

Firebase Cloud Messaging (FCM) এর সুবিধা

১. রিয়েল-টাইম নোটিফিকেশন

FCM ব্যবহার করে আপনি রিয়েল-টাইমে নোটিফিকেশন পাঠাতে পারবেন যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করবে এবং তাদের সাথে দ্রুত যোগাযোগ স্থাপন করবে।

২. স্কেলেবল

FCM স্বয়ংক্রিয়ভাবে স্কেল হতে সক্ষম, অর্থাৎ আপনার অ্যাপ্লিকেশন যত বেশি ব্যবহারকারী পাবে, তত সহজে সেটি আরও বড় স্কেলে কাজ করতে সক্ষম।

৩. টার্গেটেড মেসেজিং

FCM আপনাকে নির্দিষ্ট ব্যবহারকারীদের গ্রুপে বা একক ব্যবহারকারীকে মেসেজ পাঠানোর সুবিধা দেয়। এতে বিজ্ঞাপন বা অন্য গুরুত্বপূর্ণ আপডেট সঠিকভাবে পৌঁছানো যায়।

৪. সহজ ইন্টিগ্রেশন

Firebase Cloud Messaging ব্যবহার করতে খুব কম কনফিগারেশন প্রয়োজন এবং এটি Firebase SDK এর সাথে সহজেই ইন্টিগ্রেট করা যায়।


সারাংশ

Firebase Cloud Messaging (FCM) একটি শক্তিশালী পুশ নোটিফিকেশন সেবা যা ডেভেলপারদের রিয়েল-টাইম নোটিফিকেশন পাঠানোর সুযোগ দেয়। এটি মোবাইল অ্যাপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন এবং IoT ডিভাইসের জন্য উপযুক্ত। FCM সহজেই স্কেলেবল, দ্রুত এবং নিরাপদ, এবং এটি ব্যবহারকারীদের কাছে গুরুত্বপূর্ণ তথ্য পৌঁছানোর জন্য আদর্শ। Firebase Console এবং Firebase Admin SDK এর মাধ্যমে সহজেই মেসেজ পাঠানো যায়, যা ব্যবহারকারীদের অভিজ্ঞতা এবং অ্যাপ্লিকেশন পারফরম্যান্স উন্নত করে।

Content added By

Firebase Cloud Messaging (FCM) কি?

338

Firebase Cloud Messaging (FCM) হলো Firebase এর একটি শক্তিশালী সেবা, যা ডেভেলপারদের মোবাইল অ্যাপ্লিকেশন বা ওয়েবসাইটে পুশ নোটিফিকেশন বা মেসেজ পাঠানোর সুযোগ দেয়। এটি খুবই কার্যকরী এবং স্কেলেবল একটি সিস্টেম, যা আপনাকে ব্যবহারকারীদের সাথে সরাসরি যোগাযোগ করতে সাহায্য করে।


Firebase Cloud Messaging (FCM) কি?

১. পুশ নোটিফিকেশন সিস্টেম

FCM হলো একটি ফ্রি পুশ নোটিফিকেশন সার্ভিস, যা ডেভেলপারদের তাদের মোবাইল অ্যাপ্লিকেশন বা ওয়েবসাইটে ব্যবহারকারীদের নোটিফিকেশন পাঠানোর সুবিধা দেয়। এটি আপনার অ্যাপ্লিকেশন ব্যবহারকারীকে বিভিন্ন আপডেট, অ্যালার্ট, বিজ্ঞাপন, প্রোমোশন, অথবা অন্য কোনো গুরুত্বপূর্ণ তথ্য জানাতে ব্যবহৃত হয়।

২. স্কেলেবল এবং রিয়েল-টাইম

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

৩. প্ল্যাটফর্ম অ-নির্ভর

FCM মোবাইল অ্যাপ (অ্যান্ড্রয়েড, আইওএস) এবং ওয়েব অ্যাপ্লিকেশনের জন্য সমর্থন করে। এর মানে হলো আপনি আপনার অ্যাপের সব ধরনের প্ল্যাটফর্মে পুশ নোটিফিকেশন পাঠাতে পারবেন।

৪. এপিআই ইন্টিগ্রেশন

FCM এর মাধ্যমে আপনি সহজেই API ব্যবহার করে পুশ নোটিফিকেশন পাঠাতে পারেন। Firebase Console থেকেও আপনি ম্যানুয়ালি নোটিফিকেশন পাঠাতে পারবেন, তবে একাধিক ডিভাইসে নোটিফিকেশন পাঠাতে হলে API ইন্টিগ্রেশন করা প্রয়োজন।


Firebase Cloud Messaging (FCM) এর প্রধান সুবিধা

১. ফ্রি এবং সহজ ব্যবহারের জন্য ডিজাইন করা

FCM সম্পূর্ণ ফ্রি এবং ডেভেলপারদের জন্য সহজবোধ্য। Firebase Console বা API ব্যবহার করে আপনি খুব সহজে নোটিফিকেশন পাঠাতে পারবেন।

২. রিয়েল-টাইম পুশ নোটিফিকেশন

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

৩. ব্যবহারকারীদের লক্ষ্য করা

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

৪. এনগেজমেন্ট বাড়ানো

পুশ নোটিফিকেশন ব্যবহারকারীদের অ্যাপে অথবা ওয়েবসাইটে পুনরায় ফিরে আসতে উৎসাহিত করতে পারে, যা আপনার অ্যাপ্লিকেশনের এনগেজমেন্ট এবং রিটেনশন বাড়াতে সাহায্য করে।

৫. এনালিটিক্স এবং রিপোর্টিং

FCM আপনাকে পুশ নোটিফিকেশন সম্পর্কিত বিস্তারিত এনালিটিক্স প্রদান করে। আপনি দেখতে পারবেন কতজন ব্যবহারকারী নোটিফিকেশনটি দেখেছেন, কেমন রেসপন্স পেয়েছেন, এবং আপনার ক্যাম্পেইন কতটা সফল হয়েছে।

৬. ডিভাইসের অফলাইন সাপোর্ট

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


Firebase Cloud Messaging (FCM) এর ব্যবহার

১. পুশ নোটিফিকেশন পাঠানো

Firebase Cloud Messaging এর মূল ব্যবহার হল পুশ নোটিফিকেশন পাঠানো। আপনি একাধিক প্ল্যাটফর্মে (অ্যান্ড্রয়েড, আইওএস, ওয়েব) ব্যবহারকারীদের মেসেজ পাঠাতে পারেন। Firebase Console থেকে বা API এর মাধ্যমে এটি করা যায়।

২. টপিক সাবস্ক্রিপশন

FCM এ টপিক সাবস্ক্রিপশন ব্যবহার করে, আপনি ব্যবহারকারীদের একটি নির্দিষ্ট টপিকে সাবস্ক্রাইব করতে বলে, এবং ঐ টপিকের মাধ্যমে আপনি সেই ব্যবহারকারীদের কাছে নোটিফিকেশন পাঠাতে পারেন। উদাহরণস্বরূপ, একটি sports টপিকে সাবস্ক্রাইব করা হলে, খেলাধুলার সংক্রান্ত নোটিফিকেশন কেবলমাত্র সেই ব্যবহারকারীরা পাবেন।

টপিক সাবস্ক্রিপশন কোড:

// Subscribing to a topic
firebase.messaging().subscribeToTopic("sports")
  .then((response) => {
    console.log("Subscribed to sports topic: ", response);
  })
  .catch((error) => {
    console.log("Error subscribing to topic: ", error);
  });

৩. ডিভাইস-ভিত্তিক পুশ নোটিফিকেশন

FCM আপনাকে নির্দিষ্ট ডিভাইস বা ব্যবহারকারীর ডিভাইসে পুশ নোটিফিকেশন পাঠাতে সহায়তা করে। এতে আপনাকে device token ব্যবহার করতে হয়, যা প্রতিটি ডিভাইসে ইউনিক হয়।

ডিভাইস টোকেন ব্যবহার করে নোটিফিকেশন পাঠানো:

const message = {
  token: "device-token",
  notification: {
    title: "New Update Available",
    body: "Click to see the new features!"
  }
};

// Send the message
firebase.messaging().send(message)
  .then((response) => {
    console.log("Successfully sent message:", response);
  })
  .catch((error) => {
    console.log("Error sending message:", error);
  });

৪. কাস্টম ডেটা পাঠানো

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

কাস্টম ডেটা পাঠানো:

const message = {
  token: "device-token",
  data: {
    userId: "12345",
    messageType: "update"
  }
};

firebase.messaging().send(message);

৫. অনলাইন এবং অফলাইন উভয় সময় নোটিফিকেশন

FCM এ যখন ব্যবহারকারী অফলাইনে থাকে, তখনও তার ডিভাইসে নোটিফিকেশন পাঠানো সম্ভব। ডিভাইসটি পুনরায় অনলাইনে আসলে, সেই নোটিফিকেশন প্রদর্শিত হবে।


সারাংশ

Firebase Cloud Messaging (FCM) হলো একটি শক্তিশালী এবং স্কেলেবল পুশ নোটিফিকেশন সিস্টেম, যা ডেভেলপারদের মোবাইল অ্যাপ্লিকেশন বা ওয়েবসাইটে রিয়েল-টাইম নোটিফিকেশন পাঠাতে সহায়তা করে। এটি প্ল্যাটফর্ম অ-নির্ভর এবং API বা Firebase Console এর মাধ্যমে পরিচালিত হতে পারে। FCM ব্যবহারের মাধ্যমে আপনি টপিক, ডিভাইস, অথবা কাস্টম ডেটা ভিত্তিক পুশ নোটিফিকেশন পাঠাতে পারবেন এবং ব্যবহারকারীদের সাথে আরও ভালো এনগেজমেন্ট তৈরি করতে পারবেন।

Content added By

FCM এর মাধ্যমে ডিভাইসে Push Notification পাঠানো

246

Firebase Cloud Messaging (FCM) হল একটি শক্তিশালী সেবা যা Firebase ব্যবহার করে মোবাইল এবং ওয়েব অ্যাপ্লিকেশনগুলিতে Push Notifications পাঠানোর জন্য ব্যবহৃত হয়। FCM এর মাধ্যমে, আপনি আপনার অ্যাপ্লিকেশনের ব্যবহারকারীদের বিভিন্ন ধরনের বিজ্ঞপ্তি (যেমন: প্রোমোশন, খবর, বা জরুরি আপডেট) পাঠাতে পারেন। FCM একটি নির্ভরযোগ্য এবং সহজ পদ্ধতি সরবরাহ করে অ্যাপ্লিকেশন থেকে ব্যবহারকারীদের ডিভাইসে রিয়েল-টাইম নোটিফিকেশন পাঠানোর জন্য।

এখানে Firebase Cloud Messaging (FCM) ব্যবহার করে Push Notification পাঠানোর প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।


FCM এর মাধ্যমে Push Notification পাঠানোর প্রক্রিয়া

১. Firebase প্রজেক্ট তৈরি করা

প্রথমে, Firebase Console এ লগইন করুন এবং একটি নতুন Firebase Project তৈরি করুন (যদি ইতিমধ্যে তৈরি না করে থাকেন)।

  1. Firebase Console এ যান: https://console.firebase.google.com
  2. একটি নতুন প্রজেক্ট তৈরি করুন অথবা পুরোনো একটি প্রজেক্ট খুলুন।
  3. প্রজেক্টের ভিতরে Cloud Messaging সেবা একটিভেট করুন।

২. FCM সেটআপ করা

১. Android অ্যাপে Firebase SDK ইনস্টল করা

আপনার Android অ্যাপে FCM এর মাধ্যমে Push Notification পাঠানোর জন্য প্রথমে Firebase SDK ইনস্টল করতে হবে। নিচে ধাপে ধাপে নির্দেশনা দেওয়া হলো:

  1. build.gradle (Project-level) ফাইলে Firebase প্লাগইন যোগ করুন:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath 'com.google.gms:google-services:4.3.15'  // Firebase Plugin
        }
    }
    
  2. build.gradle (App-level) ফাইলে Firebase Messaging লাইব্রেরি যোগ করুন:

    dependencies {
        implementation 'com.google.firebase:firebase-messaging:23.1.0' // Firebase Messaging
    }
    
  3. Google Services প্লাগইন যোগ করুন:

    apply plugin: 'com.google.gms.google-services'
    
  4. Sync Now বাটন ক্লিক করে গ্র্যাডেল সিঙ্ক করুন।

২. Firebase Cloud Messaging এর মাধ্যমে Push Notification পাঠানো

FirebaseService তৈরি করুন এবং ফিচারটি কার্যকরী করতে নিচের কোডটি ব্যবহার করুন।

  1. FirebaseMessagingService ক্লাস তৈরি করুন এবং এটি Override করুন:

    import com.google.firebase.messaging.FirebaseMessagingService;
    import com.google.firebase.messaging.RemoteMessage;
    import android.util.Log;
    
    public class MyFirebaseMessagingService extends FirebaseMessagingService {
    
        @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
            // Notification রিসিভ করা হলে কী করা হবে
            if (remoteMessage.getNotification() != null) {
                // বিজ্ঞপ্তির শিরোনাম ও বার্তা
                String title = remoteMessage.getNotification().getTitle();
                String message = remoteMessage.getNotification().getBody();
    
                Log.d("FCM", "Notification Title: " + title);
                Log.d("FCM", "Notification Message: " + message);
    
                // এখানে আপনার বিজ্ঞপ্তি প্রদর্শন করার কোড যোগ করুন
            }
        }
    }
    
  2. AndroidManifest.xml ফাইলে এই সেবাটি রেজিস্টার করুন:

    <service
        android:name=".MyFirebaseMessagingService"
        android:exported="true">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    

৩. Firebase Instance ID সেটআপ করা

Firebase এর মাধ্যমে পুশ নোটিফিকেশন পাঠানোর জন্য, আপনার অ্যাপ্লিকেশনটি FCM এর একটি Instance ID নিবন্ধন করবে। আপনি এটি FirebaseMessaging.getInstance().getToken() ব্যবহার করে পাবেন।

FirebaseMessaging.getInstance().getToken()
       .addOnCompleteListener(task -> {
           if (!task.isSuccessful()) {
               Log.w("FCM", "Fetching FCM registration token failed", task.getException());
               return;
           }

           // Get new FCM registration token
           String token = task.getResult();
           Log.d("FCM", "Token: " + token);
       });

৩. Firebase Console থেকে Push Notification পাঠানো

Firebase Console থেকে সরাসরি Push Notification পাঠানো খুবই সহজ। এখানে আপনি কোনো কোড না লিখেও Notification পাঠাতে পারবেন।

  1. Firebase Console এ আপনার প্রজেক্টে যান।
  2. Cloud Messaging ট্যাব নির্বাচন করুন।
  3. Send your first message বাটনটি ক্লিক করুন।
  4. Notification এর শিরোনাম (Title) এবং বার্তা (Body) লিখুন।
  5. ডিভাইস সিলেক্ট করে Send বাটনে ক্লিক করুন।

৪. সার্ভার থেকে Push Notification পাঠানো

আপনি যদি Firebase Console এর বাইরে থেকে Push Notification পাঠাতে চান, তবে Firebase Admin SDK বা HTTP POST Request ব্যবহার করতে হবে।

১. Firebase Admin SDK ব্যবহার করা

Firebase Admin SDK ব্যবহার করে Push Notification পাঠানোর জন্য Node.js বা অন্য সার্ভার সাইড টেকনোলজি ব্যবহার করা যেতে পারে। এখানে Node.js এর উদাহরণ দেওয়া হলো:

  1. Firebase Admin SDK ইনস্টল করুন:

    npm install firebase-admin
    
  2. Node.js কোডে FCM টোকেন ব্যবহার করে Notification পাঠানো:

    const admin = require('firebase-admin');
    admin.initializeApp({
        credential: admin.credential.applicationDefault()
    });
    
    const message = {
        notification: {
            title: 'Hello!',
            body: 'This is a push notification from Firebase.'
        },
        token: 'FCM_DEVICE_TOKEN' // যেই ডিভাইসে নোটিফিকেশন পাঠাতে চান
    };
    
    admin.messaging().send(message)
        .then(response => {
            console.log('Successfully sent message:', response);
        })
        .catch(error => {
            console.log('Error sending message:', error);
        });
    

২. HTTP POST Request ব্যবহার করা

আপনি HTTP POST Request ব্যবহার করে FCM HTTP v1 API এর মাধ্যমে পুশ নোটিফিকেশন পাঠাতে পারেন। নিচে একটি উদাহরণ:

POST https://fcm.googleapis.com/fcm/send
Authorization: key=YOUR_SERVER_KEY
Content-Type: application/json

Request Body:

{
    "to": "FCM_DEVICE_TOKEN",
    "notification": {
        "title": "Hello World",
        "body": "This is a notification from Firebase"
    }
}

সারাংশ

Firebase Cloud Messaging (FCM) একটি শক্তিশালী এবং সহজে ব্যবহারযোগ্য টুল যা Push Notifications পাঠানোর জন্য ব্যবহৃত হয়। আপনি Firebase Console থেকে সরাসরি নোটিফিকেশন পাঠাতে পারেন অথবা Firebase Admin SDK বা HTTP POST API ব্যবহার করে সার্ভার সাইড থেকে নোটিফিকেশন পাঠাতে পারেন। Android অ্যাপে Firebase Messaging Service ইনস্টল করে আপনি ব্যবহারকারীর ডিভাইসে রিয়েল-টাইম নোটিফিকেশন পাঠাতে পারবেন, যা আপনার অ্যাপের ব্যবহারকারীর সঙ্গে সহজেই যোগাযোগ রাখার একটি কার্যকরী উপায়।

Content added By

Web এবং Mobile App এর জন্য FCM কনফিগারেশন

293

Firebase Cloud Messaging (FCM) হল ফায়ারবেসের একটি শক্তিশালী সার্ভিস, যা Web এবং Mobile Apps এর জন্য push notifications প্রেরণ এবং গ্রহণ করার সুবিধা প্রদান করে। FCM এর মাধ্যমে আপনি ব্যবহারকারীদের কাছে বিভিন্ন ধরনের নোটিফিকেশন, যেমন প্রোমোশনাল মেসেজ, আপডেট, বা অন্যান্য গুরুত্বপূর্ণ বার্তা পৌঁছাতে পারেন। FCM কনফিগারেশন দুটি প্রধান প্ল্যাটফর্ম—Web এবং Mobile (Android/iOS)—এর জন্য আলাদা আলাদা পদ্ধতিতে করা হয়। নিচে এই দুইটি প্ল্যাটফর্মের জন্য FCM কনফিগারেশনের প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হয়েছে।


Web App এর জন্য FCM কনফিগারেশন

১. Firebase Console এ প্রজেক্ট তৈরি করা

  1. প্রথমে Firebase Console এ যান Firebase Console, এবং একটি নতুন প্রজেক্ট তৈরি করুন বা পুরোনো কোনো প্রজেক্ট খুলুন।
  2. প্রজেক্টের ড্যাশবোর্ড থেকে Cloud Messaging সেকশনটি খুঁজে বের করুন।

২. Firebase SDK ইনস্টল করা

আপনার ওয়েব অ্যাপে FCM ব্যবহার করার জন্য প্রথমে আপনাকে Firebase SDK ইনস্টল করতে হবে। নিচের স্ক্রিপ্টটি আপনার HTML ফাইলের <head> ট্যাগে যোগ করুন:

<!-- Firebase SDK -->
<script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-messaging.js"></script>

৩. Firebase কনফিগারেশন সেট করা

Firebase প্রজেক্টের Firebase Console থেকে আপনার ওয়েব অ্যাপের জন্য কনফিগারেশন কোড পাবেন। এই কোডটি আপনার অ্যাপে ব্যবহার করুন।

// Firebase কনফিগারেশন
const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
  appId: "YOUR_APP_ID",
  measurementId: "YOUR_MEASUREMENT_ID"
};

// Firebase ইনিশিয়ালাইজ করা
const app = firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();

৪. Push Notification অনুমতি চাওয়া

আপনার ওয়েব অ্যাপে push notification পাঠানোর জন্য প্রথমে ব্যবহারকারীর অনুমতি নিতে হবে। এটি করার জন্য নিম্নলিখিত কোডটি ব্যবহার করুন:

// Push Notification অনুমতি চাওয়া
Notification.requestPermission().then(permission => {
  if (permission === "granted") {
    console.log("Notification permission granted.");
    // FCM টোকেন নিবন্ধন
    messaging.getToken({ vapidKey: "YOUR_PUBLIC_VAPID_KEY" })
      .then((currentToken) => {
        if (currentToken) {
          console.log("FCM Token:", currentToken);
          // এখানে FCM টোকেনটি আপনার সার্ভারে পাঠিয়ে দিতে পারেন
        } else {
          console.log("No Instance ID token available.");
        }
      })
      .catch((err) => {
        console.log("An error occurred while retrieving token. ", err);
      });
  } else {
    console.log("Notification permission denied.");
  }
});

VAPID Key আপনি Firebase Console থেকে পাবেন, যা Firebase Cloud Messaging > Web configuration সেকশনে পাওয়া যাবে।

৫. Push Notification গ্রহণ করা

ওয়েব অ্যাপে push notification গ্রহণ করার জন্য একটি background script বা service worker দরকার। একটি নতুন firebase-messaging-sw.js ফাইল তৈরি করুন এবং নিচের কোডটি সেখানে যোগ করুন:

// firebase-messaging-sw.js
importScripts('https://www.gstatic.com/firebasejs/9.6.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/9.6.1/firebase-messaging.js');

const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
  appId: "YOUR_APP_ID",
};

firebase.initializeApp(firebaseConfig);

const messaging = firebase.messaging();

// Foreground notification handler
messaging.onBackgroundMessage((payload) => {
  console.log('Received background message ', payload);
  // Customize notification here
  const notificationTitle = payload.notification.title;
  const notificationOptions = {
    body: payload.notification.body,
    icon: payload.notification.icon,
  };

  self.registration.showNotification(notificationTitle, notificationOptions);
});

এই কোডটি আপনার অ্যাপের background হিসেবে কাজ করবে এবং push notifications গ্রহণ করবে।


Mobile App (Android/iOS) এর জন্য FCM কনফিগারেশন

Android এর জন্য FCM কনফিগারেশন

১. Firebase Console এ Android App যুক্ত করা

  1. Firebase Console এ যান এবং আপনার প্রজেক্টে একটি Android অ্যাপ যুক্ত করুন।
  2. google-services.json ফাইলটি ডাউনলোড করে আপনার Android অ্যাপের app/ ফোল্ডারে রেখে দিন।

২. Firebase SDK ইনস্টল করা

এখন আপনার Android অ্যাপে Firebase SDK ইনস্টল করতে হবে। আপনার build.gradle ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

// Project-level build.gradle
classpath 'com.google.gms:google-services:4.3.10'

// App-level build.gradle
apply plugin: 'com.google.gms.google-services'

এছাড়া, আপনার dependencies সেকশনে Firebase Messaging ডিপেনডেন্সি যোগ করুন:

implementation 'com.google.firebase:firebase-messaging:23.1.0'

৩. Firebase কনফিগারেশন ইনিশিয়ালাইজ করা

আপনার MainActivity.java বা Application class এ Firebase কনফিগারেশন ইনিশিয়ালাইজ করুন:

// Firebase ইনিশিয়ালাইজেশন
FirebaseApp.initializeApp(this);
FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(task -> {
        if (!task.isSuccessful()) {
            Log.w("FCM", "Fetching FCM registration token failed", task.getException());
            return;
        }

        // FCM টোকেন গ্রহণ
        String token = task.getResult();
        Log.d("FCM", "FCM Token: " + token);
        // টোকেনটি আপনার সার্ভারে পাঠান
    });

৪. Push Notification গ্রহণ করা

FCM এর মাধ্যমে push notification গ্রহণ করতে, একটি FirebaseMessagingService ক্লাস তৈরি করুন এবং onMessageReceived() মেথডে নোটিফিকেশন হ্যান্ডেল করুন:

// FirebaseMessagingService এর মাধ্যমে push notification গ্রহণ
public class MyFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // Notification Payload
        if (remoteMessage.getNotification() != null) {
            String title = remoteMessage.getNotification().getTitle();
            String body = remoteMessage.getNotification().getBody();
            // এখানে আপনি নোটিফিকেশন প্রদর্শন করতে পারেন
        }
    }

    @Override
    public void onNewToken(String token) {
        // টোকেন পুনঃপ্রাপ্তি
        Log.d("FCM", "New Token: " + token);
        // সার্ভারে টোকেন পাঠান
    }
}

iOS এর জন্য FCM কনফিগারেশন

১. Firebase Console এ iOS App যুক্ত করা

  1. Firebase Console এ গিয়ে আপনার প্রজেক্টে একটি iOS অ্যাপ যুক্ত করুন।
  2. GoogleService-Info.plist ফাইলটি ডাউনলোড করে আপনার Xcode প্রজেক্টে যোগ করুন।

২. Firebase SDK ইনস্টল করা

CocoaPods ব্যবহার করে Firebase Messaging ইনস্টল করুন:

pod 'Firebase/Messaging'

Xcode প্রজেক্টে Firebase কনফিগারেশন সম্পন্ন করুন:

import Firebase

FirebaseApp.configure()

৩. Push Notification গ্রহণ করা

iOS অ্যাপে push notifications গ্রহণ করতে, আপনি UNUserNotificationCenter এবং FirebaseMessaging ক্লাসের মাধ্যমে নোটিফিকেশন হ্যান্ডেল করতে পারেন:

import Firebase
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        // Firebase Messaging এ device token নিবন্ধন
        Messaging.messaging().apnsToken = deviceToken
    }

    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
        // FCM টোকেন প্রাপ্তি
        print("FCM Token: \(fcmToken ?? "")")
    }

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        // Notification গ্রহণ করা
    }
}

সারাংশ

Firebase Cloud Messaging (FCM) ব্যবহার করে ওয়েব এবং মোবাইল অ্যাপ্লিকেশ

নে push notification পাঠানো এবং গ্রহণ করা যায়। ওয়েব অ্যাপের জন্য FCM কনফিগারেশন করতে Firebase SDK ইনস্টল করে টোকেন নিবন্ধন এবং সেবা কর্মী (service worker) সেটআপ করতে হয়। মোবাইল অ্যাপের জন্য Android এবং iOS প্ল্যাটফর্মে Firebase SDK ইনস্টল করে টোকেন গ্রহণ এবং push notification হ্যান্ডলিংয়ের মাধ্যমে FCM কনফিগার করা হয়।

Content added By

টপিক বেজড এবং কন্ডিশনাল মেসেজিং

265

ফায়ারবেস টপিক-বেজড এবং কন্ডিশনাল মেসেজিং (Firebase Topic-based and Conditional Messaging) ফিচারগুলো ব্যবহারকারীদের নির্দিষ্ট গ্রুপ বা শর্তের ভিত্তিতে পুশ নোটিফিকেশন পাঠানোর সুবিধা দেয়। এটি খুবই কার্যকরী যখন আপনি আপনার অ্যাপের ব্যবহারকারীদের টার্গেটেড এবং প্রাসঙ্গিক নোটিফিকেশন পাঠাতে চান, যেমন কোনো বিশেষ অফার, বিজ্ঞাপন, বা অ্যাপ আপডেট সম্পর্কিত তথ্য।


টপিক-বেজড মেসেজিং (Topic-based Messaging)

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

টপিক-বেজড মেসেজিং কিভাবে কাজ করে

  1. টপিক সাবস্ক্রাইব: আপনার অ্যাপ ব্যবহারকারীরা টপিক সাবস্ক্রাইব করতে পারে, যেমন "sports", "news", "offers" ইত্যাদি।
  2. টপিক থেকে মেসেজ পাঠানো: আপনি সেই টপিকের সকল ব্যবহারকারীকে একটি নির্দিষ্ট মেসেজ পাঠাতে পারেন।

টপিক সাবস্ক্রাইব করা

ফায়ারবেস ক্লাউড মেসেজিং (FCM) এর মাধ্যমে ব্যবহারকারীদের টপিক সাবস্ক্রাইব করানো যায়। নিচে অ্যান্ড্রয়েড এবং আইওএসের জন্য কোড উদাহরণ দেওয়া হল:

অ্যান্ড্রয়েড উদাহরণ:

FirebaseMessaging.getInstance().subscribeToTopic("sports")
    .addOnCompleteListener(task -> {
        String msg = task.isSuccessful() ? "Subscribed to sports" : "Subscription failed";
        Log.d("Topic", msg);
    });

আইওএস উদাহরণ:

Messaging.messaging().subscribe(toTopic: "sports") { error in
    if let error = error {
        print("Subscription failed: \(error.localizedDescription)")
    } else {
        print("Subscribed to sports topic")
    }
}

টপিক থেকে মেসেজ পাঠানো

একবার আপনি একটি টপিক তৈরি করলে, আপনি সেই টপিকের সব সাবস্ক্রাইবারদের মেসেজ পাঠাতে পারেন।

টপিক বেজড মেসেজ পাঠানো (সার্ভার সাইড):

{
  "to": "/topics/sports",
  "notification": {
    "title": "New Sports News",
    "body": "Check out the latest sports updates!"
  }
}

এটি FCM HTTP v1 API এর মাধ্যমে সার্ভার সাইডে পাঠানো যাবে।


কন্ডিশনাল মেসেজিং (Conditional Messaging)

কন্ডিশনাল মেসেজিং ফিচারটি আপনাকে আরো বিস্তারিত কন্ট্রোল দেয়, যেখানে আপনি নির্দিষ্ট শর্ত অনুযায়ী মেসেজ পাঠাতে পারেন। উদাহরণস্বরূপ, আপনি যদি চান যে একটি মেসেজ শুধুমাত্র সেই ব্যবহারকারীদের কাছে পৌঁছাবে যাদের অ্যাপের সংস্করণ 1.2.3 বা তার পরে, তবে আপনি কন্ডিশনাল মেসেজিং ব্যবহার করতে পারেন।

কন্ডিশনাল মেসেজিং কিভাবে কাজ করে

কন্ডিশনাল মেসেজিংয়ের মাধ্যমে আপনি বিভিন্ন শর্ত (যেমন: ব্যবহারকারীর স্থান, অ্যাপ ভার্সন, ডিভাইস টাইপ, ইত্যাদি) অনুযায়ী মেসেজ পাঠাতে পারেন।

কন্ডিশনাল কিউরি উদাহরণ

আপনি নির্দিষ্ট শর্তে মেসেজ পাঠাতে চাইলে FCM এর "condition" ফিচার ব্যবহার করতে পারেন। উদাহরণস্বরূপ:

  • শুধুমাত্র Android ব্যবহারকারীদের জন্য মেসেজ পাঠানো:

    {
      "condition": "'android' in topics",
      "notification": {
        "title": "Exclusive Android Offer!",
        "body": "Get 50% off on your next purchase."
      }
    }
    
  • শুধু অ্যাপের সংস্করণ 1.2.3 বা পরবর্তী ব্যবহারকারীদের জন্য মেসেজ পাঠানো:

    {
      "condition": "'version' in topics && version >= 1.2.3",
      "notification": {
        "title": "New Version Update",
        "body": "Update now for the latest features!"
      }
    }
    

কন্ডিশনাল মেসেজিং এর আরও কিছু উদাহরণ

১. ডিভাইস টাইপের ভিত্তিতে মেসেজ পাঠানো

আপনি মেসেজ পাঠাতে পারেন যেগুলো শুধুমাত্র Android বা iOS ডিভাইসগুলির জন্য। যেমন:

{
  "condition": "'android' in topics",
  "notification": {
    "title": "Exclusive Android Update",
    "body": "New Android features are here!"
  }
}

২. ব্যবহারকারীর অবস্থান অনুযায়ী মেসেজ পাঠানো

যদি আপনার কাছে ব্যবহারকারীদের অবস্থান তথ্য থাকে, তাহলে আপনি একটি শর্ত প্রদান করে তাদের অবস্থান অনুযায়ী মেসেজ পাঠাতে পারেন।

৩. অ্যাপ ভার্সন অনুযায়ী মেসেজ পাঠানো

যদি আপনার অ্যাপের কিছু নির্দিষ্ট ভার্সনের জন্য নতুন আপডেট বা পুশ নোটিফিকেশন থাকে, আপনি সেই ব্যবহারকারীদের টার্গেট করতে পারেন যারা সেগুলির সাবস্ক্রাইবার।


সারাংশ

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

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...