Mobil SDK push açarları: Firebase (FCM) və APNs

Son yeniləmə: 9 oktyabr 2026 · 7 dəq oxunur

Clomni push bildirişlərini sizin öz açarlarınızla göndərir: Android üçün Firebase service account, iOS üçün APNs açarı. Hər ikisi Parametrlər › İş sahəsi parametrləri › Gələn qutular › kanalınız › ayarlar sütunu › Push bölməsində (və ya sehrbazın 4-cü addımında) yüklənir.

Addımlar

  1. 1

    Android: service account JSON-u alın

    Panelə google-services.json yox, service account JSON lazımdır. google-services.json tətbiqə qoyulur və yalnız layihəni tanıdır. Service account JSON isə Clomni serverinə layihəniz üzərindən push göndərməyə imkan verən gizli açardır.

    1. Firebase console-da tətbiqinizin google-services.json-unun aid olduğu layihəni açın. Push yalnız iki fayl eyni layihədən olanda işləyir.
    2. «Project Overview»-un yanındakı çarx › Project settings › Service accounts.
    3. «Firebase Admin SDK» altında «Generate new private key», sonra «Generate key». JSON faylı yüklənir.

    Faylı parol kimi saxlayın: repozitoriyaya commit etməyin, e-poçtla göndərməyin. Sızsa, açarı Google Cloud Console › IAM › Service accounts › Keys bölməsində silin və yenisini yükləyin. Firebase Cloud Messaging API (V1) yeni layihələrdə açıqdır. Söndürülübsə, «Test bildirişi» FCM xətası qaytarır: onu Google Cloud Console › APIs & Services bölməsində yandırın.

  2. 2

    Android: panelə yükləyin

    Push › «Android · Firebase Cloud Messaging» › «Service account JSON faylı» › faylı seçin › «Yüklə». Sonra kartda «Layihə» və «Yüklənib» tarixi görünür. «Faylda project_id yoxdur. Firebase-in verdiyi service account faylını seçin.» çıxırsa, səhv fayl seçilib: çox vaxt bu, google-services.json-dur. «Fayl JSON deyil» və «Fayldakı private_key oxunmur» da səhv və ya korlanmış fayl deməkdir.

  3. 3

    iOS: APNs açarını yaradın

    Apple Developer Program-da Account Holder və ya Admin rolu lazımdır.

    1. developer.apple.com/account › Certificates, Identifiers & Profiles › Keys › +.
    2. Açara ad verin, «Apple Push Notifications service (APNs)» işarəsini qoyun, «Configure».
    3. Environment: Sandbox & Production seçin. Key Restriction: «Team Scoped (All Topics)». «Save» › «Continue» › «Register».

    Mühit seçimi vacibdir. Yalnız Sandbox açarı Xcode-dan işə salınan build-də işləyir, TestFlight və App Store-da işləmir. Yalnız Production açarı əksinədir. Hər iki halda APNs BadEnvironmentKeyInToken qaytarır və push çatmır. Apple mühit seçimini əlavə etməzdən əvvəl yaradılmış açarlar hər iki mühitdə işləyir.

  4. 4

    iOS: faylı və ID-ləri götürün

    • Açarın səhifəsində «Download»: .p8 faylını yalnız bir dəfə yükləmək olur. İtsə, yeni açar yaradın.
    • Key ID: açarın adının altındadır, 10 simvol.
    • Team ID: developer.apple.com/account › Membership details, 10 simvol.
    • Bundle ID: tətbiqin Bundle Identifier-i (Xcode › hədəf › Signing & Capabilities), məsələn com.example.app.
  5. 5

    iOS: panelə yükləyin

    Push › «iOS · Apple Push Notification service»: «.p8 faylı» (AuthKey_XXXXXXXXXX.p8), «Key ID», «Team ID», «Bundle ID», sonra «Yüklə». Panel formatı yoxlayır (Key ID və Team ID 10 hərf və ya rəqəmdir). Apple-ın açarı qəbul edib-etmədiyi ilk push-da bilinir: «Test bildirişi» göndərin.

  6. 6

    Test bildirişi

    Tətbiq bildirişlərə icazə verilmiş telefonda işləyib tokenini verəndən sonra cihaz «Test bildirişi» siyahısında görünür: platforma, model, tətbiq versiyası və iOS-da APNs mühiti (sandbox və ya production). Cihazı seçin, «Göndər» basın. «Başlıq» və «Mətn» sahələri istəyə görədir: boş qalsa, başlıq formatı və nümunə mətn işlənir, sağdakı «Önizləmə» bildirişin necə görünəcəyini göstərir. Cavab FCM və ya APNs-in öz cavabıdır:

    • «Göndərildi»: bildiriş yoldadır. Telefonda görünmürsə, tətbiqin push kodunu yoxlayın.
    • BadEnvironmentKeyInToken (APNs): açar o biri mühitlə məhdudlaşıb. Sandbox & Production açarı yaradın və yükləyin.
    • InvalidProviderToken (APNs): Key ID və ya Team ID səhvdir, ya da açar ləğv olunub. ID-ləri yoxlayın, açarı yenidən yükləyin.
    • DeviceTokenNotForTopic (APNs): Push bölməsindəki Bundle ID tətbiqinki deyil.
    • BadDeviceToken (APNs): token başqa tətbiqindir və ya artıq etibarlı deyil. Tətbiqi yenidən quraşdırın, açın, bildirişlərə icazə verin.
    • SENDER_ID_MISMATCH (FCM): service account google-services.json-dakından başqa Firebase layihəsinindir. Tətbiqin layihəsinin service account-unu yükləyin.
    • UNREGISTERED (FCM): tətbiq cihazdan silinib və ya tokenin vaxtı keçib. Tətbiqi yenidən açın ki, yeni token göndərsin.
    • «Göndərilmədi», açar yoxdur: bu platforma üçün açar yüklənməyib.

    APNs və ya FCM-in ölü saydığı tokeni Clomni silir. Push bölməsindəki «Son 7 gün» göndərilən, uğursuz, silinmiş token və ötürülən (açar yoxdur) push-ları sayır. FCM və ya APNs açarın özünü rədd edəndə «Ümumi baxış»da xəbərdarlıq çıxır.

  7. 7

    Tam təlimat

Sənəd