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

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

  • Normal öncelik. Bu, veri mesajları için varsayılan önceliktir. Cihaz uykuda değilken normal öncelikli mesajlar hemen iletilir. Cihaz Doze modundayken , pil tasarrufu sağlamak amacıyla cihaz Doze modundan çıkana kadar teslimat gecikebilir. Yeni e-posta bildirimleri, kullanıcı arayüzünüzü senkronize tutmak veya uygulama verilerini arka planda senkronize etmek gibi zamana duyarlı olmayan mesajlar için normal dağıtım önceliğini seçin.

    Android'de uygulamanız için arka planda veri senkronizasyonu talep eden normal öncelikli bir mesaj aldığınızda, WorkManager ile ağ kullanılabilir olduğunda bunu ele alacak bir görev zamanlayabilirsiniz.

  • 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 olanak tanır. Yüksek öncelikli mesajlar genellikle kullanıcının uygulamanızla veya bildirimleriyle etkileşime girmesiyle sonuçlanmalıdır.

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

Android'deki yüksek öncelikli mesajlar zamana duyarlı, kullanıcının görebileceği 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 öncelikten çıkarılabilir. FCM, mesajların önceliğinin kaldırı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ızın öncelikleri ortadan kaldırılmayacaktır. Bu, bildirimin FCM SDK tarafından bir bildirim mesajı aracılığıyla mı yoksa geliştirici tarafından oluşturulan bir bildirimin bir veri mesajı aracılığıyla mı görüntülendiğine bakılmaksızın geçerlidir.

Android'de mesajların önceliklendirilmesinin ölçülmesi

  • Bireysel Mesajlar. Teslim sırasında, bireysel bir mesajın önceliğinin kaldırılıp kaldırılmadığını, getPriority() öğesinden iletilen önceliğini getOriginalPriority() öğesinden orijinal önceliğiyle karşılaştırarak belirleyebilirsiniz.

  • Tüm mesajlar. FCM Toplu Teslimat Verileri API'si, Android'e gönderilen tüm mesajlarınızın yüzde kaçının önceliklerinin kaldırıldığını bildirebilir. Bazı mesajlar toplu veri raporlarından çıkarılabilir ancak genel olarak mesajların önceliklendirme oranlarının küresel bir görünümünü sunmalıdırlar. Daha fazla bilgi ve API'yi sorgulamaya yönelik örnek kod için toplu teslimat verileriyle ilgili makalemize bakın; API Explorer'dan da incelenebilir .

Sorun giderme

  • Uygulama örneğinizde bildirimlerin etkin olduğundan emin olun. Kullanıcı, uygulamanızın bildirim iznini devre dışı bıraktıysa hiçbir bildiriminiz yayınlanmayacak ve bunun sonucunda mesajlarınız önceliklendirilmeyecektir. Bir uygulama örneğine yüksek öncelikli iletiler göndermeden önce bildirimlerin etkinleştirildiğini doğrulamanız gerekir.

  • Bildirim yayınlamadan 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üresi dolmadan sunucuya geri çağrılması, 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 gerekiyorsa, bunu arka planda işlemek için WorkManager ile bir görev zamanlayabilirsiniz.