前提条件
開始する前に、以下の設定を完了してください。- アプリケーション用の Firebase プロジェクトを作成し、
google-services.json設定ファイルを追加します。Firebase Android セットアップガイドを参照してください。 - FCM の認証情報を生成し、MoEngage ダッシュボードに追加します。FCM 認証およびプッシュの設定を参照してください。
概要
プッシュ通知には、2 つの必須ステップがあります。- プッシュトークンの登録。 デバイスがプッシュに登録し、Firebase がプッシュトークンを生成します。
- プッシュの表示。 アプリケーションが Firebase Cloud Messaging(FCM)からプッシュペイロードを受信し、デバイスに通知を表示します。
- MoEngage SDK によるプッシュトークンの登録と表示では、MoEngage SDK がトークンを登録して通知を表示するために必要な手順について説明します。
- アプリケーションによるプッシュトークンの登録とペイロードの処理では、アプリケーションがトークンを登録して通知ペイロードを受信するために必要な手順について説明します。
MoEngage SDK によるプッシュトークンの登録と表示
MoEngage SDK が通知を受信できるように、マニフェストファイルに以下のサービスを追加します。トークンコールバック
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 を変更する必要がある場合にのみ追加してください。