Skip to main content
MoEngage Android BOM 4.4.0 以降、SDK は Firebase Installation ID を使用してプッシュ用にデバイスを登録します。Firebase Installation ID は、デバイス上のアプリケーションの各インストールに Firebase が割り当てる識別子です。 この移行で必要な変更は、アプリケーションでプッシュトークンを登録するコンポーネントによって異なります。以下で該当するケースを特定し、そのケースの手順を完了してください。

アプリケーションに該当するケース

ケース 1: MoEngage SDK がトークンを登録する場合

このケースは破壊的変更です。3 つの手順をすべて順番に完了してください。

ステップ 1: Firebase Messaging ライブラリの更新

com.google.firebase:firebase-messaging を 25.1.2 以上に更新します。このバージョンについては、Firebase Android リリースノートを参照してください。

ステップ 2: Firebase Installation ID の有効化

アプリケーションのマニフェストファイルに以下のメタデータを追加します。
詳細については、Firebase Installation ID へのアクセスに関する Firebase のドキュメントを参照してください。

ステップ 3: MoEngage SDK のアップグレード

MoEngage Android BOM 4.4.0 以上にアップグレードします。このリリースに含まれるモジュールのバージョンについては、Android SDK リリースノートを参照してください。

影響

この移行は必須です。移行が不完全な場合、リーチャビリティに影響し、プッシュトークンの喪失が発生するため、3 つの手順をすべて正しく完了してください。

ケース 2: アプリケーションがトークンを登録する場合

まず ケース 1 のステップ 1、ステップ 2、ステップ 3 を完了してから、以下の API の変更を適用してください。代替 API は MoEngage Android BOM 4.4.0 以降でのみ利用可能なため、アップグレード前にこれらの変更を適用するとコンパイルエラーが発生します。 以下の表は、代替 API をまとめたものです。最初の 2 つは、このケースのすべての統合に適用されます。残りは、アプリケーションが現在記載の API を呼び出している場合にのみ適用されます。以下の手順のコードブロックには代替 API のみを示しているため、コピーしたコードをそのまま使用できます。

ステップ 4: onNewToken から onRegistered への移行

FirebaseMessagingService を継承したメッセージングサービスクラスで、onNewToken コールバックを onRegistered に置き換えます。このコールバックは、プッシュトークンの代わりに Installation ID を受け取ります。 以下のコードブロックが代替コードです。そのままコピーしてください。
詳細については、onRegistered コールバックに関する Firebase のドキュメントを参照してください。

ステップ 5: passPushToken から passInstallationId への移行

passPushToken の代わりに passInstallationId() を呼び出して、Installation ID を MoEngage SDK に渡します。この呼び出しは MoEFireBaseHelper で行います。 以下のコードブロックが代替コードです。そのままコピーしてください。

ステップ 6: registerForToken から registerForInstallationId への移行

この手順は、アプリケーションが registerForToken を呼び出している場合にのみ適用してください。registerForToken の代わりに registerForInstallationId() を呼び出します。この呼び出しは MoEFireBaseHelper で行います。
この呼び出しは、以下の場合にのみ必要です。
  • アプリケーションで Firebase の自動初期化が無効になっている場合。自動初期化の防止に関する Firebase のドキュメントを参照してください。
  • MoEngage SDK の初期化が遅延している場合。たとえば、アプリケーションが Application クラスの onCreate() メソッドではなくワーカースレッドで SDK を初期化している場合などです。
以下のコードブロックが代替コードです。そのままコピーしてください。

ステップ 7: getPushToken から getInstallationId への移行

この手順は、アプリケーションが getPushToken を呼び出している場合にのみ適用してください。SDK が保持している識別子を読み取るには、getPushToken の代わりに getInstallationId() を呼び出します。この呼び出しは MoEFireBaseHelper で行います。 以下のコードブロックが代替コードです。そのままコピーしてください。

ステップ 8: トークンリスナーコールバックの移行

この手順は、アプリケーションがトークンリスナーを登録している場合にのみ適用してください。addTokenListener と removeTokenListener の代わりに addInstallationIdListener() と removeInstallationIdListener() を呼び出し、TokenAvailableListener を InstallationIdAvailableListener に置き換えます。このリスナーは、トークンの代わりに Installation ID の結果を受け取ります。これらの呼び出しは MoEFireBaseHelper で行います。 以下のコードブロックが代替コードです。そのままコピーしてください。

影響

ケース 2 は破壊的変更ではありません。アプリケーション自身が識別子を提供するため、これらの API の変更を行わなくても、BOM 4.4.0 でアプリケーションは引き続きプッシュ登録を行えます。必須なのは ケース 1 のみです。 それでも MoEngage は移行を推奨します。Installation ID は Firebase がプッシュトークンを更新または破棄した場合でも引き続き利用できるため、リーチャビリティが安定します。また、非推奨となったトークン API を置き換えるものでもあります。