Flutter'da konu mesajları

Yayınlama/abone olma modeline dayalı FCM konu mesajları, belirli bir konuyu etkinleştirmiş birden çok cihaza mesaj göndermenize olanak tanır. Konu mesajlarını gerektiği gibi oluşturursunuz. FCM, mesajın yönlendirilmesini ve doğru cihazlara güvenilir bir şekilde teslim edilmesini sağlar.

Örneğin, yerel bir gelgit tahmini uygulamasının kullanıcıları "gelgit akıntıları uyarıları" konusunu etkinleştirerek belirli bölgelerdeki en uygun tuzlu su balıkçılığı koşullarına dair bildirimler alabilir. Bir spor uygulamasının kullanıcıları, favori takımlarının canlı maç skorlarıyla ilgili otomatik güncellemelere abone olabilir.

Konularla ilgili göz önünde bulundurulması gereken bazı noktalar:

  • Konu mesajları, hava durumu veya herkese açık diğer bilgiler gibi içerikler için en uygun mesaj türüdür.

  • Konu mesajları gecikme yerine aktarım hızı için optimize edilmiştir. Tek cihazlara veya küçük cihaz gruplarına hızlı ve güvenli dağıtım için mesajları konulara değil, kayıt jetonlarına hedefleyin.

  • Kullanıcı başına birden fazla cihaza mesaj göndermeniz gerekiyorsa bu kullanım alanları için cihaz grubu mesajlaşmasını kullanabilirsiniz.

  • Konu mesajları, her konu için sınırsız sayıda aboneliği destekler. Ancak FCM şu alanlarda sınırlamalar uygular:

    • Bir uygulama örneği en fazla 2.000 konuya abone olabilir.
    • Uygulama örneklerini abone etmek için toplu içe aktarma özelliğini kullanıyorsanız her istek 1.000 uygulama örneğiyle sınırlıdır.
    • Yeni aboneliklerin sıklığı, proje başına sınırlandırılmıştır. Kısa süre içinde çok fazla abonelik isteği gönderirseniz FCM sunucuları 429 RESOURCE_EXHAUSTED ("kota aşıldı") yanıtı verir. Eksponansiyel geri yüklemeyle yeniden deneyin.

İstemci uygulamasını bir konuya abone etme

İstemci uygulamaları mevcut bir konuya abone olabilir veya yeni bir konu oluşturabilir. Bir istemci uygulaması yeni bir konu adına (Firebase projenizde mevcut olmayan bir konu) abone olduğunda FCM'de bu ada sahip yeni bir konu oluşturulur ve tüm istemciler bu konuya abone olabilir.

Bir konuya abone olmak için konu adını belirterek subscribeToTopic()'yi arayın. Bu yöntem, abonelik başarılı olduğunda çözülen bir Future döndürür:

await FirebaseMessaging.instance.subscribeToTopic("topic");

E-posta listesinden çıkmak için konu adını belirterek unsubscribeFromTopic() numaralı telefonu arayın.

subscribeToTopic() ve unsubscribeFromTopic(), web istemcileri için desteklenmez. Web kullanıcılarının aboneliklerini nasıl yöneteceğinizi öğrenmek için Web/JavaScript'te konulara mesaj gönderme başlıklı makaleyi inceleyin.

Sonraki adımlar