Push Notification Integration

🔔 React Native (TypeScript) এ Firebase Push Notification Integration

এই টিউটোরিয়ালে আমরা শিখব কীভাবে React Native + TypeScript প্রোজেক্টে Firebase Notification বা Push Notification ইন্টিগ্রেট করতে হয়। Push Notification ব্যবহার করে আপনি অ্যাপ ব্যবহারকারীদেরকে রিয়েল-টাইম মেসেজ, আপডেট এবং এলার্ট পাঠাতে পারবেন।


📌 ১. প্রয়োজনীয় Library এবং Setup

Firebase Push Notification কাজ করার জন্য আমাদের দরকার:

  • React Native Firebase Core
  • React Native Firebase Messaging
  • @react-native-firebase/app
  • React Native Typescript Template
# React Native project create with TypeScript
npx react-native init MyFirebaseApp --template react-native-template-typescript

# Firebase packages install
yarn add @react-native-firebase/app @react-native-firebase/messaging

Firebase Console-এ আপনার প্রোজেক্ট তৈরি করুন এবং Android/iOS app যোগ করুন। Google-Services.json (Android) এবং GoogleService-Info.plist (iOS) ডাউনলোড করে যথাযথ ফোল্ডারে রাখুন।


📌 ২. Firebase Messaging Permission

React Native-এ push notification পাওয়ার জন্য permission চাওয়া প্রয়োজন।

import messaging from '@react-native-firebase/messaging';
import { useEffect } from 'react';
import { Alert } from 'react-native';

export const useFirebaseNotification = () => {
  useEffect(() => {
    // Request permission
    messaging()
      .requestPermission()
      .then(authStatus => {
        if (authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
            authStatus === messaging.AuthorizationStatus.PROVISIONAL) {
          console.log('Notification permission granted.');
        } else {
          Alert.alert('Permission denied', 'Notification permission is required.');
        }
      });

    // Get FCM token
    messaging()
      .getToken()
      .then(token => {
        console.log('FCM Token:', token);
      });

  }, []);
};

এটি permission চায় এবং device এর FCM Token console-এ দেখায়।


📌 ৩. Foreground Notification হ্যান্ডলিং

অ্যাপ foreground-এ থাকলে notification handle করতে হবে।

import messaging from '@react-native-firebase/messaging';
import { useEffect } from 'react';
import { Alert } from 'react-native';

useEffect(() => {
  const unsubscribe = messaging().onMessage(async remoteMessage => {
    Alert.alert('New Notification!', remoteMessage.notification?.title || '');
  });

  return unsubscribe;
}, []);

এটি একটি alert দিয়ে নতুন notification দেখায়।


📌 ৪. Background & Quit State Notification

অ্যাপ background বা closed থাকলেও notification handle করতে হবে।

// index.tsx
import messaging from '@react-native-firebase/messaging';
import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';

messaging().setBackgroundMessageHandler(async remoteMessage => {
  console.log('Message handled in the background!', remoteMessage);
});

AppRegistry.registerComponent(appName, () => App);

এটি background বা killed state-এ notification handle করবে।


📌 ৫. Testing Notification

Firebase Console থেকে notification send করুন।

1. Firebase Console → Cloud Messaging
2. Send your test notification
3. Device তে notification দেখুন

Output: আপনার device-এ push notification alert প্রদর্শিত হবে।


📌 ৬. Summary & Best Practices

  • TypeScript ব্যবহার করে strongly typed props এবং notification handle করুন।
  • Foreground এবং Background Notification আলাদাভাবে handle করুন।
  • FCM Token secure ভাবে backend-এ পাঠান।
  • Notification Permission সর্বদা চেক করুন।
  • Heavy logic notification callback এ রাখবেন না। Background thread বা server-side process ব্যবহার করুন।

✔ এইভাবে আপনি React Native (TypeScript) প্রোজেক্টে Firebase Push Notification সফলভাবে integrate করতে পারবেন এবং ব্যবহারকারীকে রিয়েল-টাইম আপডেট পাঠাতে পারবেন।

👼 Quiz
/

লোড হচ্ছে...