पुश सूचनाओं में 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 प्राप्त करने के बाद, डिवाइस एंड्रॉइड पर STOMP प्रोटोकॉल या iOS पर APNs चैनल के माध्यम से Firebase सर्वरों के साथ एक स्थायी कनेक्शन स्थापित करता है। जब सर्वर टोकन पर एक सूचना भेजता है, तो FCM टोकन द्वारा डिवाइस ढूंढता है और पेलोड वितरित करता है।

टोकन पुनर्जनन की स्थितियां

FCM द्वारा निम्नलिखित मामलों में Registration Token पुनर्जेनरेट किया जा सकता है। नए डिवाइस पर बैकअप से ऐप पुनर्स्थापित करने पर। ऐप को हटाने और पुनः इंस्टॉल करने पर। सिस्टम सेटिंग्स के माध्यम से ऐप डेटा साफ़ करने पर। डिवाइस पर किसी भिन्न Google खाते में साइन इन करने पर। Firebase परिवर्तनों को ट्रैक करने के लिए हमेशा onNewToken कॉलबैक को हैंडल करने की अनुशंसा करता है।

एंड्रॉइड पर Registration Token प्राप्त करना

एंड्रॉइड पर, 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 और एंड्रॉइड टोकन के बीच अंतर

iOS पर Registration Token एंड्रॉइड टोकन की तुलना में आकार में छोटा होता है, क्योंकि यह APNs डिवाइस टोकन पर आधारित होता है। Firebase SDK स्वचालित रूप से FCM टोकन को अपडेट करता है जब APNs टोकन बदलता है, जो डिवाइस को बैकअप से पुनर्स्थापित करने या ऐप को पुनः इंस्टॉल करने पर होता है।

Registration Token को अपडेट और प्रबंधित करना

Registration Token के जीवनचक्र का प्रबंधन पुश सूचनाओं की विश्वसनीय डिलीवरी के लिए एक महत्वपूर्ण कार्य है। यदि सर्वर पुराना टोकन संग्रहीत करता है, तो सूचनाएं वितरित नहीं होंगी और Firebase UNREGISTERED त्रुटि लौटाएगा।

टोकन परिवर्तनों की निगरानी

Firebase SDK टोकन परिवर्तनों को ट्रैक करने के लिए दो तंत्र प्रदान करता है। एंड्रॉइड पर, 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 वाले ऐप के पहले लॉन्च पर स्वचालित रूप से जेनरेट होता है।
  • एंड्रॉइड पर, टोकन FirebaseMessaging.getInstance().getToken() के माध्यम से प्राप्त किया जाता है।
  • iOS पर, टोकन APNs डिवाइस टोकन पर आधारित होता है और MessagingDelegate के माध्यम से दिया जाता है।
  • टोकन बदल सकता है — ऐप को onNewToken कॉलबैक को हैंडल करना चाहिए।
  • सर्वर को वर्तमान टोकन संग्रहीत करने चाहिए और UNREGISTERED त्रुटि पर पुराने को हटाना चाहिए।
  • विश्वसनीय डिलीवरी के लिए, टोकन परिवर्तन निगरानी और विफलताओं पर पुनः प्रयास तंत्र लागू करें।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें