Firebase Cloud Messaging uygulamasının sunucu tarafı iki bileşenden oluşur:
- Google tarafından sağlanan FCM arka ucu.
- Sunucu mantığınızın çalıştığı uygulama sunucunuz veya Cloud Functions for Firebase gibi diğer güvenilir sunucu ortamları ya da Google tarafından yönetilen diğer bulut ortamları.
Uygulama sunucunuz veya güvenilir sunucu ortamınız, mesaj isteklerini FCM arka ucuna gönderir. Arka uç da mesajları kullanıcıların cihazlarında çalışan istemci uygulamalarına yönlendirir.
Firebase Admin SDK veya FCM uygulama sunucusu protokollerini kullanarak mesaj istekleri oluşturabilir ve bunları aşağıdaki hedef türlerine gönderebilirsiniz:
- Konu adı
- Koşul
- FCM kayıt jetonu
- Cihaz grubu adı (desteği sonlandırıldı, 29 Eylül 2027'de kaldırılacak)
Önceden tanımlanmış alanlardan oluşan bir bildirim yükü, kullanıcı tarafından tanımlanan alanlarınızın veri yükü veya her iki yük türünü de içeren bir mesajla mesaj gönderebilirsiniz. Daha fazla bilgi için Mesaj türleri bölümüne bakın.
Güvenilir sunucu ortamı için şartlar
Uygulama sunucusu ortamınız aşağıdaki ölçütleri karşılamalıdır:
- FCM arka ucuna doğru biçimlendirilmiş mesaj istekleri gönderebilir.
- İstekleri işleyebilmeli ve üstel geri çekilme kullanarak yeniden gönderebilmelidir.
- Sunucu yetkilendirme kimlik bilgilerini ve istemci kayıt jetonlarını güvenli bir şekilde depolayabilmelidir.
Firebase projesi için gerekli kimlik bilgileri
Uyguladığınız FCM özelliklerine bağlı olarak Firebase projenizden aşağıdaki kimlik bilgilerine ihtiyacınız olabilir:
| Kimlik bilgisi | Açıklama |
|---|---|
| Proje kimliği | Firebase projeniz için benzersiz bir tanımlayıcıdır. FCM v1 HTTP uç noktasına gönderilen isteklerde kullanılır. Bu değer, Firebase konsolunun Ayarlar bölmesinde bulunur. |
| Kayıt jetonu | Her istemci uygulaması örneğini tanımlayan benzersiz bir jeton dizesi. Kayıt jetonu, tek uygulama örneği ve cihaz grubu mesajlaşması için gereklidir. Kayıt jetonlarının gizli tutulması gerektiğini unutmayın. |
| Gönderen kimliği | Firebase projenizi oluşturduğunuzda oluşturulan benzersiz bir sayısal değerdir. Firebase konsolunun Ayarlar bölmesindeki Cloud Messaging sekmesinde bulunur. Gönderen kimliği, proje numarasıyla aynıdır. Gönderen kimliği, istemci uygulamasına mesaj gönderebilecek her göndereni tanımlamak için kullanılır. |
| Erişim jetonu | HTTP v1 API'sine yönelik istekleri yetkilendiren kısa süreli bir OAuth 2.0 jetonu. Bu jeton, Firebase projenize ait bir hizmet hesabıyla ilişkilidir. Erişim jetonları oluşturmak ve rotasyonunu yapmak için Gönderme İsteklerini Yetkilendirme bölümünde açıklanan adımları uygulayın. |
Sunucu seçeneği belirleme
FCM sunucularıyla etkileşim kurmak için Firebase Admin SDK veya FCM HTTP v1 API'yi kullanmanız gerekir. Popüler programlama dillerini desteklemesi ve kimlik doğrulama ile yetkilendirme işlemlerini kolaylaştıran yöntemleri nedeniyle Firebase Admin SDK, önerilen yöntemdir.
FCM sunucularıyla etkileşim kurma seçenekleri şunlardır:
Node, Java, Python, C# ve Go dillerini destekleyen Firebase Admin SDK.
Güvenli yetkilendirme ve esnek platformlar arası mesajlaşma özelliklerine sahip bir REST API olan FCM HTTP v1 API (Firebase Admin SDK bu protokolü temel alır ve protokolün tüm avantajlarını sunar).
Firebase Admin SDK
Firebase Admin SDK, arka uçla kimlik doğrulama işlemini gerçekleştirir ve mesaj göndermeyi ve konu aboneliklerini yönetmeyi kolaylaştırır. Firebase Admin SDK ile şunları yapabilirsiniz:
- Tek tek uygulama örneklerine mesaj gönderme
- Bir veya daha fazla konuyla eşleşen konulara ve koşul ifadelerine mesaj gönderme
- Cihaz gruplarına mesaj gönderme
- Uygulama örneklerini konulara abone etme ve abonelikten çıkarma
- Farklı hedef platformlara göre uyarlanmış mesaj yükleri oluşturma
Firebase Admin SDK uygulamasını kurmak için Firebase Admin SDK uygulamasını sunucunuza ekleme başlıklı makaleyi inceleyin. Zaten bir Firebase projeniz varsa SDK'yı ekleme ile başlayın. Ayrıca projenizin Cloud Messaging ayarları sayfasında Firebase Cloud Messaging API'yi (V1) etkinleştirdiğinizden emin olun. Ardından, Firebase Admin SDK yüklendikten sonra gönderme istekleri oluşturmak için mantık yazmaya başlayabilirsiniz.
FCM HTTP v1 API'si
FCM, ham sunucu protokolünü tercih eden geliştiriciler için FCM HTTP v1 API'yi sunar.
Uygulama sunucusu, mesaj göndermek için HTTP üstbilgisi ve JSON anahtar/değer çiftlerinden oluşan bir HTTP gövdesi içeren bir POST isteği gönderir. Üstbilgi ve gövde seçenekleriyle ilgili ayrıntılar için FCM HTTP v1 API'yi kullanarak mesaj gönderme başlıklı makaleyi inceleyin.