下のFirebase Cloud Messaging(FCM)コンソールのグラフは、プッシュの95%しか電話で受信されていないことを示しています。これは、VoIPアプリを作成していて、プッシュをすぐに受信する必要があるため、多くの問題を引き起こしています。なぜこれが起こっているのか、そしてこの率を100%に近づける方法を誰かが説明できますか?
いくつかの重要な注意事項:
通知が配信されない原因はいくつかあります。
通知の表示を停止する特定のバッテリー最適化を備えている可能性のあるデバイスがあります。そしてそれを修正するには、ユーザーに次のことを依頼するかもしれません。小切手 Settings > Battery > Battery Optimization or Adaptive Battery >アプリを見つけて押します Don't optimize
アプリのプッシュ権限が無効になっている可能性がありますデバイス設定で、ユーザーはonおよびoffプッシュ通知をオンにできます。下の通知設定から Settings > Apps
すべての電話がオンになっていて、スリープモードになっていないことをどうやって知っていますか?あなたは100%確信していますか?
すべてのプッシュは、優先度が高いデータプッシュ(つまり、本文/タイトルなし)です。プッシュは、次のAndroid docsに従って優先順位を付ける有効期限10秒で送信されます
また、データFCMを使用してデバイス間の更新を調整します。私の場合、メッセージの大部分は1/2秒未満で受信されますが、最大で約20秒遅れて、いくつかのメッセージが突然受信される場合があります。
あなたの場合、たった10秒のTimeToLiveで、それらは失われるでしょう。
また、Googleによると、メッセージの95%は250ミリ秒未満で配信されますが、残りの5%は配信されないため、これらの損失はすでに正当化されています。