پش نوٹیفیکیشنز میں 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں