Firebase Cloud Messaging ileti türleri

FCM ile istemci uygulamalarınıza iki tür mesaj gönderebilirsiniz:

  • "Görüntülü mesajlara" benzer bildirim mesajları, FCM SDK tarafından otomatik olarak işlenir.
  • İstemci uygulaması tarafından işlenen veri mesajları.

Bildirim mesajları, kullanıcı tarafından görülebilen önceden tanımlanmış bir anahtar grubu içerir ve isteğe bağlı bir veri yükü içerebilir. Veri mesajları ise yalnızca kullanıcı tanımlı özel anahtar/değer çiftlerinizi içerir. Her iki mesaj türü için de maksimum yük 4.096 bayttır. Firebase konsolundan mesaj gönderirken ise 1.000 karakterlik bir sınır uygulanır.

Senaryoyu kullan Nasıl gönderilir?
Bildirim mesajı FCM SDK'sı, arka planda çalışırken istemci uygulaması adına son kullanıcı cihazlarına mesaj gösterir. Aksi takdirde, bildirim alındığında uygulama ön planda çalışıyorsa davranış, uygulamanın kodu tarafından belirlenir.
  1. Cloud Functions gibi güvenilir bir ortamda veya uygulama sunucunuzda Firebase Admin SDK ya da HTTP v1 API'yi kullanın. notification anahtarını ayarlayın. İsteğe bağlı veri yükü olabilir. Her zaman daraltılabilir.

    Görüntülü bildirim örneklerini ve istek yüklerini gönderme örneklerini inceleyin.

  2. Bildirim oluşturucu: İleti metni, başlık vb. bilgileri girip gönderin. Özel veriler sağlayarak isteğe bağlı veri yükü ekleyin.
Veri mesajı Veri mesajlarının işlenmesinden istemci uygulaması sorumludur. Veri mesajları yalnızca özel anahtar/değer çiftlerine sahiptir ve ayrılmış anahtar adları içermez (aşağıya bakın). Cloud Functions gibi güvenilir bir ortamda veya uygulama sunucunuzda Firebase Admin SDK ya da HTTP v1 API'yi kullanın. Gönderme isteğinde data anahtarını ayarlayın.

Uygulamanız arka planda çalışırken FCM SDK'sının otomatik olarak bildirim göstermesini istediğinizde bildirim mesajlarını kullanabilirsiniz. FCM, isteğe bağlı veri yükü içeren bir bildirim mesajı gönderebilir. Bu gibi durumlarda FCM, bildirim yükünü gösterir ve istemci uygulaması veri yükünü işler.

Mesajları kendi istemci uygulaması kodunuzla işlemek istediğinizde veri mesajlarını kullanabilirsiniz.

Bildirim mesajları

Bildirim mesajlarını Firebase konsolu, Firebase Admin SDK veya FCM HTTP v1 API'yi kullanarak gönderebilirsiniz. Firebase konsolu, bildirim mesajlarınızı hassaslaştırmanıza ve iyileştirmenize yardımcı olmak için analize dayalı A/B testi sunar.

Firebase Admin SDK veya FCM HTTP v1 API'yi kullanarak bildirim mesajları göndermek için notification anahtarını, bildirim mesajının önceden tanımlanmış anahtar/değer seçenekleri kümesiyle ayarlayın. Anlık mesajlaşma uygulamasında bildirim mesajını biçimlendirmek için aşağıdaki örneği kullanabilirsiniz.

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

Uygulama arka plandayken bildirim mesajları bildirim tepsisine gönderilir. Ön plandaki uygulamalarda mesajlar bir geri çağırma işlevi tarafından işlenir.

Bildirim mesajları oluşturmak için kullanılabilen önceden tanımlanmış anahtarların tam listesi için FCM HTTP v1 API bildirim nesnesi referans belgelerini kullanabilirsiniz.

Veri mesajları

Tercih ettiğiniz şifreleme şemasını uygulamak için FCM yükünü data nasıl kullanmak istediğiniz size bağlıdır. Özel anahtar/değer çiftlerinizde ayrılmış kelimeler kullanmadığınızdan emin olun. Ayrılmış kelimeler arasında from, message_type veya google., gcm. ya da gcm.notification. ile başlayan kelimeler yer alır.

Aşağıdaki örnekte, mesajı alan tüm platformlardaki istemciler tarafından yorumlanan üst düzey veya ortak veri alanının kullanımı gösterilmektedir. Her platformda istemci uygulaması, veri yükünü bir geri çağırma işlevinde alır.

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}

İsteğe bağlı veri yükü içeren bildirim mesajları

Özel anahtar/değer çiftlerinden oluşan isteğe bağlı bir yük içeren bildirim mesajlarını programatik olarak veya Firebase konsolunu kullanarak gönderebilirsiniz. Bildirim Oluşturucu'da, Gelişmiş seçenekler'deki Özel veriler alanlarını kullanın.

Hem bildirim hem de veri yükleri içeren mesajlar alındığında uygulamanın davranışı, uygulamanın arka planda mı yoksa ön planda mı olduğuna, yani mesajın alındığı sırada etkin olup olmadığına bağlıdır.

  • Uygulamalar arka planda çalışırken bildirim tepsisinde bildirim yükünü alır ve yalnızca kullanıcı bildirime dokunduğunda veri yükünü işler.
  • Ön plandayken uygulamanız, her iki yükün de mevcut olduğu bir mesaj nesnesi alır.

Aşağıda hem notification anahtarını hem de data anahtarını içeren JSON biçimli bir mesaj verilmiştir:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}