了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Mesaj önceliğini ayarlayın ve yönetin

Android'de aşağı akış mesajlarına teslim önceliği atamak için iki seçeneğiniz vardır: normal ve yüksek öncelikli. Normal ve yüksek öncelikli mesajların teslimi şu şekilde çalışır:

  • Olağan öncelik. Bu, veri mesajları için varsayılan önceliktir. Cihaz uykuda değilken normal öncelikli mesajlar hemen teslim edilir. Cihaz Uyuklama modundayken , pili korumak için teslimat cihaz uyku modundan çıkana kadar ertelenebilir. Yeni e-posta bildirimleri, kullanıcı arayüzünüzü senkronize halde tutma veya uygulama verilerini arka planda senkronize etme gibi zamana daha az duyarlı mesajlar için normal teslim önceliğini seçin.

    Android'de, uygulamanız için bir arka plan veri senkronizasyonu isteyen normal bir öncelikli mesaj alırken, ağ kullanılabilir olduğunda bunu işlemek için WorkManager ile bir görev planlayabilirsiniz.

  • Yüksek öncelik. FCM, yüksek öncelikli mesajları anında iletmeye çalışarak, FCM'nin gerektiğinde uyuyan bir cihazı uyandırmasına ve bazı sınırlı işlemleri (çok sınırlı ağ erişimi dahil) çalıştırmasına izin verir. Yüksek öncelikli mesajlar, genellikle uygulamanız veya bildirimleriyle kullanıcı etkileşimi ile sonuçlanmalıdır.

Android için yüksek öncelikli mesajları kullanma

Android'deki yüksek öncelikli mesajlar, zamana duyarlı, kullanıcı tarafından görülebilen içerik içindir ve kullanıcıya yönelik bildirimlerle sonuçlanmalıdır. FCM, mesajların kullanıcıya yönelik bildirimlerle sonuçlanmadığı bir model tespit ederse, mesajlarınızın önceliği normal önceliğe düşürülebilir. FCM, mesajların önceliğinin azaltılıp kaldırılmayacağını belirlerken 7 günlük mesaj davranışını kullanır; bu belirlemeyi uygulamanızın her örneği için bağımsız olarak yapar. Yüksek öncelikli mesajlara yanıt olarak, bildirimler kullanıcının görebileceği şekilde görüntülenirse, gelecekteki yüksek öncelikli mesajların önceliği kaldırılmaz. Bu, bildirimin FCM SDK tarafından bir bildirim mesajı aracılığıyla mı yoksa geliştirici tarafından bir veri mesajı aracılığıyla mı görüntülendiğine bakılmaksızın geçerlidir.

Android'de mesaj önceliğini azaltmayı ölçme

  • Bireysel Mesajlar. Teslimatta, getPriority() 'den teslim edilen önceliğini getOriginalPriority() 'den orijinal önceliğiyle karşılaştırarak tek bir mesajın önceliğinin kaldırılıp kaldırılmadığını belirleyebilirsiniz.

  • Tüm mesajlar. FCM Aggregate Delivery Data API, Android'e gönderilen tüm mesajlarınızın yüzde kaçının önceliğinin kaldırıldığını bildirebilir. Bazı mesajlar toplu veri raporlarından çıkarılabilir, ancak genel olarak mesajların önceliğini azaltma oranlarının genel bir görünümünü vermelidirler. Daha fazla bilgi ve API'yi sorgulamaya yönelik örnek kod için toplu teslim verileri hakkındaki makalemize bakın; API gezgininden de keşfedilebilir .

Sorun giderme

  • Uygulama örneğinizde bildirimlerin etkinleştirildiğinden emin olun. Kullanıcı, uygulamanız için bildirim iznini devre dışı bıraktıysa, bildirimlerinizin hiçbiri yayınlanmayacak ve bunun sonucunda iletilerinizin önceliği kaldırılacaktır. Bir uygulama örneğine yüksek öncelikli mesajlar göndermeden önce bildirimlerin etkinleştirildiğini doğrulamanız gerekir.

  • Bir bildirim göndermeden evi aramayın. Android mobil popülasyonunun küçük bir kısmı yüksek gecikmeli ağlarda olduğundan, bir bildirim görüntülemeden önce sunucularınıza bağlantı açmaktan kaçının. İzin verilen işlem süresinin bitiminden önce sunucuya geri arama yapmak, yüksek gecikmeli ağlardaki kullanıcılar için riskli olabilir. Bunun yerine, bildirim içeriğini FCM mesajına ekleyin ve hemen görüntüleyin. Android'de ek uygulama içi içerik için senkronizasyon yapmanız gerekirse, bunu arka planda halletmek için WorkManager ile bir görev planlayabilirsiniz.