Sunucu ortamınız ve FCM

Firebase Cloud Messaging sunucu tarafı iki bileşenden oluşur:

  • Google tarafından sağlanan FCM arka ucu.
  • Uygulama sunucunuz veya sunucu mantığınızın çalıştığı diğer güvenilir sunucu ortamı (ör. Firebase için Cloud Functions) ya da Google tarafından yönetilen diğer bulut ortamları.

Uygulama sunucunuz veya güvenilir sunucu ortamınız, FCM arka ucuna ileti istekleri gönderir. Bu istekler, kullanıcıların cihazlarında çalışan istemci uygulamalarına yönlendirilir.

Güvenilir sunucu ortamıyla ilgili şartlar

Uygulama sunucusu ortamınız aşağıdaki ölçütleri karşılamalıdır:

  • FCM arka ucuna düzgün biçimlendirilmiş mesaj istekleri gönderebilir.
  • İstekleri işleyip üstel geri çekilme kullanarak yeniden gönderebilme
  • Sunucu yetkilendirme kimlik bilgilerini ve istemci kayıt jetonlarını güvenli bir şekilde saklayabilir.

Firebase projesi için gerekli kimlik bilgileri

Hangi FCM özelliklerini uyguladığınıza bağlı olarak Firebase projenizden aşağıdaki kimlik bilgilerine ihtiyacınız olabilir:

Kimlik bilgisi Açıklama
Proje kimliği FCM v1 HTTP uç noktasına yapılan isteklerde kullanılan, Firebase projenizin benzersiz tanımlayıcısı. Bu değer, Firebase konsol Ayarlar bölmesinde kullanılabilir.
Kayıt jetonu Her istemci uygulaması örneğini tanımlayan benzersiz bir jeton dizesi. Tek cihaz ve cihaz grubu mesajlaşması için kayıt jetonu 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önderebilen her göndereni tanımlamak için kullanılır.
Erişim jetonu HTTP v1 API'sine yönelik istekleri yetkilendiren kısa ömürlü bir OAuth 2.0 jetonu. Bu jeton, Firebase projenize ait bir hizmet hesabıyla ilişkilendirilir. Erişim jetonları oluşturmak ve döndürmek için Gönderme İsteklerini Yetkilendirme başlıklı makalede açıklanan adımları uygulayın.

Bir sunucu seçeneği belirleyin

FCM sunucularıyla etkileşim kurmanın bir yoluna karar vermeniz gerekir: Firebase Admin SDK veya FCM HTTP v1 API'yi kullanabilirsiniz. Popüler programlama dillerinde desteklenmesi ve kimlik doğrulama ile yetkilendirme işlemlerini kolayca yapabilmesi nedeniyle Firebase Admin SDK yöntemi önerilir.

FCM sunucularıyla etkileşim kurma seçenekleri şunlardır:

Firebase Admin SDK

Firebase Admin SDK, arka uçta 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 yapabilecekleriniz:

  • Cihazlara ayrı ayrı 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
  • Cihazları konulara abone olma ve konuların aboneliğinden çıkma
  • Farklı hedef platformlara göre uyarlanmış mesaj yükleri oluşturma

Firebase Admin SDK kurulumu için Sunucunuza Firebase Admin SDK Ekleme başlıklı makaleyi inceleyin. Zaten bir Firebase projeniz varsa SDK'yı ekleme bölümünden başlayın. Ayrıca, projeniz için 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

FCM, ham sunucu protokolünü tercih eden geliştiriciler için FCM HTTP v1 API'sini sağlar.

Uygulama sunucusu, mesaj göndermek için bir 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'sini kullanarak mesaj gönderme başlıklı makaleyi inceleyin.