Push bildirişlərində Registration Token: nədir, əldə etmə üsulları və yeniləmə

Müəllif: IT Sectr Dərc olunub: 2026-03-21 Oxuma vaxtı: 8 dəq

Registration Token, Firebase Cloud Messaging (FCM) tərəfindən push bildirişlərinin çatdırılması üçün istifadə edilən unikal cihaz identifikatorudur. Hər tətbiq hər cihazda öz tokenini alır, onun olmadan bildiriş göndərmək mümkün deyil. Firebase, 2025 məlumatlarına görə, Registration Token tətbiqin ilk işə salınması zamanı avtomatik yaradılır və müəyyən şərtlər daxilində dəyişə bilər.

Başlıca

  • Registration Token — FCM üçün müəyyən cihazda tətbiq nüsxəsini identifikasiya edən sətir.
  • Token ilk işə salınmada və ya tətbiq məlumatlarının silinməsindən sonra avtomatik yaradılır.
  • FCM tokeni push bildirişlərini düzgün cihaza yönləndirmək üçün istifadə edir.
  • Token dəyişə bilər — tətbiq onNewToken vasitəsilə yenilənmələrə abunə olmalıdır.
  • Bildiriş göndərmək üçün server hissəsi bütön cihazların aktual tokenlərini saxlamalıdır.

Registration Token nədir

Registration Token — Firebase Cloud Messaging-in hər tətbiq nüsxəsinə təyin etdiyi 4096 simvola qədər olan unikal sətirdir. Token tətbiqin, cihazın və cihazdakı Google hesabının identifikatoru əsasında formalaşdırılır.

Tokenin strukturu və təyinatı

Registration Token Base64 formatında kodlanmış təsadüfi simvol ardıcıllığından ibarətdir. FCM bu tokeni çatdırılma ünvanı kimi istifadə edir — server hissəsi tokenə bildiriş göndərir, FCM isə onu konkret cihaza yönləndirir. Token olmadan push bildirişini konkret istifadəçiyə ünvanlamaq mümkün deyil.

Digər identifikatorlardan fərqləri

Registration Token Device ID (IMEI) və ya Advertising ID ilə qarışdırılmamalıdır. Device ID cihazın aparat identifikatorudur, Advertising ID isə reklam məqsədləri üçün istifadə olunur. Registration Token məhz tətbiq və cihaz kombinasiyasına bağlıdır, üstəlik bir cihaz müxtəlif tətbiqlər üçün bir neçə tokenə malik ola bilər.

IdentifikatorTəyinatDəyişkənlik
Registration TokenFCM push bildirişlərinin çatdırılmasıDəyişə bilər
Device ID (IMEI)Cihazın identifikasiyasıDaimi
Advertising IDHədəfli reklamSıfırlana bilər
Instance IDKöhnəlmiş Firebase mexanizmiSilindikdə dəyişirdi

Token nə zaman etibarsız sayılır

FCM Registration Tokeni bir neçə halda etibarsız saya bilər. Tətbiq cihazdan silindikdə token avtomatik olaraq ləğv edilir. Ehtiyat nüsxədən yeni cihazda məlumat bərpa edilərkən köhnə token işləməyi dayandırır. Firebase köhnəlmiş tokenə bildiriş göndərməyə cəhd edərkən UNREGISTERED statusu qaytarır.

FCM Registration Tokeni necə təyin edir

Firebase Cloud Messaging tətbiqin ilk işə salınması zamanı, getToken() metodu çağırıldıqda Registration Tokeni yaradır. Proses Google Play Services məlumatlarının yoxlanılması və tətbiqin Firebase infrastrukturunda qeydiyyatını əhatə edir.

Cihazın qeydiyyat prosesi

Cihaz ilk dəfə FCM SDK ilə inteqrasiya olunmuş tətbiqi işə saldıqda aşağıdakılar baş verir. Firebase SDK cihazda Google Play Services-in mövcudluğunu yoxlayır. Sonra SDK tətbiq identifikatorunu və cihaz haqqında məlumatı ötürərək Firebase serverlərinə sorğu göndərir. Firebase serveri yeni token yaradır və onu tətbiqə qaytarır.

FCM-in daxili mexanikası

FCM uzunmüddətli əlaqələrə əsaslanan arxitekturadan istifadə edir. Registration Token alındıqdan sonra cihaz Android-də STOMP protokolu və ya iOS-da APNs kanalı vasitəsilə Firebase serverləri ilə daimi əlaqə qurur. Server hissəsi tokenə bildiriş göndərdikdə, FCM cihazı token üzrə tapır və yükü ötürür.

Tokenin yenidən yaradılma şərtləri

Registration Token FCM tərəfindən aşağıdakı hallarda yenidən yaradıla bilər. Tətbiqin ehtiyat nüsxədən yeni cihazda bərpa edilməsi. Tətbiqin silinməsi və yenidən quraşdırılması. Sistem parametrləri vasitəsilə tətbiq məlumatlarının təmizlənməsi. Cihazda başqa Google hesabına daxil olma. Firebase dəyişiklikləri izləmək üçün həmişə onNewToken callbakinin işlənməsini tövsiyə edir.

Androiddə Registration Tokenin əldə edilməsi

Androiddə Registration Token Firebase Messaging SDK vasitəsilə əldə edilir. Proses müxtəlif SDK versiyaları üçün fərqlənir — yeni versiyalarda köhnəlmiş FirebaseInstanceId əvəzinə FirebaseInstallations API istifadə olunur.

FirebaseInstallations vasitəsilə müasir üsul

Firebase SDK versiyası 21.0.0-dan başlayaraq, getToken() metodu FirebaseMessaging vasitəsilə çağırılır. Bu yanaşma tokenin həyat dövriyyəsini avtomatik idarə edir və onun yenilənmələrinə abunə olur.

kotlin
class MyFirebaseMessagingService : FirebaseMessagingService() {

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

    private fun sendRegistrationToServer(token: String) {
        // Tokenin server hissəsinə göndərilməsi
        Log.d("FCM", "Yeni token: $token")
    }

    init {
        FirebaseMessaging.getInstance()
            .getToken()
            .addOnCompleteListener { task ->
                if (!task.isSuccessful) {
                    Log.w("FCM", "FCM tokeninin alınması uğursuz oldu")
                    return@addOnCompleteListener
                }
                val token = task.result
                sendRegistrationToServer(token)
            }
    }
}

Activity və ya ViewModel-də tokenin işlənməsi

Bəzi ssenarilərdə token xidmətdə deyil, birbaşa Activity və ya ViewModel-də tələb olunur. Bunun üçün getToken() tətbiqin həyat dövriyyəsinin uyğun yerində çağırıla bilər. Bu metodu asinxronluğu idarə etmədən əsas axından çağırmamaq vacibdir.

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")
                }
            }
    }
}

Köhnəlmiş FirebaseInstanceId metodu

Köhnə Firebase SDK versiyalarında (20.x-dən əvvəl) token FirebaseInstanceId.getInstance().getToken() vasitəsilə əldə edilirdi. Bu metod deprecated olaraq qeyd edilmişdir və yeni layihələrdə istifadəsi tövsiyə olunmur. Legacy-kodu dəstəkləyən tərtibatçılar FirebaseInstallations API-yə keçməlidirlər.

iOS-da Registration Tokenin əldə edilməsi

iOS-da Registration Tokenin əldə edilməsi prosesi arxitektonik olaraq fərqlənir — FCM Apple Push Notification service (APNs) vasitəsilə işləyir. Firebase SDK APNs-dən unikal device tokeni alır, onu FCM formatına çevirir və tətbiqə ötürür.

APNs konfiqurasiyası və tokenin əldə edilməsi

FCM-in iOS-da işləməsi üçün Firebase konsolunda APNs sertifikatı və ya açar konfiqurasiya edilməlidir. Tətbiq UNUserNotificationCenter vasitəsilə bildirişlərə icazə istəməlidir. APNs tokeni alındıqdan sonra Firebase SDK avtomatik olaraq Registration Tokeni yaradır.

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 və Android tokenləri arasındakı fərqlər

iOS-da Registration Token Android tokeni ilə müqayisədə daha kiçik ölçüdədir, çünki APNs device token-inə əsaslanır. Firebase SDK APNs tokeni dəyişərkən FCM tokenini avtomatik yeniləyir, bu da cihazın ehtiyat nüsxədən bərpa edilməsi və ya tətbiqin yenidən quraşdırılması zamanı baş verir.

Registration Tokenin yenilənməsi və idarə edilməsi

Həyat dövriyyəsinin idarə edilməsi Registration Token push bildirişlərinin sabit çatdırılması üçün kritik əhəmiyyət daşıyır. Server hissəsi köhnəlmiş token saxlayarsa, bildirişlər çatdırılmayacaq və Firebase UNREGISTERED xətası qaytaracaq.

Token dəyişikliklərinin monitorinqi

Firebase SDK token dəyişikliklərini izləmək üçün iki mexanizm təqdim edir. Androiddə FirebaseMessagingService-də onNewToken callbacki istifadə olunur. iOS-da — messaging:didReceiveRegistrationToken delegatı. Hər ikisi tokenin hər yenilənməsində çağırılır.

kotlin
// Tokenin SharedPreferences-də saxlanması və serverə göndərilməsi
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)
    }
}

Serverdə tokenlərin saxlanma strategiyası

Server hissəsi Registration Tokeni istifadəçi identifikatoru ilə əlaqəli şəkildə saxlamalıdır. Token yenilənərkən müştəri serverə yeni token göndərir, server isə köhnəni əvəz edir. Tokenlərin tarixçəsini saxlamaq tövsiyə olunur: əgər bildiriş yeni tokenə çatdırılmayıbsa, köhnəni sınamaq olar.

Tokenlə işlərkən xətaların idarə edilməsi

Firebase bir neçə halda token əldə etmə xətası qaytara bilər. Cihazda Google Play Services-in olmaması — token əldə edilməyəcək. FCM sorğu limitinin aşılması — təkrarlanan cəhdlərdə eksponensial gecikmə tətbiq edilməlidir. Tokenin müddətinin bitməsi — SDK avtomatik olaraq yenisini istəyir.

VəziyyətNəticəTərtibatçının hərəkəti
Tətbiqin silinməsiToken ləğv edilirTokeni bazadan silin
Ehtiyat nüsxədən bərpaYeni tokenBazada yeniləyin
Google Play Services-in sıfırlanmasıToken yenidən yaradılıronNewToken-i işləyin
Tokenin müddətinin bitməsiAvtomatik yeniləməYenilənmələrə abunə olun

Tez-tez verilən suallar

Registration Token alınmazsa nə etməli?

Cihazda Google Play Services-in mövcudluğunu, google-services.json faylının düzgünlüyünü və Firebase SDK versiyasını yoxlayın. Tətbiqin internetə çıxış icazəsinin olduğuna əmin olun.

Registration Token nə qədər tez-tez dəyişir?

Token tətbiqin silinməsi və yenidən quraşdırılması, məlumatların təmizlənməsi, ehtiyat nüsxədən bərpa edilməsi və ya başqa Google hesabına daxil olma zamanı dəyişə bilər. Ciddi vaxt intervalı yoxdur.

Bir cihazda bir neçə Registration Token ola bilərmi?

Bəli, cihazdakı hər tətbiq öz FCM tokenini alır. Cihazda Firebase ilɓ üç tətbiq quraşdırılıbsa, hər birinin öz unikal Registration Tokeni olacaq.

Registration Tokenin hələ də etibarlı olduğunu necə yoxlamaq olar?

Firebase konsolu və ya FCM HTTP API vasitəsilə test bildirişi göndərin. Token etibarsızdırsa, API UNREGISTERED və ya NOT_FOUND xətası qaytaracaq.

Registration Tokeni serverdə saxlamaq təhlükəsizdirmi?

Registration Token gizli açar deyil, lakin onun sızması istifadəçinin cihazına bildirişlər göndərməyə imkan verir. Tokenləri qorunan bazada saxlayın və ötürülmə üçün HTTPS istifadə edin.

Nəticələr

  • Registration Token — Firebase Cloud Messaging vasitəsilə push bildirişlərinin çatdırılması üçün məcburi element.
  • Token FCM SDK ilə tətbiqin ilk işə salınmasında avtomatik yaradılır.
  • Androiddə token FirebaseMessaging.getInstance().getToken() vasitəsilə əldə edilir.
  • iOS-da token APNs device token-ə əsaslanır və MessagingDelegate delegatı vasitəsilə ötürülür.
  • Token dəyişə bilər — tətbiq onNewToken callbackini işləməlidir.
  • Server hissəsi aktual tokenləri saxlamalı və UNREGISTERED xətasında köhnələri silməlidir.
  • Etibarlı çatdırılma üçün token dəyişikliklərinin monitorinqini və nasazlıqlarda təkrarlanan cəhdlər mexanizmini tətbiq edin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun