Aşağı akış mesajlarına teslim önceliği atamak için iki seçeneğiniz vardır Android'de: normal ve yüksek öncelikli. Normal ve yüksek öncelikli iletilerin teslim edilmesi çalışır aşağıdaki gibidir:
Normal öncelikli. Bu, veri mesajları için de geçerlidir. Normal öncelikli mesajlar, cihaz uyku modunda değilken hemen teslim edilir. Cihaz Doz Modu'ndayken yayınlama aşağıdaki gibi olabilir: cihaz dozdan çıkana kadar pil tasarrufu için ertelendi. Örneğin, kullanıcı arayüzünüzün senkronize halde tutulması veya uygulama verilerinin senkronize edilmesi gibi arka planda normal dağıtım önceliğini seçin.
Normal öncelik alırken uygulamanız için arka plan veri senkronizasyonu isteğinde bulunan bir mesaj alırsanız Arkadaş Bitkiler gibi WorkManager'ı içerir.
Yüksek öncelikli. FCM, yüksek öncelik sağlamaya çalışıyor iletileri hemen etkinleştirerek FCM adlı kullanıcının, uyku modunda olan bir cihazı aşağıdaki durumlarda uyandırmasına izin verir. ve bazı sınırlı işlemleri (çok sınırlı ağ dahil) çalıştırmak için erişim). Yüksek öncelikli iletiler, genellikle kullanıcı etkileşimiyle sonuçlanmalıdır. Google Analytics 4'te tarama yapar.
Android'de mesaj işleme ve önceliklerin azaltılması
Android'deki yüksek öncelikli mesajlar zamana duyarlı olup kullanıcı tarafından görülebilir ve kullanıcılara yönelik bildirimlerle sonuçlanmalıdır. Eğer FCM ise mesajların kullanıcıya yönelik bildirimler sunmadığı bir kalıp algıladığında, iletilerinize normal öncelik düzeyi atanabilir veya yetki verilebilir Google Play Hizmetleri tarafından işlenmesi gerekir.
FCM, 7 gün kullanır önceliklendirme veya proxy kullanma arasında karar verirken ileti davranışının mesajlar; bu tespiti, yer aldığınız her durumda bağımsız olarak bir uygulamadır. Yüksek öncelikli mesajlara yanıt olarak bildirimler, bir şekilde görüntülendikten sonra, gelecekteki yüksek öncelikli iletiler etkilenmez.
Google Play Hizmetleri'nde bildirim yetkisi
Belirli şartları karşılayan yüksek öncelikli bildirim mesajları (veri mesajları değil) Google Play Hizmetleri tarafından proxy kullanıldığını varsayarsak. Bu, bildirimlerin Google Play Hizmetleri tarafından uygulama adına, uygulamayı başlatmaya gerek kalmadan. Bu işlem, kullanıcılara Android cihazlarda genel olarak daha iyi bir kullanıcı deneyimi sunmak.
Proxy kullanılan bildirim mesajlarının Analytics'in çalışma biçiminde değişikliklere neden alınan iletilerin raporlandığı durumlar:
- Analiz için proxy kullanan bildirimlerin raporlanması için uygulamanızın FCM SDK sürümünü kullanması gerekir 24.0.0 veya sonraki sürümler.
- Teslimatların süresinde gecikmeler veya proxy kullanılmaya başlanmadan önceki sayı ile alınan ileti sayısı bildirimleri etkinleştirebilirsiniz. Bunun nedeni, proxy kullanan bildirimlerle ilgili analizlerin yalnızca bir rapor oluşturulur ve bildirimi uygulama açılmıyorsa.
Bildirim mesajlarını bu şekilde proxy yapmak, uygulamalar için varsayılan davranıştır (Android Q+ ve Google Play Hizmetleri 19054000 veya sonraki sürümleri) kullanarak. Mesajlar HTTP v1 API üzerinden gönderilen mesajlar proxy kullanılır, ancak Firebase üzerinden gönderilen mesajlar konsol veya eski API'lere yöntem olarak eklenmez. Bu özelliğin şu anda Beta sürümündedir ve değişiklik yapılabilir.
Proje yönetiminin avantajları için yetkiyi etkinleştirmenizi önemle tavsiye ederiz. devre dışı bırakabilirsiniz. yöntemler:
- Uygulama düzeyinde: Uygulama manifest'inize
<meta-data android:name= "delivery_metrics_exported_to_big_query_enabled" android:value="false"/>
yönergesini ekleyin. - Uygulama örneği bazında: Uygulama örneği için, belirli kullanım alanına bağlı olarak uygulamanızın kullanıcı arayüzü akışında
fun setNotificationDelegationEnabled(disable: Boolean): Task<Void!>
değerini ayarlayın. - İleti başına: Gönderme isteği için
AndroidNotification
nesnesindeproxy
anahtarınıDENY
olarak ayarlayın.
Android'de mesaj önceliklerinin azaltılmasını ölçme
Bireysel Mesajlar. Teslimatta: karşılaştırılarak tek bir mesajın önceliğinin azaltılıp kaldırılmadığını belirleyebilirsiniz. getPriority() ile önceki orijinal önceliği getOriginalPriority() ile değiştirin.
Tüm Mesajlar. FCM Aggregate Delivery Data API Android'e gönderdiğiniz tüm mesajların yüzde kaçının zaman kaybetmesini önleyebilir. Bazı mesajlar, birleştirilmiş veri raporlarından çıkarılabilir. Ama genel olarak, mesaj önceliklendirmede öncelik düzeyinin azaltıldığına dair global bir bakış açısı sunmaları gerekir. Şu konudaki makalemize göz atın: Daha fazla bilgi için toplu yayınlama verileri ve API'yi sorgulamaya yönelik örnek kod; Çevik ekiplere yönelik API gezgini.
Proxy Bildirimler. Proxy kullanılan bildirimler, mevcut FCM veya GA yayınlanma metriklerinde sayılmayacaktır. Bu nedenle, bildirim yayınlama metriklerinde% 15'e varan bir düşüş görebilirsiniz. Örneğin, gönderilen iletiler hakkında rapor oluşturmak için FCM Aggregate Delivery Data API.
ProxyNotificationInsightPercents
, başarıyla yüzde değerini bildiriyor ve proxy kullanan bildirimler, başarıyla proxy yapıldı.
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ınlanmaz. Bunun sonucunda, mesajlarınızın önceliği kaldırılır. Bir uygulama örneğine yüksek öncelikli iletiler göndermeden önce bildirimlerin etkinleştirildiğini doğrulamanız gerekir.
Bildirim yayınlamadan önce evi aramayın. Çünkü Android mobil cihaz nüfusunun küçük bir kısmı yüksek gecikmeli ağlarda, sunucu kullanmadan önce sunucularınızla bir bildirim görüntüleniyor. Süre bitmeden sunucuya geri çağrılması izin verilen işleme süresi yüksek gecikmeli ağlardaki kullanıcılar için riskli olabilir. Bunun yerine onay kutusunu işaretleyin ve bunu hemen görüntüleyin. İhtiyacınız varsa senkronize etmek için kullanabileceğiniz bir görev WorkManager'ı içerir.