আজকের অত্যন্ত প্রতিযোগিতামূলক মোবাইল অ্যাপ ল্যান্ডস্কেপে, আপনার অ্যাপের ব্যবহারকারীদের কার্যকরভাবে জড়িত রাখা এবং সময়মতো ইনফরমেশন দিয়ে যেতে কী।
Firebase Cloud Messaging (FCM) Firebase দ্বারা প্রদত্ত একটি শক্তিশালী পশ নোটিফিকেশন সার্ভিস। এটি আপনার অ্যাপের ব্যবহারকারীদের সাথে সংযোগ স্থাপন করতে এবং তাদের জড়িত রাখতে একটি নিরবিধ উপায় প্রদান করে।
এই টিউটোরিয়ালে, আমরা Flutter-এ FCM ইন্টিগ্রেশনে গভীরে যাব। আমরা এর সুবিধাগুলো অন্বেষণ করব এবং রিয়েল-ওয়ার্ল্ড উদাহরণ দেখাব কীভাবে এটি ব্যবহারকারীর জড়িত থাকাকে উন্নত করতে পারে এবং অ্যাপ পারফরম্যান্স উন্নত করতে পারে।
Firebase Cloud Messaging (FCM) আপনার সার্ভার এবং ডিভাইসের মাঝপথে একটি নির্ভরযোগ্য এবং ব্যাটারি-দক্ষ সংযোগ প্রদান করে। এটি আপনাকে iOS, Android, এবং ওয়েবে মেসেজ এবং নোটিফিকেশন ডেলিভার এবং রিসিভ করার অনুমতি দেয় বিনামূল্যে।
এই টিউটোরিয়ালে, আমরা Firebase Cloud Messaging (FCM) সেট আপ এবং ব্যবহার করার প্রক্রিয়া অন্বেষণ করব Flutter-এ Firebaseকে ব্যাকএন্ড সার্ভিস হিসেবে ব্যবহার করে। যদিও মূল ফোকাস Android ইমপ্লিমেন্টেশনের ওপর থাকবে, মনে রাখা ভালো যে প্রক্রিয়াটি iOS এবং Android-এর জন্য সাদৃশ্য (কয়েকটি কনফিগারেশন পার্থক্য ছাড়া)।
এখানে আমরা কভার করব:
- Firebase-এ অ্যাপ তৈরি করার উপায়
- Flutter-এ Firebase সেট আপ করার উপায়
- FCM টোকেন ব্যবহার করে পশ নোটিফিকেশন ইমপ্লিমেন্ট করার উপায়
এই টিউটোরিয়ালে, আপনি শিখবেন কীভাবে Firebase ব্যবহার করে একটি সিম্পল নোটিফিকেশন পাঠাবেন Flutter-এ চলমান অ্যাপে। চলুন শুরু করি।
Firebase-এ অ্যাপ তৈরি করার উপায়
আমি Firebase কনসোলে একটি নতুন প্রজেক্ট তৈরি করব শুরু করতে। আমি প্রয়োজনীয় ধাপগুলো ওয়াকথ্রু করব, যার মধ্যে প্রজেক্ট সেটআপ, Firebase Cloud Messaging কনফিগার করা, এবং আমাদের Flutter অ্যাপের জন্য প্রয়োজনীয় ক্রেডেনশিয়াল এবং কনফিগারেশন ফাইল পাওয়া।
অ্যাপ তৈরি করার আগে আপনাকে Firebase কনসোলে সাইন আপ করতে হবে আপনার অ্যাকাউন্ট না থাকলে। সাইন আপ করার পর, একটি প্রজেক্ট তৈরি করার চেষ্টা করুন।
Firebase-এ প্রজেক্ট তৈরি
এটিতে কিছু সময় লাগবে প্রজেক্ট তৈরি করতে।
Firebase-এ প্রজেক্ট তৈরি হচ্ছে
প্রজেক্ট তৈরি হলে, এটি আপনাকে প্রজেক্ট ড্যাশবোর্ডে রিডাইরেক্ট করবে।
Firebase Console-এ Project Overview
Firebase কনসোলে প্রজেক্ট তৈরি হলে, এখন আমাদের Flutter অ্যাপের সাথে শুরু করার সময়।
Flutter-এ Firebase সেট আপ করার উপায়
আমি Visual Studio Code ব্যবহার করে একটি সিম্পল Flutter প্রজেক্ট তৈরি করেছি। আপনি যদি Flutter প্রজেক্ট বানানোতে অনভিজ্ঞ হন, আপনি আমার পূর্বের টিউটোরিয়াল রেফার করতে পারেন। (আপনি যদি ইতিমধ্যে পরিচিত হন, আপনি এই ধাপ স্কিপ করতে পারেন।)
Android ডিভাইসে চলমান সিম্পল Flutter অ্যাপ্লিকেশন
চলুন আমাদের Flutter প্রজেক্টে Firebase ইন্টিগ্রেট করি। এটি করার জন্য, আমাদের একটি Firebase CLI কমান্ড-লাইন টুল দরকার। আমি ইতিমধ্যে Firebase CLI ইনস্টল করেছি। আপনি যদি এটা না করেন, অফিসিয়াল ডকুমেন্টেশন রেফার করতে পারেন।
তারপর আমাদের Firebase-এ লগইন করতে হবে Firebase CLI ব্যবহার করে।
firebase login
FirebaseCLI ব্যবহার করে Firebase-এ লগইন
এটি আপনাকে ব্রাউজারে নেভিগেট করবে Firebase-এ লগইন করার জন্য। সফল অথেন্টিকেশন সম্পন্ন হলে আপনি ফিরে নেভিগেট হবেন।
সফল লগইনের পর, আমাদের FlutterFire CLI ইনস্টল করতে হবে। আমরা FlutterFire CLI ব্যবহার করতে পারি আমাদের Flutter অ্যাপগুলোকে Firebase-এ সংযোগ করার জন্য কনফিগার করতে। FlutterFire CLI এক্টিভেট করার জন্য নিচের কমান্ড চালান:
dart pub global activate flutterfire_cli
FlutterFire CLI হলো একটি কমান্ড-লাইন ইন্টারফেস টুল যা Firebase সার্ভিসগুলোর Flutter অ্যাপ্লিকেশনগুলোর সাথে ইন্টিগ্রেশনকে সহজ করে তোলে। এটি আমাদের Flutter প্রজেক্টে Firebase প্লাগইন যোগ, কনফিগার, এবং ম্যানেজ করার একটি সুবিধাজনক উপায় প্রদান করে।
FlutterFireCLI ইনস্টল হচ্ছে
পরবর্তী ধাপ হলো firebase_core লাইব্রেরি আমাদের Flutter প্রজেক্টে যোগ করা।
নিচের কমান্ডটি স্বয়ংক্রিয়ভাবে firebase_core প্যাকেজকে আপনার প্রজেক্টের pubspec.yaml ফাইলে ডিপেন্ডেন্সি হিসেবে যোগ করবে এবং pub.dev- থেকে প্যাকেজটির লেটেস্ট ভার্সন ফেচ করবে। এই কমান্ড চালানোর পর, আপনি firebase_core প্যাকেজটি Dart ফাইলগুলোতে ইম্পোর্ট করতে পারবেন এবং আমাদের Flutter অ্যাপে Firebase সার্ভিস ব্যবহার করতে পারবেন।
flutter pub add firebase_core
Firebase Core প্যাকেজ ইনস্টল হচ্ছে
flutterfire configure কমান্ডটি FlutterFire CLI ব্যবহার করে আমাদের Flutter প্রজেক্টে Firebase সার্ভিস কনফিগার করতে ব্যবহৃত হয়। এই কমান্ড আমাদের Firebase অথেন্টিকেশন, Firestore, Cloud Messaging, এবং অন্যান্য Firebase সার্ভিস সহজে এবং দক্ষতার সাথে সেট আপ করতে সাহায্য করে।
flutterfire configure
প্রথম ধাপ হলো প্রজেক্ট বেছে নেওয়া,
Flutter অ্যাপকে Firebase অ্যাপের সাথে সংযোগ
পরবর্তী হলো প্ল্যাটফর্ম বেছে নেওয়া। আমি এখানে Android ব্যবহার করছি, তাই আমি Android বেছে নিলাম।
প্ল্যাটফর্ম বেছে নেওয়া
সফল কনফিগারেশনের পর, Firebase App Id দেখাবে।
শেষে, আমাদের main.dart ফাইলে কিছু কোড পরিবর্তন যোগ করতে হবে।
নিচের প্যাকেজগুলো ইম্পোর্ট করুন:
import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart';
main.dart ফাইলের main ফাংশনের ভিতরে Firebase কনফিগারেশন ইনিশিয়ালাইজ করার নিচের কনফিগারেশন যোগ করুন।
await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
ঠিক আছে, আমরা সফলভাবে আমাদের Flutter অ্যাপে Firebase কনফিগারেশন সম্পন্ন করলাম! এই মাইলস্টোন টি উদযাপন করতে একটু সময় নেই। Firebase সার্ভিস কনফিগার করা শক্তিশালী এবং ফিচার-রিচ অ্যাপ্লিকেশন বানানোর একটি গুরুত্বপূর্ণ ধাপ।
FCM টোকেন ব্যবহার করে পশ নোটিফিকেশন ইমপ্লিমেন্ট করার উপায়
আমরা ডিভাইস রেজিস্ট্রেশন প্রক্রিয়া ইমপ্লিমেন্ট করব পশ নোটিফিকেশনের জন্য এবং প্রতিটি ডিভাইসে এসাইন করা অনন্য FCM টোকেন রিট্রিভ করব। এই ধাপটি লক্ষ্যভেদী নোটিফিকেশন নির্দিষ্ট ডিভাইসে পাঠাতে গুরুত্বপূর্ণ।
আমরা Firebase Cloud Messaging ব্যবহার করে ডিভাইসগুলিতে পশ নোটিফিকেশন পাঠানোর ইমপ্লিমেন্টেশনে ডুব করব। আমরা এক্সপ্লোর করব কীভাবে নোটিফিকেশন মেসেজ স্ট্রাকচার এবং পাঠাতে হয় Firebase কনসোল থেকে এবং প্রদর্শন করব কীভাবে এই মেসেজগুলো আমাদের Flutter অ্যাপে হ্যান্ডেল করা হয়।
flutter pub add firebase_messaging
firebase messaging প্যাকেজ ইনস্টল হচ্ছে
এরপর, আমাদের setAutoInitEnabled ফাংশন ট্রিগার করতে হবে Firebase Cloud Messaging (FCM)-র অটোমেটিক ইনিশিয়ালাইজেশন ইনেবল করার জন্য আমাদের Flutter অ্যাপে। এর মানে FCM স্বয়ংক্রিয়ভাবে ইনিশিয়ালাইজ হবে এবং ডিভাইস টোকেন রিট্রিভ করবে যখন অ্যাপ শুরু হবে।
main মেথডে নিচের ফাংশন কল যোগ করুন:
import 'package:firebase_messaging/firebase_messaging.dart'; ... ... await FirebaseMessaging.instance.setAutoInitEnabled(true);
আমাদের Flutter অ্যাপ চালিয়ে দেখি আমরা নোটিফিকেশন পাই কিনা।
Firebase মেসেজিং কনসোলে নেভিগেট করুন। যেহেতু এটি আমাদের প্রথম মেসেজ, আমাদের "Create your first campaign" সিলেক্ট করতে হবে। "Firebase Notification messages" সিলেক্ট করুন এবং "Create"-এ ক্লিক করুন।
স্যাম্পল টেস্ট মেসেজিং টেমপ্লেট
এখন আমাদের নোটিফিকেশন টাইটেল, টেক্সট, এবং মেসেজের জন্য নাম দিতে হবে।
তারপর আমরা ম্যানুয়ালি FCM টোকেন পেতে পারি টেস্টিং উদ্দেশ্যে নিচের কোড ব্যবহার করে। একটি অ্যাপ ইনস্ট্যান্সের জন্য বর্তমান রেজিস্ট্রেশন টোকেন রিট্রিভ করতে, main() মেথডে getToken() কল করুন। এই মেথডটি ব্যবহারকারী থেকে নোটিফিকেশন পারমিশন চাইবে যদি নোটিফিকেশন পারমিশন দেওয়া নয়। অন্যথায়, এটি একটি টোকেন রিটার্ন করবে বা রিজেক্ট করবে কোনো এরর থাকলে।
final fcmToken = await FirebaseMessaging.instance.getToken(); log("FCMToken $fcmToken");
কনসোলে প্রিন্ট হওয়া FCM টোকেন কপি করুন এবং "Add an FCM registration token" ইনপুট বক্সে পেস্ট করুন।
FCM Token ব্যবহার করে টেস্ট মেসেজ পাঠানো
Test বাটনে ক্লিক করুন। টার্গেটেড ক্লায়েন্ট ডিভাইস (অ্যাপ ব্যাকগ্রাউন্ডে থাকলে) নোটিফিকেশন পাবে।
Android ডিভাইসে পশ নোটিফিকেশন রিসিভ করা
Hurray! আমরা আমাদের Android ডিভাইসে নোটিফিকেশন পেয়েছি। যদি আমরা নোটিফিকেশনে ক্লিক করি, ডিফল্ট আচরণ হিসেবে অ্যাপটি খুলবে।
যখন আমরা একটি নোটিফিকেশনে ট্যাপ করি, Android এবং iOS-এ ডিফল্ট আচরণ হলো অ্যাপ্লিকেশন খোলা। যদি অ্যাপ্লিকেশন টার্মিনেটেড থাকে, তবে এটি শুরু হবে। যদি এটি ব্যাকগ্রাউন্ডে থাকে, তবে এটি ফোরগ্রাউন্ডে আনা হবে।
এখানে, আমরা Firebase মেসেজিং ইনিশিয়ালাইজ করার বেসিক কনফিগারেশন দেখতে পাচ্ছি।
main.dart
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'firebase_options.dart'; void main() async { runApp(const MyApp()); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); final fcmToken = await FirebaseMessaging.instance.getToken(); await FirebaseMessaging.instance.setAutoInitEnabled(true); log("FCMToken $fcmToken"); }
উপসংহার
এই টিউটোরিয়ালে আমরা Flutter-এ Firebase Cloud Messaging (FCM) ব্যবহার করে পশ নোটিফিকেশন ইমপ্লিমেন্ট করার অতिआবশ্যক ধাপগুলো কভার করেছি।
আউটলাইন করা ধাপগুলো ফলো করে, আপনি Firebase সেট আপ করতে পারেন, আপনার Flutter প্রজেক্টে ইন্টিগ্রেট করতে পারেন, এবং পশ নোটিফিকেশন ফাংশনালিটি ইমপ্লিমেন্ট করতে পারেন।
নিরবিধভাবে নোটিফিকেশন পাঠাতে এবং রিসিভ করতে সক্ষম হয়ে, আপনি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারেন এবং আপনার অ্যাপের ব্যবহারকারীদের সাথে কার্যকরভাবে জড়িত থাকতে পারেন। ভবিষ্যতের টিউটোরিয়ালে আরও অ্যাডভান্সড টপিক্স এবং ফিচার 지켜 থাকুন।
আপনি যদি Flutter সম্পর্কে আরও জানতে চান, আমার ইমেইল নিউজলেটার সাবস্ক্রাইব করুন (https://5minslearn.gogosoon.com/) এবং সোশ্যাল মিডিয়ায় আমাকে ফলো করুন।
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started