Flutter'da konu mesajları

Yayınlama/abone olma modelini temel alan FCM konu mesajlaşması, belirli bir konuyu seçen birden fazla cihaza mesaj göndermenize olanak tanır. Gerektiğinde konu mesajlarını oluşturursunuz ve FCM, mesajın doğru cihazlara güvenilir bir şekilde yönlendirilmesini ve teslim edilmesini gerçekleştirir.

Örneğin, yerel bir gelgit tahmini uygulamasının kullanıcıları, "gelgit akıntıları uyarıları" konusunu seçebilir ve belirli alanlardaki en uygun tuzlu su balıkçılığı koşullarına ilişkin bildirimler alabilir. Bir spor uygulamasının kullanıcıları, favori takımlarının canlı maç skorlarındaki otomatik güncellemelere abone olabiliyor.

Konularla ilgili akılda tutulması gereken bazı noktalar:

  • Konu mesajları, hava durumu veya diğer kamuya açık bilgiler gibi içerikler için en uygunudur.

  • Konu mesajları gecikme yerine aktarım hızına göre optimize edilmiştir . Tek cihazlara veya küçük cihaz gruplarına hızlı, güvenli teslimat 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 durumları için cihaz grubu mesajlaşmasını değerlendirin.

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

    • Bir uygulama örneğine en fazla 2000 konuya abone olunabilir.
    • Uygulama örneklerine abone olmak için toplu içe aktarmayı kullanıyorsanız her istek 1000 uygulama örneğiyle sınırlıdır.
    • Yeni aboneliklerin sıklığı proje başına ücretle sınırlıdır. Kısa bir süre içinde çok fazla abonelik isteği gönderirseniz, FCM sunucuları 429 RESOURCE_EXHAUSTED ("kota aşıldı") yanıtıyla yanıt verecektir. Üstel geri çekilmeyle yeniden deneyin.

İstemci uygulamasını bir konuya abone olma

İstemci uygulamaları mevcut herhangi bir konuya abone olabilir veya yeni bir konu oluşturabilir. Bir istemci uygulaması yeni bir konu adına (Firebase projeniz için halihazırda mevcut olmayan bir konu) abone olduğunda, FCM'de bu adda yeni bir konu oluşturulur ve herhangi bir istemci daha sonra bu konuya abone olabilir.

Bir konuya abone olmak için konu adıyla subscribeToTopic() çağırın. Bu yöntem, abonelik başarılı olduğunda sorunu çözen bir Future döndürür:

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

Abonelikten çıkmak için konu adı ile unsubscribeFromTopic() öğesini çağırın.

subscribeToTopic() ve unsubscribeFromTopic() web istemcileri için desteklenmez. Web kullanıcılarının aboneliklerini nasıl yöneteceğinizi öğrenmek için bkz . Web/JavaScript konularına mesaj gönderme .

Sonraki adımlar