Flutter'da konu mesajları

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

Örneğin, yerel bir gelgit tahmin uygulamasının kullanıcıları "gelgit akıntısı uyarıları" konusunu etkinleştirebilir ve belirli bölgelerdeki optimum tuzlu su balıkçılığı koşullarıyla ilgili bildirimler alabilir. Bir spor uygulamasının kullanıcıları, tuttukları takımların canlı maç skorlarında otomatik güncellemelere abone olabilir.

Konular hakkında unutulmaması gereken bazı noktalar:

  • Konu mesajı, hava durumu veya herkese açık diğer bilgiler gibi içerikler için en uygun seçenektir.

  • Konu mesajları, gecikme yerine işleme hızı için optimize edilir. 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, aşağıdaki alanlarda sınırlar uygular:

    • Bir uygulama örneği en fazla 2.000 konuya abone olabilir.
    • Uygulama örneklerini abone olmak için toplu içe aktarma yöntemini kullanıyorsanız her istek 1.000 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 verir. Eksponansiyel geri yükleme ile yeniden deneyin.

İstemci uygulamasının bir konuya abone olmasını sağlama

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

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

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

Aboneliği iptal etmek için unsubscribeFromTopic() numaralı telefonu konu adıyla birlikte arayın.

subscribeToTopic() ve unsubscribeFromTopic(), web istemcileri için desteklenmez. Web kullanıcıları için abonelikleri nasıl yöneteceğinizi öğrenmek istiyorsanız Web/JavaScript'teki konulara mesaj gönderme bölümüne bakın.

Sonraki adımlar