পুশ বিজ্ঞপ্তিতে Registration Token: এটি কী, প্রাপ্তির এবং আপডেটের উপায়

লেখক: IT Sectr প্রকাশিত: 2026-03-21 পড়ার সময়: 8 মিনিট

Registration Token হল একটি অনন্য ডিভাইস শনাক্তকারী যা Firebase Cloud Messaging (FCM) পুশ বিজ্ঞপ্তি সরবরাহ করতে ব্যবহার করে। প্রতিটি ডিভাইসের প্রতিটি অ্যাপ তার নিজস্ব টোকেন পায়, যা ছাড়া বিজ্ঞপ্তি পাঠানো অসম্ভব। Firebase, 2025 অনুসারে, Registration Token অ্যাপ প্রথমবার চালু হলে স্বয়ংক্রিয়ভাবে জেনারেট হয় এবং নির্দিষ্ট শর্তে পরিবর্তিত হতে পারে।

মূল বিষয়

  • Registration Token হল একটি স্ট্রিং যা FCM-এর জন্য একটি নির্দিষ্ট ডিভাইসে অ্যাপ ইনস্ট্যান্স শনাক্ত করে।
  • প্রথম লঞ্চে বা অ্যাপ ডেটা মুছে ফেলার পর টোকেন স্বয়ংক্রিয়ভাবে জেনারেট হয়।
  • FCM পুশ বিজ্ঞপ্তি সঠিক ডিভাইসে রুট করতে টোকেন ব্যবহার করে।
  • টোকেন পরিবর্তিত হতে পারে — অ্যাপকে onNewToken-এর মাধ্যমে আপডেটের সাবস্ক্রাইব করতে হবে।
  • বিজ্ঞপ্তি পাঠানোর জন্য, সার্ভারকে সব ডিভাইসের বর্তমান টোকেন সংরক্ষণ করতে হবে।

Registration Token কী

Registration Token হল 4096 ক্যারেক্টার পর্যন্ত দৈর্ঘ্যের একটি অনন্য স্ট্রিং যা Firebase Cloud Messaging প্রতিটি অ্যাপ ইনস্ট্যান্সকে নির্ধারণ করে। টোকেনটি অ্যাপ্লিকেশন আইডি, ডিভাইস আইডি এবং ডিভাইসের Google অ্যাকাউন্টের ভিত্তিতে গঠিত হয়।

টোকেনের গঠন এবং উদ্দেশ্য

Registration Token-এ Base64 ফরম্যাটে এনকোড করা ক্যারেক্টারের একটি এলোমেলো ক্রম থাকে। FCM এই টোকেনকে ডেলিভারি ঠিকানা হিসেবে ব্যবহার করে — সার্ভার টোকেনে একটি বিজ্ঞপ্তি পাঠায়, এবং FCM এটি নির্দিষ্ট ডিভাইসে রুট করে। টোকেন ছাড়া নির্দিষ্ট ব্যবহারকারীকে পুশ বিজ্ঞপ্তি পাঠানো অসম্ভব।

অন্যান্য শনাক্তকারী থেকে পার্থক্য

Registration Token কে Device ID (IMEI) বা Advertising ID-এর সাথে গুলিয়ে ফেলা উচিত নয়। Device ID ডিভাইসের একটি হার্ডওয়্যার শনাক্তকারী, যখন Advertising ID বিজ্ঞাপনের উদ্দেশ্যে ব্যবহৃত হয়। Registration Token অ্যাপ এবং ডিভাইসের সংমিশ্রণের সাথে আবদ্ধ, এবং একটি ডিভাইসে বিভিন্ন অ্যাপের জন্য একাধিক টোকেন থাকতে পারে।

শনাক্তকারীউদ্দেশ্যপরিবর্তনযোগ্যতা
Registration TokenFCM পুশ বিজ্ঞপ্তি সরবরাহপরিবর্তিত হতে পারে
Device ID (IMEI)হার্ডওয়্যার শনাক্তকরণস্থায়ী
Advertising IDটার্গেটেড বিজ্ঞাপনরিসেট করা যেতে পারে
Instance IDলিগ্যাসি Firebase প্রক্রিয়ামুছে ফেললে পরিবর্তিত হত

কখন টোকেন অবৈধ বলে বিবেচিত হয়

FCM বিভিন্ন পরিস্থিতিতে Registration Token কে অবৈধ বিবেচনা করতে পারে। যদি অ্যাপ ডিভাইস থেকে মুছে ফেলা হয়, টোকেন স্বয়ংক্রিয়ভাবে বাতিল হয়ে যায়। নতুন ডিভাইসে ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করলে পুরোনো টোকেন কাজ করা বন্ধ করে দেয়। এছাড়াও, পুরোনো টোকেনে বিজ্ঞপ্তি পাঠানোর চেষ্টা করলে Firebase UNREGISTERED স্ট্যাটাস ফেরত দেয়।

FCM কীভাবে Registration Token নির্ধারণ করে

Firebase Cloud Messaging অ্যাপ প্রথমবার চালু হলে এবং getToken() মেথড কল করলে Registration Token জেনারেট করে। প্রক্রিয়াটিতে Google Play Services ক্রেডেনশিয়াল যাচাই এবং Firebase পরিকাঠামোতে অ্যাপ নিবন্ধন অন্তর্ভুক্ত রয়েছে।

ডিভাইস নিবন্ধন প্রক্রিয়া

যখন একটি ডিভাইস প্রথমবার সংহত FCM SDK সহ অ্যাপ চালায়, নিম্নলিখিত ঘটনাগুলি ঘটে। Firebase SDK ডিভাইসে Google Play Services-এর উপস্থিতি পরীক্ষা করে। তারপর SDK অ্যাপ্লিকেশন আইডি এবং ডিভাইস তথ্য পাঠিয়ে Firebase সার্ভারে একটি অনুরোধ পাঠায়। Firebase সার্ভার একটি নতুন টোকেন তৈরি করে এবং অ্যাপে ফেরত দেয়।

FCM-এর অভ্যন্তরীণ কার্যপ্রণালী

FCM দীর্ঘস্থায়ী সংযোগের উপর ভিত্তি করে একটি আর্কিটেকচার ব্যবহার করে। Registration Token পাওয়ার পর, ডিভাইস Android-এ STOMP প্রোটোকল বা iOS-এ APNs চ্যানেল-এর মাধ্যমে Firebase সার্ভারের সাথে একটি স্থায়ী সংযোগ স্থাপন করে। যখন সার্ভার টোকেনে একটি বিজ্ঞপ্তি পাঠায়, FCM টোকেন দ্বারা ডিভাইস খুঁজে বের করে এবং পেলোড সরবরাহ করে।

টোকেন পুনর্জন্মের শর্ত

FCM দ্বারা নিম্নলিখিত ক্ষেত্রে Registration Token পুনর্জেনারেট করা যেতে পারে। নতুন ডিভাইসে ব্যাকআপ থেকে অ্যাপ পুনরুদ্ধার করার সময়। অ্যাপ মুছে ফেলা এবং পুনরায় ইনস্টল করার সময়। সিস্টেম সেটিংসের মাধ্যমে অ্যাপ ডেটা সাফ করার সময়। ডিভাইসে ভিন্ন Google অ্যাকাউন্টে সাইন ইন করার সময়। Firebase পরিবর্তন ট্র্যাক করতে সবসময় onNewToken কলব্যাক হ্যান্ডেল করার সুপারিশ করে।

Android-এ Registration Token প্রাপ্তি

Android-এ, Registration Token Firebase Messaging SDK-এর মাধ্যমে প্রাপ্ত হয়। প্রক্রিয়াটি SDK-এর বিভিন্ন সংস্করণের জন্য আলাদা — নতুন সংস্করণগুলি পুরোনো FirebaseInstanceId-এর পরিবর্তে FirebaseInstallations API ব্যবহার করে।

FirebaseInstallations-এর মাধ্যমে আধুনিক পদ্ধতি

Firebase SDK সংস্করণ 21.0.0 থেকে শুরু করে, getToken() মেথড FirebaseMessaging-এর মাধ্যমে কল করা হয়। এই পদ্ধতি স্বয়ংক্রিয়ভাবে টোকেন জীবনচক্র পরিচালনা করে এবং এর আপডেটগুলিতে সাবস্ক্রাইব করে।

kotlin
class MyFirebaseMessagingService : FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendRegistrationToServer(token)
    }

    private fun sendRegistrationToServer(token: String) {
        // সার্ভারে টোকেন পাঠানো
        Log.d("FCM", "New token: $token")
    }

    init {
        FirebaseMessaging.getInstance()
            .getToken()
            .addOnCompleteListener { task ->
                if (!task.isSuccessful) {
                    Log.w("FCM", "FCM টোকেন প্রাপ্তিতে ব্যর্থ")
                    return@addOnCompleteListener
                }
                val token = task.result
                sendRegistrationToServer(token)
            }
    }
}

Activity বা ViewModel-এ টোকেন হ্যান্ডেল করা

কিছু পরিস্থিতিতে, টোকেন সার্ভিসে নয় বরং সরাসরি Activity বা ViewModel-এ প্রয়োজন হয়। এর জন্য, অ্যাপ জীবনচক্রের সুবিধাজনক পয়েন্টে getToken() কল করা যেতে পারে। অ্যাসিঙ্ক্রোনিসিটি হ্যান্ডেল না করে মূল থ্রেড থেকে এই মেথড কল না করা গুরুত্বপূর্ণ।

kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        getFCMToken()
    }

    private fun getFCMToken() {
        FirebaseMessaging.getInstance().getToken()
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    val token = task.result
                    Log.d("FCM", "Token: $token")
                }
            }
    }
}

লিগ্যাসি FirebaseInstanceId পদ্ধতি

Firebase SDK-এর পুরোনো সংস্করণে (সংস্করণ 20.x-এর আগে), টোকেন FirebaseInstanceId.getInstance().getToken()-এর মাধ্যমে প্রাপ্ত হত। এই মেথডটি ডিপ্রিকেটেড হিসেবে চিহ্নিত এবং নতুন প্রকল্পে ব্যবহারের জন্য সুপারিশ করা হয় না। লিগ্যাসি কোড রক্ষণাবেক্ষণকারী ডেভেলপারদের FirebaseInstallations API-তে মাইগ্রেট করা উচিত।

iOS-এ Registration Token প্রাপ্তি

iOS-এ, Registration Token প্রাপ্তির প্রক্রিয়া আর্কিটেকচারগতভাবে আলাদা — FCM Apple Push Notification service (APNs)-এর মাধ্যমে কাজ করে। Firebase SDK APNs থেকে একটি অনন্য ডিভাইস টোকেন পায়, এটি FCM ফরম্যাটে রূপান্তর করে এবং অ্যাপে সরবরাহ করে।

APNs সেটআপ এবং টোকেন প্রাপ্তি

iOS-এ FCM ব্যবহার করতে, Firebase কনসোলে একটি APNs সার্টিফিকেট বা কী কনফিগার করা প্রয়োজন। অ্যাপকে UNUserNotificationCenter-এর মাধ্যমে বিজ্ঞপ্তি অনুমতি অনুরোধ করতে হবে। APNs টোকেন পাওয়ার পর, Firebase SDK স্বয়ংক্রিয়ভাবে Registration Token জেনারেট করে।

swift
import FirebaseMessaging
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        application: UIApplication,
        didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure()
        Messaging.messaging().delegate = self
        requestNotificationAuthorization()
        return true
    }

    private func requestNotificationAuthorization() {
        let center = UNUserNotificationCenter.current()
        center.requestAuthorization(options: [.alert, .sound, .badge])
    }
}

extension AppDelegate: MessagingDelegate {
    func messaging(
        messaging: Messaging,
        didReceiveRegistrationToken fcmToken: String?
    ) {
        Log.d("FCM", "Token: \(fcmToken ?? "")")
        sendTokenToServer(token: fcmToken)
    }
}

iOS এবং Android টোকেনের মধ্যে পার্থক্য

iOS-এ Registration Token Android টোকেনের তুলনায় আকারে ছোট, কারণ এটি APNs ডিভাইস টোকেন-এর উপর ভিত্তি করে তৈরি। Firebase SDK স্বয়ংক্রিয়ভাবে FCM টোকেন আপডেট করে যখন APNs টোকেন পরিবর্তিত হয়, যা ডিভাইস ব্যাকআপ থেকে পুনরুদ্ধার বা অ্যাপ পুনরায় ইনস্টল করার সময় ঘটে।

Registration Token আপডেট এবং ব্যবস্থাপনা

Registration Token-এর জীবনচক্র ব্যবস্থাপনা পুশ বিজ্ঞপ্তির নির্ভরযোগ্য সরবরাহের জন্য একটি গুরুত্বপূর্ণ কাজ। যদি সার্ভার একটি পুরোনো টোকেন সংরক্ষণ করে, বিজ্ঞপ্তিগুলি সরবরাহ করা হবে না এবং Firebase UNREGISTERED ত্রুটি ফেরত দেবে।

টোকেন পরিবর্তন পর্যবেক্ষণ

Firebase SDK টোকেন পরিবর্তন ট্র্যাক করার জন্য দুটি প্রক্রিয়া সরবরাহ করে। Android-এ, FirebaseMessagingService-এ onNewToken কলব্যাক ব্যবহার করা হয়। iOS-এ, messaging:didReceiveRegistrationToken ডেলিগেট ব্যবহার করা হয়। টোকেন আপডেট হলে উভয়ই কল করা হয়।

kotlin
// SharedPreferences-এ টোকেন সংরক্ষণ এবং সার্ভারে পাঠানো
class TokenManager(private val context: Context) {

    companion object {
        private const val PREFS_TOKEN_KEY = "fcm_registration_token"
    }

    fun saveToken(token: String) {
        val prefs = PreferenceManager
            .getDefaultSharedPreferences(context)
        prefs.edit().putString(PREFS_TOKEN_KEY, token).apply()
    }

    fun getSavedToken(): String? {
        val prefs = PreferenceManager
            .getDefaultSharedPreferences(context)
        return prefs.getString(PREFS_TOKEN_KEY, null)
    }
}

সার্ভারে টোকেন সংরক্ষণ কৌশল

সার্ভারকে ব্যবহারকারী শনাক্তকারী-এর সাথে Registration Token সংরক্ষণ করতে হবে। টোকেন আপডেট হলে, ক্লায়েন্ট সার্ভারে নতুন টোকেন পাঠায় এবং সার্ভার পুরোনোটি প্রতিস্থাপন করে। টোকেন ইতিহাস রাখার সুপারিশ করা হয়: যদি নতুন টোকেনে বিজ্ঞপ্তি সরবরাহ না হয়, পুরোনোটি চেষ্টা করা যেতে পারে।

টোকেন নিয়ে কাজ করার সময় ত্রুটি ব্যবস্থাপনা

Firebase বিভিন্ন ক্ষেত্রে টোকেন প্রাপ্তিতে ত্রুটি ফেরত দিতে পারে। ডিভাইসে Google Play Services-এর অনুপস্থিতি — টোকেন প্রাপ্ত হবে না। FCM-তে অনুরোধ কোটা অতিক্রম করলে — পুনরায় চেষ্টায় এক্সপোনেনশিয়াল ব্যাকঅফ প্রয়োগ করা প্রয়োজন। টোকেনের মেয়াদ উত্তীর্ণ — SDK স্বয়ংক্রিয়ভাবে নতুন অনুরোধ করে।

পরিস্থিতিফলাফলডেভেলপারের কর্ম
অ্যাপ মুছে ফেলাটোকেন বাতিলডেটাবেস থেকে টোকেন মুছুন
ব্যাকআপ থেকে পুনরুদ্ধারনতুন টোকেনডেটাবেসে আপডেট করুন
Google Play Services রিসেটটোকেন পুনর্জেনারেটonNewToken হ্যান্ডেল করুন
টোকেনের মেয়াদ শেষস্বয়ংক্রিয় আপডেটআপডেটের সাবস্ক্রাইব করুন

প্রায়শই জিজ্ঞাসিত প্রশ্ন

Registration Token প্রাপ্ত না হলে কী করবেন?

ডিভাইসে Google Play Services-এর উপস্থিতি পরীক্ষা করুন, google-services.json ফাইলের সঠিকতা এবং Firebase SDK সংস্করণ যাচাই করুন। নিশ্চিত করুন যে অ্যাপের ইন্টারনেট অনুমতি আছে।

Registration Token কতবার পরিবর্তিত হয়?

টোকেন অ্যাপ আনইনস্টল এবং পুনরায় ইনস্টল করার সময়, ডেটা সাফ করার সময়, ব্যাকআপ থেকে পুনরুদ্ধার করার সময় বা ভিন্ন Google অ্যাকাউন্টে সাইন ইন করার সময় পরিবর্তিত হতে পারে। কোন নির্দিষ্ট সময় ব্যবধান নেই।

একটি ডিভাইসে কি একাধিক Registration Tokens থাকতে পারে?

হ্যাঁ, ডিভাইসের প্রতিটি অ্যাপ তার নিজস্ব FCM টোকেন পায়। যদি একটি ডিভাইসে Firebase সহ তিনটি অ্যাপ থাকে, প্রতিটির নিজস্ব অনন্য Registration Token থাকবে।

কীভাবে যাচাই করবেন যে Registration Token এখনও বৈধ?

Firebase কনসোল বা FCM HTTP API-এর মাধ্যমে একটি পরীক্ষামূলক বিজ্ঞপ্তি পাঠান। যদি টোকেন অবৈধ হয়, API UNREGISTERED বা NOT_FOUND ত্রুটি ফেরত দেবে।

সার্ভারে Registration Token সংরক্ষণ করা কি নিরাপদ?

Registration Token কোন গোপন কী নয়, কিন্তু এর ফাঁস ব্যবহারকারীর ডিভাইসে বিজ্ঞপ্তি পাঠাতে দেয়। টোকেনগুলি নিরাপদ ডেটাবেসে সংরক্ষণ করুন এবং ট্রান্সমিশনের জন্য HTTPS ব্যবহার করুন।

সারসংক্ষেপ

  • Registration Token হল Firebase Cloud Messaging-এর মাধ্যমে পুশ বিজ্ঞপ্তি সরবরাহের জন্য একটি প্রয়োজনীয় উপাদান।
  • FCM SDK সহ অ্যাপের প্রথম লঞ্চে টোকেন স্বয়ংক্রিয়ভাবে জেনারেট হয়।
  • Android-এ, টোকেন FirebaseMessaging.getInstance().getToken()-এর মাধ্যমে প্রাপ্ত হয়।
  • iOS-এ, টোকেন APNs ডিভাইস টোকেনের উপর ভিত্তি করে তৈরি এবং MessagingDelegate-এর মাধ্যমে সরবরাহ করা হয়।
  • টোকেন পরিবর্তিত হতে পারে — অ্যাপকে onNewToken কলব্যাক হ্যান্ডেল করতে হবে।
  • সার্ভারকে বর্তমান টোকেন সংরক্ষণ করতে হবে এবং UNREGISTERED ত্রুটিতে পুরোনোগুলি মুছতে হবে।
  • নির্ভরযোগ্য সরবরাহের জন্য, টোকেন পরিবর্তন পর্যবেক্ষণ এবং ব্যর্থতায় পুনরায় চেষ্টা প্রক্রিয়া প্রয়োগ করুন।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন