Local Notifications এবং Push Notifications

Mobile App Development - আইওএস ডেভেলপমেন্ট (iOS) - Notifications এবং Background Execution
252

Local Notifications এবং Push Notifications iOS অ্যাপে ব্যবহারকারীকে গুরুত্বপূর্ণ তথ্য বা আপডেট জানানোর জন্য ব্যবহৃত দুটি গুরুত্বপূর্ণ নোটিফিকেশন পদ্ধতি। এগুলো ব্যবহার করে অ্যাপ্লিকেশন অ্যাপ্লিকেশন চালু না থাকলেও ব্যবহারকারীর কাছে মেসেজ পাঠাতে পারে। তবে, এই দুটি নোটিফিকেশনের মধ্যে কিছু মূল পার্থক্য রয়েছে।

Local Notifications

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

Local Notifications কিভাবে কাজ করে?

  • অ্যাপ্লিকেশন চালু থাকলেও বা বন্ধ থাকলেও Local Notification ট্রিগার হতে পারে, তবে এটি সরাসরি ডিভাইস থেকে আসে, কোনো সার্ভারের প্রয়োজন হয় না।
  • এটি অ্যাপের অভ্যন্তরীণ সময়সূচি বা নির্দিষ্ট ইভেন্টের উপর নির্ভর করে।

Local Notification সেটআপ করার উদাহরণ

import UserNotifications

func scheduleLocalNotification() {
    // নোটিফিকেশন অনুমতি চাওয়া
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
        if granted {
            print("Notification permission granted.")
            self.createLocalNotification()
        } else {
            print("Notification permission denied.")
        }
    }
}

func createLocalNotification() {
    // নোটিফিকেশন কন্টেন্ট সেট করা
    let content = UNMutableNotificationContent()
    content.title = "Reminder"
    content.body = "Don't forget to complete your task!"
    content.sound = .default
    
    // ৫ সেকেন্ড পরে নোটিফিকেশন ট্রিগার করা
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
    
    // নোটিফিকেশন রিকোয়েস্ট তৈরি করা
    let request = UNNotificationRequest(identifier: "reminder", content: content, trigger: trigger)
    
    // নোটিফিকেশন সিডিউল করা
    UNUserNotificationCenter.current().add(request) { error in
        if let error = error {
            print("Error scheduling notification: \(error.localizedDescription)")
        } else {
            print("Local Notification scheduled.")
        }
    }
}
  • requestAuthorization: নোটিফিকেশন পাঠানোর আগে ব্যবহারকারীর অনুমতি চাওয়া হয়।
  • UNMutableNotificationContent: নোটিফিকেশনের কন্টেন্ট সেট করা হয় (শিরোনাম, বার্তা, শব্দ ইত্যাদি)।
  • UNTimeIntervalNotificationTrigger: নির্দিষ্ট সময় পরে নোটিফিকেশন ট্রিগার করা হয়।
  • UNNotificationRequest: নোটিফিকেশন রিকোয়েস্ট তৈরি করা হয় এবং সিডিউল করা হয়।

Push Notifications

Push Notifications হলো এমন একটি নোটিফিকেশন যা অ্যাপের সার্ভার বা থার্ড-পার্টি সার্ভার থেকে ডিভাইসে পাঠানো হয়। এটি সাধারণত অ্যাপ্লিকেশনের বাইরে থেকে ডেটা আপডেট, রিমাইন্ডার, বা ইনফরমেশন ব্যবহারকারীকে জানাতে ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি নিউজ অ্যাপ নতুন সংবাদ আপডেটের জন্য Push Notification ব্যবহার করতে পারে।

Push Notifications কিভাবে কাজ করে?

  • Push Notifications APNs (Apple Push Notification Service) এর মাধ্যমে কাজ করে। ডেভেলপারকে অ্যাপল থেকে একটি Push Notification সনদ (certificate) তৈরি করতে হয় এবং সার্ভারের সাথে এটি ইন্টিগ্রেট করতে হয়।
  • Push Notifications পাঠাতে একটি সার্ভার বা ব্যাকএন্ড সিস্টেম প্রয়োজন হয়, যা APNs এর সাথে যোগাযোগ করে।
  • এটি ক্লাউড বা রিমোট সার্ভার থেকে ব্যবহারকারীকে নোটিফিকেশন পাঠায়, এমনকি যখন অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে থাকে বা সম্পূর্ণ বন্ধ থাকে।

Push Notification সেটআপের জন্য প্রয়োজনীয় ধাপসমূহ

APNs Certificate তৈরি:

  • অ্যাপল ডেভেলপার অ্যাকাউন্টে লগইন করে অ্যাপ আইডেন্টিফায়ার তৈরি করুন।
  • APNs সার্টিফিকেট তৈরি করুন এবং এটি ডাউনলোড করুন।

Firebase Cloud Messaging (FCM) বা নিজস্ব সার্ভার ব্যবহার করে অ্যাপ্লিকেশনে Push Notification ইন্টিগ্রেট করুন।

অ্যাপ্লিকেশনে Push Notification কোড সেটআপ করা:

import UIKit
import UserNotifications

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // নোটিফিকেশন অনুমতি চাওয়া
        UNUserNotificationCenter.current().delegate = self
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
            if granted {
                DispatchQueue.main.async {
                    application.registerForRemoteNotifications()
                }
            }
        }
        return true
    }
    
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        // ডিভাইস টোকেন সার্ভারে পাঠানো
        print("Device Token: \(deviceToken)")
    }

    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
        print("Failed to register: \(error.localizedDescription)")
    }
    
    // Push Notification রিসিভ করা হলে
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        completionHandler([.alert, .sound, .badge])
    }
}
  • requestAuthorization: Push Notification পাঠানোর জন্য ব্যবহারকারীর অনুমতি চাওয়া হয়।
  • registerForRemoteNotifications: ডিভাইসটিকে Push Notification রিসিভ করার জন্য রেজিস্টার করা হয়।
  • didRegisterForRemoteNotificationsWithDeviceToken: সফলভাবে রেজিস্টার হলে, ডিভাইস টোকেন পাওয়া যায় যা সার্ভারে পাঠানো হয়।
  • willPresent: নোটিফিকেশন রিসিভ করার পর এটি কিভাবে প্রদর্শিত হবে তা নির্ধারণ করা হয়।

Local Notifications এবং Push Notifications এর পার্থক্য

বৈশিষ্ট্যLocal NotificationPush Notification
উৎসঅ্যাপ্লিকেশনসার্ভার বা রিমোট সোর্স
ইন্টারনেট সংযোগপ্রয়োজন নেইপ্রয়োজন
নিয়ন্ত্রণঅ্যাপের সম্পূর্ণ নিয়ন্ত্রণসার্ভারের নিয়ন্ত্রণে
ব্যবহাররিমাইন্ডার, সময় ভিত্তিক কাজরিমোট আপডেট, রিয়েল টাইম ইনফরমেশন

Notifications ব্যবহারের সেরা পদ্ধতি

  1. প্রাসঙ্গিক এবং প্রয়োজনীয় নোটিফিকেশন পাঠান, যেন ব্যবহারকারী বিরক্ত না হয়।
  2. প্রাইভেসি সম্মান করুন: সেনসিটিভ ডেটা নোটিফিকেশনের মাধ্যমে প্রকাশ করবেন না।
  3. Usage Description: Info.plist-এ ব্যবহারকারীর জন্য স্পষ্ট এবং সঠিক Usage Description প্রদান করুন।
  4. ব্যবহারকারীর অনুমতি: নোটিফিকেশন অনুমতির জন্য সঠিকভাবে প্রম্পট দিন এবং কারণ স্পষ্ট করুন, যাতে ব্যবহারকারী এটি সহজে অনুমতি দিতে পারে।

উপসংহার

Local Notifications এবং Push Notifications ব্যবহার করে iOS অ্যাপে ব্যবহারকারীদের সঙ্গে ইন্টারঅ্যাক্ট করা যায় এবং গুরুত্বপূর্ণ তথ্য জানানো যায়। Local Notifications সহজে অ্যাপের ভেতরে নিয়ন্ত্রণ করা যায়, তবে Push Notifications সার্ভার ইন্টিগ্রেশন প্রয়োজন করে এবং ব্যবহারকারীকে আরও রিয়েল টাইম তথ্য প্রদানে সক্ষম।

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

Are you sure to start over?

Loading...