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 ya da Google tarafından yönetilen diğer bulut ortamları gibi diğer güvenilir sunucu ortamınız.
Uygulama sunucunuz veya güvenilir sunucu ortamınız, FCM arka ucuna ileti istekleri gönderir. Bu arka uç da iletileri 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 mesaj gönderebilirsiniz. Daha fazla bilgi için Mesaj türleri başlıklı makaleyi inceleyin.
Güvenilir sunucu ortamı için şartlar
Uygulama sunucusu ortamınız aşağıdaki ölçütleri karşılamalıdır:
- Arka uca FCM doğru biçimlendirilmiş mesaj istekleri gönderebilir.
- İstekleri işleyebilir ve üstel geri çekilme kullanarak yeniden gönderebilir.
- 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 yapılan 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 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'ye yönelik istekleri yetkilendiren kısa süreli bir OAuth 2.0 jetonu. Bu jeton, Firebase projenize ait bir hizmet hesabıyla ilişkilendirilir. Erişim jetonları oluşturmak ve rotasyonunu yapmak için Authorize Send Requests (Gönderme isteklerini yetkilendirme) başlıklı makalede açıklanan adımları uygulayın. |
Bir sunucu seçeneği belirleyin
FCM sunucularıyla etkileşim kurmak için Firebase Admin SDK veya FCM HTTP v1 API'yi kullanma yöntemlerinden birini seçmeniz gerekir. Popüler programlama dillerinde desteklenmesi 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 kurmak için aşağıdaki seçenekleri kullanabilirsiniz:
Firebase Admin SDK; Node, Java, Python, C# ve Go dillerini destekler.
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
- İletileri, bir veya daha fazla konuyla eşleşen konulara ve koşul ifadelerine gönderme
- Cihaz gruplarına mesaj gönderme
- Uygulama örneklerini konulara abone olma ve konuların aboneliğinden çıkma
- Farklı hedef platformlara göre uyarlanmış mesaj yükleri oluşturma
Firebase Admin SDK uygulamasını ayarlamak için Firebase Admin SDK uygulamasını sunucunuza ekleme başlıklı makaleyi inceleyin. Zaten bir Firebase projeniz varsa SDK'yı ekleme bölümünden 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'sini sunar.
Uygulama sunucusu, mesaj göndermek için HTTP başlığı 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.