Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

メッセージの優先度を設定および管理する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Android でダウンストリーム メッセージに配信優先度を割り当てるには、通常優先度と高優先度の 2 つのオプションがあります。通常および優先度の高いメッセージの配信は、次のように機能します。

  • 通常の優先度。これは、データ メッセージのデフォルトの優先度です。通常の優先度のメッセージは、デバイスがスリープ状態でないときにすぐに配信されます。デバイスがDoze モードの場合、デバイスが Doze モードを終了するまで、電池を節約するために配信が遅れる場合があります。新しいメールの通知、UI の同期の維持、バックグラウンドでのアプリ データの同期など、時間的制約の少ないメッセージの場合は、通常の配信優先度を選択します。

    アプリのバックグラウンド データ同期を要求する通常の優先度のメッセージを Android で受信した場合、 WorkManagerでタスクをスケジュールして、ネットワークが利用可能になったときにそれを処理できます。

  • 優先度高。 FCM は優先度の高いメッセージをすぐに配信しようとします。これにより、FCM は必要に応じてスリープ状態のデバイスを起動し、限られた処理 (非常に限られたネットワーク アクセスを含む) を実行できます。通常、優先度の高いメッセージは、アプリまたはその通知に対するユーザーの操作につながるはずです。

Android 向けの優先度の高いメッセージの使用

Android の優先度の高いメッセージは、時間に敏感なユーザーに表示されるコンテンツを対象としており、ユーザー向けの通知が表示されるはずです。メッセージがユーザー向けの通知にならないパターンを FCM が検出した場合、メッセージの優先度が通常の優先度に下げられる可能性があります。 FCM は、メッセージの優先順位を下げるかどうかを決定する際に、7 日間のメッセージ動作を使用します。この決定は、アプリケーションのすべてのインスタンスに対して個別に行われます。優先度の高いメッセージに応答して、通知がユーザーに見えるように表示される場合、将来の優先度の高いメッセージの優先度が下がることはありません。これは、FCM SDK が通知メッセージを介して通知を表示するか、データ メッセージを介してデベロッパーが生成した通知を表示するかに関係なく適用されます。

Android でのメッセージの優先度の低下の測定

  • 個々のメッセージ。配信時に、 getPriority() から配信された優先度と getOriginalPriority()からの元の優先度を比較することで、個々のメッセージの優先度が下がったかどうかを判断できます。

  • すべてのメッセージ。 FCM Aggregate Delivery Data APIは、Android へのすべてのメッセージの何パーセントが優先度を下げられているかを報告できます。一部のメッセージは集計データ レポートから除外される場合がありますが、全体として、メッセージの優先度の低下率を全体的に把握できるはずです。 API を照会するための詳細とサンプル コードについては、集計された配信データに関する記事を参照してください。また、 API Explorerから調べることもできます

トラブルシューティング

  • アプリ インスタンスで通知が有効になっていることを確認します。ユーザーがアプリの通知許可を無効にしている場合、通知は投稿されず、その結果、メッセージの優先度が低くなります。優先度の高いメッセージをアプリケーション インスタンスに送信する前に、通知が有効になっていることを確認する必要があります。

  • 通知を投稿する前に自宅に電話しないでください。 Android モバイル人口のごく一部が高遅延ネットワークを使用しているため、通知を表示する前にサーバーへの接続を開かないでください。許可された処理時間の終了前にサーバーにコールバックすることは、待ち時間の長いネットワークのユーザーにとって危険な場合があります。代わりに、通知の内容を FCM メッセージに含めて、すぐに表示します。 Android で追加のアプリ内コンテンツを同期する必要がある場合は、 WorkManagerでタスクをスケジュールしてバックグラウンドで処理できます。