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

Firebase Cloud Messaging (FCM) - ফায়ারবেস (Firebase) - Web Development

331

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
Promotion

Are you sure to start over?

Loading...