Local Notifications এবং Push Notifications হলো দুটি প্রধান ধরনের নোটিফিকেশন যা মোবাইল অ্যাপ্লিকেশনে ব্যবহৃত হয়। তারা ব্যবহারকারীদের তথ্য প্রদান, অনুস্মারক পাঠানো বা অ্যাপ্লিকেশন থেকে ইভেন্ট সম্পর্কে জানাতে সাহায্য করে। .NET MAUI তে এই নোটিফিকেশনগুলো সেটআপ এবং ব্যবহার করা যায়।
1. Local Notifications:
Local Notifications হল এমন নোটিফিকেশন যা অ্যাপ্লিকেশন নিজে থেকেই ট্রিগার করে, অর্থাৎ ব্যবহারকারী যখন অ্যাপ ব্যবহার করছেন না, তবুও অ্যাপটি নির্দিষ্ট সময় বা নির্দিষ্ট কার্যকলাপের জন্য ব্যবহারকারীকে নোটিফাই করতে পারে।
Local Notification এর কাজ:
- Device Side: Local notifications ডিভাইসের নিজস্ব API ব্যবহার করে, অর্থাৎ এটি সার্ভার থেকে আসে না, এটি শুধু আপনার অ্যাপ্লিকেশন থেকে তৈরি হয়।
- Trigger: একটি নির্দিষ্ট সময় বা ইভেন্ট ঘটলে, যেমন: একটি রিমাইন্ডার সেট করা, বিশেষ কোনো সময়ের মধ্যে বা নির্দিষ্ট কোনো কাজের জন্য নোটিফিকেশন পাঠানো।
- Usage: এটি সাধারণত সময়নিষ্ঠ বা কাস্টমাইজড রিমাইন্ডার বা ইভেন্টগুলির জন্য ব্যবহৃত হয়। যেমন: অ্যাপ্লিকেশন থেকে নোটিফিকেশন পাঠানো, যখন ব্যবহারকারী নির্দিষ্ট কোনো সময়ের জন্য অবহেলিত থাকে বা কিছু নির্দিষ্ট কার্যকলাপ ঘটবে।
Local Notification তৈরি করার উদাহরণ (.NET MAUI):
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;
public class LocalNotificationPage : ContentPage
{
public LocalNotificationPage()
{
var notifyButton = new Button
{
Text = "Send Local Notification"
};
notifyButton.Clicked += async (sender, e) =>
{
var notification = new NotificationRequest
{
NotificationId = 1,
Title = "Reminder",
Body = "Don't forget to check your tasks!",
Schedule = DateTime.Now.AddSeconds(10) // Schedule for 10 seconds later
};
await NotificationCenter.Current.ScheduleNotificationAsync(notification);
};
Content = new StackLayout
{
Children = { notifyButton }
};
}
}
এখানে, NotificationRequest ব্যবহৃত হচ্ছে একটি local notification তৈরি করতে, যা 10 সেকেন্ড পর প্রদর্শিত হবে।
2. Push Notifications:
Push Notifications হল এমন নোটিফিকেশন যা একটি সার্ভার থেকে পাঠানো হয় এবং এটি ব্যবহারকারীর ডিভাইসে দূরবর্তীভাবে (remote) পৌঁছায়। Push notification প্রেরণ করার জন্য একটি push notification service (যেমন Firebase Cloud Messaging বা Apple Push Notification Service) ব্যবহার করা হয়।
Push Notification এর কাজ:
- Server Side: Push notifications সার্ভার থেকে পাঠানো হয়। অ্যাপ্লিকেশনটি একটি নির্দিষ্ট সার্ভিস (যেমন Firebase) এর মাধ্যমে নোটিফিকেশন পায়।
- Trigger: সার্ভারটি একটি নির্দিষ্ট ইভেন্ট বা কার্যকলাপের জন্য নোটিফিকেশন পাঠায়। যেমন: নতুন মেসেজ, অফার, বিজ্ঞাপন ইত্যাদি।
- Usage: এটি ব্যবহারকারীর অ্যাপ্লিকেশনটি খোলা না থাকা অবস্থাতেও গুরুত্বপূর্ণ আপডেট বা তথ্য পৌঁছানোর জন্য ব্যবহৃত হয়।
Push Notification পাঠানোর উদাহরণ:
Push notification পাঠানোর জন্য, আপনি সাধারণত একটি cloud-based service (যেমন Firebase) ব্যবহার করবেন। এখানে Firebase Cloud Messaging (FCM) এর উদাহরণ দেখানো হলো।
- Firebase সেটআপ:
- Firebase এ আপনার অ্যাপ্লিকেশন নিবন্ধন করুন।
- Firebase Cloud Messaging (FCM) সক্রিয় করুন।
- Push Notification পাঠানোর কোড (.NET MAUI):
using Firebase.CloudMessaging;
public class PushNotificationService
{
public async Task SendPushNotificationAsync(string token, string title, string body)
{
var message = new
{
to = token, // Device token
notification = new
{
title = title,
body = body
}
};
var jsonMessage = JsonConvert.SerializeObject(message);
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://fcm.googleapis.com/fcm/send"),
Content = new StringContent(jsonMessage, Encoding.UTF8, "application/json")
};
// Add Firebase Server Key to Authorization header
request.Headers.Add("Authorization", "key=YOUR_SERVER_KEY");
using (var client = new HttpClient())
{
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
}
}
}
এখানে, আমরা Firebase Cloud Messaging API ব্যবহার করে একটি push notification পাঠাচ্ছি। এটি সরাসরি নির্দিষ্ট device token এ নোটিফিকেশন পাঠাবে।
Local এবং Push Notifications এর মধ্যে পার্থক্য:
| পার্থক্য | Local Notification | Push Notification |
|---|---|---|
| উৎস | অ্যাপ্লিকেশন নিজে থেকেই নোটিফিকেশন তৈরি করে। | সার্ভার থেকে একটি রিমোট সিস্টেম (যেমন Firebase) এর মাধ্যমে পাঠানো হয়। |
| প্ল্যাটফর্ম | ডিভাইসের নিজস্ব API ব্যবহার করে। | সার্ভারের মাধ্যমে এবং তৃতীয় পক্ষের API যেমন FCM, APNS ব্যবহার করে। |
| ইন্টারঅ্যাকশন | নির্দিষ্ট সময় বা ইভেন্টে ট্রিগার হয়। | সার্ভার দ্বারা নির্দিষ্ট ইভেন্টের ভিত্তিতে ট্রিগার হয়। |
| ব্যবহার | সময়নিষ্ঠ কাজের জন্য যেমন রিমাইন্ডার বা কাস্টম অ্যাপ্লিকেশন ইভেন্ট। | ব্যবহারকারীদের সাথে যোগাযোগ রক্ষায়, যেমন নতুন মেসেজ, অফার ইত্যাদি। |
সারাংশ:
- Local Notifications ডিভাইসের নিজস্ব প্ল্যাটফর্মে ব্যবহৃত হয় এবং ব্যবহারকারীর নির্দিষ্ট সময় বা ইভেন্ট অনুযায়ী নোটিফিকেশন পাঠানো হয়। এটি সাধারণত অ্যাপ্লিকেশনের নিজের কন্ট্রোলের মধ্যে থাকে এবং ব্যাকগ্রাউন্ডে কাজ করতে পারে।
- Push Notifications সার্ভার থেকে পাঠানো হয় এবং এটি এমন নোটিফিকেশন যা সার্ভিসের মাধ্যমে ডিভাইসে পাঠানো হয়, এমনকি অ্যাপ্লিকেশনটি বন্ধ থাকলেও। Push notifications ব্যবহারকারীর সাথে নিরবচ্ছিন্ন যোগাযোগ রক্ষার জন্য অনেক বেশি উপকারী, যেমন নতুন মেসেজ বা গুরুত্বপূর্ণ আপডেট জানানো।
.NET MAUI তে উভয় ধরনের নোটিফিকেশন ব্যবহারের জন্য প্রয়োজনীয় API গুলি সরবরাহ করা হয় এবং আপনাকে প্ল্যাটফর্ম বিশেষ কনফিগারেশন করতে হতে পারে (যেমন Firebase বা APNS ব্যবহার)।
Read more