Yayınlama/abone olma modeline dayalı FCM konu mesajları, belirli bir konuyu etkinleştirmiş birden çok cihaza mesaj göndermenize olanak tanır. Konu iletilerini gerektiği gibi oluşturursunuz. FCM, iletiyi yönlendirme ve doğru cihazlara güvenilir bir şekilde teslim etme işlemlerini üstlenir.
Örneğin, yerel bir gelgit tahmini uygulamasının kullanıcıları "gelgit akıntısı uyarıları" konusunu etkinleştirebilir ve 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 bir şekilde mesaj göndermek için konuları değil, mesajları kayıt jetonlarına hedefleyin.
Kullanıcı başına birden fazla cihaza mesaj göndermeniz gerekiyorsa bu kullanım alanları için cihaz grubu mesajlarını kullanabilirsiniz.
Konu mesajları, her konu için sınırsız 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
- Konu mesajları gönderme hakkında bilgi edinin.
- Sunucuda konu aboneliklerini nasıl yöneteceğinizi öğrenin.