Ana içeriğe atla
Google Play Store’dan Android uygulamanızı indiren kullanıcılara push bildirimleri göndermek için, OneSignal’a bir Firebase Cloud Messaging (FCM) Hizmet Hesabı özel anahtarı oluşturup yüklemelisiniz.
Bu talimatlar şunlar için geçerli değildir:
  • Web Push. Android cihazlar, FCM Hizmet Hesabı olmadan web sitenize veya PWA’nıza abone olabilir. Web push kurulumu’na bakın.
  • Huawei App Gallery üzerinden dağıtılan Huawei uygulamaları. Huawei yetkilendirme’ye bakın.

Gereksinimler


Firebase Hizmet Hesabı özel anahtarı oluşturma \

1

Firebase Projenizi oluşturun veya açın

Firebase konsolunuza gidin ve bir proje oluşturun veya seçin.
Mevcut projelerin listesini gösteren Firebase konsolu
2

Firebase Cloud Messaging API V1'i etkinleştirin

Project settings’te, Cloud Messaging sekmesini seçin.
Firebase Cloud Messaging API (V1) durumu Enabled olarak gösterilen Cloud Messaging sekmesini görüntüleyen Firebase Proje ayarları
Firebase Cloud Messaging API (V1) durumunu kontrol edin:
  • Enabled (yeşil onay işareti) gösteriyorsa sonraki adıma geçin.
  • Disabled gösteriyorsa, 3 nokta menüsü > Manage API in Google Cloud Console’a tıklayın. Google Cloud Console’da Enable’a tıklayın ve yeşil onay işaretiyle “API Enabled” görünene kadar bekleyin.
Yeşil bir onay işaretiyle API Enabled durumunu gösteren Google Cloud Console Firebase Cloud Messaging API sayfası
Bu, Firebase Hizmet Hesabınızın gerekli izinlere sahip olup olmadığını kontrol etmek için iyi bir zamandır:
  • cloudmessaging.messages.create
  • firebase.projects.get
Yeni oluşturulan Firebase projeleri genellikle varsayılan Hizmet Hesabında bu izinlere sahiptir. Emin değilseniz veya daha eski bir projeyle çalışıyorsanız, devam etmeden önce kontrol edin. Ayrıntılar için Hizmet Hesabı izinlerimi nasıl kontrol ederim?‘a bakın.
3

Yeni bir özel anahtar oluşturun

Project settings’e geri dönüp Service accounts sekmesini seçin ve Generate new private key’e tıklayın.
Generate new private key düğmesini gösteren Firebase Proje ayarlarındaki Service accounts sekmesi
Açılır pencerede Generate key’e tıklayarak onaylayın.
Hizmet Hesabı için yeni özel anahtar oluşturulması için Firebase onay iletişim kutusu
İndirilen özel anahtar hassas kimlik bilgileri içerir. Paylaşmayın veya sürüm kontrolüne eklemeyin.
.json dosyasını güvenli bir konuma kaydedin. Sonraki bölümde ona ihtiyacınız olacak.

Hizmet Hesabı özel anahtarını OneSignal’a yükleme

OneSignal kontrol panelinizde:
1

Android ayarlarını açın

Settings > Push & In-App > Platforms > Google Android (FCM)‘ye gidin.Activate (ilk kurulum) veya Settings (Android zaten yapılandırılmışsa) düğmesine tıklayın.
Platforms sekmesinde Google Android (FCM) bloğu ve bir Settings düğmesi gösteren OneSignal Push & In-App Ayarları
2

Hizmet Hesabı özel anahtarınızı yükleyin

Select file’a tıklayın ve önceki bölümde kaydettiğiniz .json özel anahtarını seçin.
Service Account JSON dosya yükleme alanı ve Select file düğmesini içeren OneSignal Google Android (FCM) yapılandırma ekranı
3

Kaydedin ve devam edin

Save & Continue’ya tıklayın. OneSignal özel anahtarı doğrular ve sizi SDK’nızı seçeceğiniz kurulum akışının bir sonraki adımına götürür.
Kontrol paneli Invalid request veya başka hatalar gösteriyorsa, Hizmet Hesabınızın bir veya birden fazla gerekli role sahip olmadığı muhtemeldir. Hizmet Hesabı izinlerimi nasıl kontrol ederim?‘a bakın.
OneSignal uygulamanız artık Firebase Cloud Messaging (V1)‘e bağlandı. Ardından, uygulamanızda OneSignal’ı yükleyip başlatmak için kullandığınız SDK’ya uygun Mobil SDK kurulumu’nu takip edin.

SSS

Hizmet Hesabı izinlerimi nasıl kontrol ederim? \

Hizmet Hesabı izinleri Firebase konsolunda değil, Google Cloud Console’da yönetilir. OneSignal’a yüklediğiniz özel anahtara karşılık gelen Hizmet Hesabının her ikisine de sahip olması gerekir:
  • cloudmessaging.messages.createFirebase Cloud Messaging API Admin (roles/firebasecloudmessaging.admin) tarafından verilir.
  • firebase.projects.getFirebase Viewer (roles/firebase.viewer) tarafından verilir.
Firebase Admin (roles/firebase.admin), Editor veya Owner gibi daha geniş roller de her iki izni içerir ve gereksinimi karşılar. Yalnızca OneSignal için kullanılan Hizmet Hesapları için, özel anahtar açığa çıkarsa etkiyi sınırlamak için yukarıdaki dar çifti tercih edin. Hizmet Hesabı özel anahtarınızı yükledikten sonra OneSignal kontrol panelinde Invalid request görünüyorsa, eksik roller en yaygın sebeptir.
1

Google Cloud Console'da IAM'i açın

Google Cloud Console’a giriş yapın, Firebase uygulamanıza bağlı projeyi seçin ve IAM & Admin > IAM’e gidin.
2

Hizmet Hesabınızı bulun

Principal e-postasını, yüklediğiniz özel anahtardaki client_email alanıyla eşleştirin.
3

Eksik rolleri ekleyin

Kalem (düzenle) simgesine tıklayın, sonra atanmamış olan rolleri eklemek için Add another role’a tıklayın.
4

Kaydet

Save’e tıklayın. IAM değişikliklerinin uygulanması bir dakika sürebilir.

Neden “This configuration is for a different Firebase Project” görüyorum?

Bu hata, yüklenen özel anahtar farklı bir Firebase projesine (farklı bir Sender ID) ait olduğunda oluşur. Çözüm: Orijinal Firebase projesinin özel anahtarını kullanın. Mevcut değilse, App ID’nizle birlikte support@onesignal.com ile iletişime geçin. Proje değiştirmek push token’larını sıfırlar. Kullanıcılarınızın tekrar push alabilmesi için uygulamayı yeniden açması gerekir.

Sender ID’mi değiştirebilir miyim?

Evet, ancak mevcut kullanıcılarınızı etkileyecektir. Cihaz token’ları orijinal Sender ID’ye bağlıdır. Değiştirmek mevcut token’ları geçersiz kılar.
Kullanıcılar uygulamayı yeniden açıp yeni token’lar oluşturana kadar push bildirimleri almayı durduracaktır.
Yardıma ihtiyacınız olursa, App ID’nizle birlikte support@onesignal.com ile iletişime geçin.

Neden OneSignal’da Sender ID görmüyorum?

Firebase sunucu anahtarınız AIz... gibi görünüyorsa, muhtemelen eski bir Google Cloud Messaging (GCM) kurulumu kullanıyorsunuz. Yeni bir Firebase projesi oluşturun ve bir Hizmet Hesabı özel anahtarı yükleyin.

FCM V1’e geçerken kodumu güncellemem gerekir mi?

Uygulama veya SDK değişikliği gerekmez. Bu yalnızca kontrol paneli güncellemesidir.

FCM V1’e geçiş için son tarih nedir?

Google’ın eski FCM API’leri artık tamamen kullanımdan kaldırıldı. Hala eski API’leri kullanıyorsanız, derhal FCM V1’e geçmelisiniz.

Hangi uygulamaların hala eski API’yi kullandığını nasıl kontrol edebilirim?

Her uygulama için View an app API’sini çağırın ve yanıttaki fcm_v1_service_account_json alanını kontrol edin:
  • Mevcut ve boş değil: uygulama FCM V1’de.
  • Eksik veya boş: uygulama FCM V1 için yapılandırılmamış. Uygulama Android push gönderiyorsa, hala eski API’dedir ve taşınması gerekir.
Uygulamalarınızı ve App ID’lerini önce listelemek için View apps API’sini kullanın.

Firebase Cloud Messaging nedir ve OneSignal neden bir Hizmet Hesabı özel anahtarına ihtiyaç duyar? \

Firebase Cloud Messaging (FCM), Android cihazlara push bildirimleri iletmek için Google’ın hizmetidir. Bir Hizmet Hesabı, OneSignal’ın Firebase projenize kimlik doğrulaması yapmak için kullandığı bir Google kimliğidir ve özel anahtarı kimliği kanıtlayan bir JSON dosyasıdır. Özel anahtarı yüklemek, OneSignal’ın sizin adınıza Firebase üzerinden push göndermesi için yetki verir. Daha fazla ayrıntı için Google’ın Hizmet Hesabı belgeleri’ne bakın.

İlgili sayfalar

Mobil SDK kurulumu

Android uygulamanızda OneSignal SDK’sını yükleyin ve başlatın.

Mobil push kurulumu

Android, iOS ve diğer mobil platformlar için platforma özel kurulum adımları.

Huawei push kurulumu

OneSignal’ı Huawei App Gallery üzerinden dağıtılan Huawei uygulamalarına push göndermek için yetkilendirin.

Web push kurulumu

Web siteleri için push bildirimlerini yapılandırın.