Skip to main content
このページは、15.03.00 未満の MoEngage Android SDK バージョンに適用されます。MoEngage Android SDK 15.03.00 以降、MoEngage SDK によるプッシュトークンの登録はサポートされなくなりました。現在の連携方法についてはプッシュトークンの登録と表示を、アップグレードする場合は Firebase Installation ID への移行を参照してください。

前提条件

開始する前に、以下の設定を完了してください。

概要

プッシュ通知には、2 つの必須ステップがあります。
  1. プッシュトークンの登録。 デバイスがプッシュに登録し、Firebase がプッシュトークンを生成します。
  2. プッシュの表示。 アプリケーションが Firebase Cloud Messaging(FCM)からプッシュペイロードを受信し、デバイスに通知を表示します。
MoEngage では、両方のステップを SDK で処理することをお勧めします。FCM のダウンタイムやネットワークエラーによってトークンの登録が失敗した場合、SDK は登録を再試行します。 SDK は、アプリケーションがトークンを登録して通知ペイロードを受信する連携方法もサポートしています。 このドキュメントでは、両方の連携方法について説明します。

MoEngage SDK によるプッシュトークンの登録と表示

重要
  • MoEngage SDK がトークンを登録する場合は、com.google.firebase:firebase-messaging 23.0.0 以上を使用してください。
  • アプリケーションのマニフェストファイルでは、com.google.firebase.MESSAGING_EVENT インテントフィルターを持つサービスを 1 つだけ宣言してください。マニフェストでそのようなサービスが複数宣言されている場合、最初のサービスのみがコールバックを受け取ります。その結果、MoEngage SDK はプッシュペイロードを受信できず、配信率が低下します。
MoEngage SDK が通知を受信できるように、マニフェストファイルに以下のサービスを追加します。
以下の 2 つのセクションはオプションです。アプリケーションで記載されている動作が必要な場合にのみ適用してください。

トークンコールバック

MoEngage がアプリケーションに代わって登録したプッシュトークンにアクセスするには、トークンコールバックを実装します。MoEngage SDK が登録を処理する場合、トークンを登録または更新するたびにコールバックが提供されます。 TokenAvailableListener インターフェースを実装し、MoEFireBaseHelper.getInstance().addTokenListener() を使用して登録します。 アプリケーションがバックグラウンドにある間も SDK がコールバックを呼び出す可能性があるため、コールバックは Application クラスの onCreate() メソッドで登録してください。

MoEngage 以外のペイロードのプッシュ表示

アプリケーションが MoEngage 以外から送信された通知を処理する場合は、このコールバックを実装します。マニフェストファイルで SDK のサービスを宣言すると、SDK は MoEngage プラットフォーム以外のサーバーから受信したプッシュペイロードごとにコールバックを提供します。 NonMoEngagePushListener インターフェースを実装し、MoEFireBaseHelper.getInstance().addNonMoEngagePushListener() を使用して登録します。 アプリケーションがバックグラウンドにある間も SDK がコールバックを呼び出す可能性があるため、コールバックは Application クラスの onCreate() メソッドで登録してください。

アプリケーションによるプッシュトークンの登録とペイロードの処理

MoEngage SDK がプッシュトークンの登録と表示を処理する場合は、このセクションをスキップしてください。 MoEngage SDK はデフォルトでプッシュトークンを登録します。アプリケーションがトークンを登録する場合は、まず MoEngage のトークン登録をオプトアウトしてください。

MoEngage のトークン登録のオプトアウト

MoEngage.Builder オブジェクトの configureFcm() API を使用して、トークンの登録を無効にします。

プッシュトークンを MoEngage SDK に渡す

MoEngage プラットフォームがデバイスに通知を配信するにはトークンが必要なため、アプリケーションは FCM から受信したプッシュトークンを MoEngage SDK に渡す必要があります。passPushToken() API を使用します。
FCM がトークンを更新するたびに、トークンを MoEngage SDK に渡してください。MoEngage プラットフォームへの移行には、アプリケーションの更新時にトークンを渡すことが必要です。

プッシュペイロードを MoEngage SDK に渡す

SDK はリッチプッシュ通知を含む通知をレンダリングするため、アプリケーションが独自のサービスを宣言している場合でも、MoEngage プラットフォームからのペイロードを MoEngage SDK に渡してください。 Firebase サービスの onMessageReceived() メソッドから passPushPayload() API を呼び出します。渡す前に、isFromMoEngagePlatform() API を使用して、ペイロードが MoEngage プラットフォームから送信されたものかどうかを確認してください。

リッチランディング

リッチランディングページは、プッシュキャンペーンからアプリケーション内で Web URL を開きます。どのコンポーネントがプッシュトークンの登録と表示を処理するかに関係なく、リッチランディングページを表示するにはこの手順が必要です。
以下の宣言は、現在の SDK バージョンに含まれています。MoEActivity の親 Activity を変更する必要がある場合にのみ追加してください。
AndroidManifest.xml ファイルに以下の Activity を追加します。