Installation ID のドロップとは?
MoEngage Android BOM 4.4.0 以降、SDK は Firebase Installation ID を使用してデバイスをプッシュ用に登録します。Firebase Installation ID は、デバイス上のアプリケーションの各インストールに Firebase が割り当てる識別子です。 Installation ID のドロップとは、MoEngage プラットフォームがアプリケーションのすべてのユーザーの Installation ID を保持していない状況を指します。たとえば、アプリケーションが毎日 100 人の新規ユーザーにインストールされているにもかかわらず、MoEngage プラットフォームが保持している識別子が 60 人分しかない場合、これは Installation ID のドロップです。修正が重要な理由
エンドユーザーにプッシュ通知を送信するには、この識別子が必要です。識別子がないとプッシュを送信できないため、ユーザーのエンゲージメントを維持するにはドロップを修正する必要があります。Installation ID のドロップが発生する理由
Installation ID のドロップは、さまざまな理由で発生する可能性があります。- インターネット接続が不安定または接続がないため、Firebase SDK が Installation ID を生成しない。
com.google.firebase:firebase-messagingが、Firebase Installation ID に必要な最小バージョンである 25.1.2 より古い。- アプリケーションのマニフェストファイルに
firebase_messaging_installation_id_enabledメタデータがない、またはfalseに設定されている。 - Google Play 開発者サービスのバージョンの不一致により、デバイス上の Play 開発者サービスのバージョンがアプリケーションで使用されている Firebase のバージョンと互換性がない。
- Firebase の自動初期化が無効になっている、または MoEngage SDK の初期化が遅延しており、アプリケーションが
registerForInstallationId()を呼び出していない。 - アプリケーションに Installation ID を MoEngage SDK に渡すかどうかを決定する内部チェックまたはフラグがあり、識別子の生成時にそのフラグが無効になっている。
- 統合エラーにより、アプリケーションが Installation ID を生成しているが、MoEngage SDK に渡していない。
修正方法
- Firebase Installation ID の統合が完了していることを確認します。現在の統合についてはプッシュトークンの登録と表示を、以前の BOM バージョンからアップグレードした場合は Firebase Installation ID への移行を参照してください。
com.google.firebase:firebase-messagingが 25.1.2 以上であること、およびアプリケーションのマニフェストファイルでfirebase_messaging_installation_id_enabledメタデータがtrueに設定されていることを確認します。- アプリケーションで Firebase の自動初期化が無効になっている場合、または MoEngage SDK の初期化が遅延している場合は、MoEngage SDK の初期化が完了した後に
registerForInstallationId()を呼び出します。 - アプリケーションが識別子を SDK に渡している場合は、アプリケーションの初回起動時に識別子が渡されるように、
passInstallationId呼び出し前のチェックを削除するか、フラグをデフォルトで有効にしておきます。
MoEngage では、MoEngage SDK に Installation ID の生成と通知の表示を任せることを推奨しています。フロー 1: MoEngage が Installation ID の生成を処理するを参照してください。