Skip to main content

プッシュトークンのコールバック

MoEngage プラグインは、デバイストークンが生成されるたびに pushTokenGenerated イベントをトリガーします。このイベントは iOS と Android の両プラットフォームに共通のトリガーで、プラグインバージョン 6.0.0 から利用できます。リスナーを設定するには、以下のコードを参照してください。
コールバックで受け取るペイロードは、次の定義を持つ MoEPushToken インスタンスです。

プッシュクリックのコールバック

MoEngage プラグインは、通知がクリックされるたびに pushClicked イベントをトリガーします。このイベントは iOS と Android の両プラットフォームに共通のトリガーで、プラグインバージョン 6.0.0 から利用できます。リスナーを設定するには、以下のコードを参照してください。
これらのコールバックを設定した後に、MoEngage プラグインの initialize() メソッドを呼び出すようにしてください。詳細については、React-Native コンポーネントの初期化を参照してください。
このコールバックは、アプリケーションが初期化されたらすぐに設定してください。App.js のコンストラクタ内で設定することを推奨します。 コールバックで受け取る NotificationPayload は、次の定義を持つ MoEPushPayload インスタンスです。
clickedAction Map のペイロード構造
  • platform - コールバックがトリガーされたネイティブプラットフォームです。取り得る値は android、ios です。
  • isDefaultAction - このキーは Android プラットフォームでのみ存在します。ユーザーがデフォルトのコンテンツをクリックしたかどうかを示すブール値です。ユーザーがデフォルトのコンテンツをクリックした場合は true、それ以外の場合は false です。
  • clickedAction - 通知のクリック時に実行されるアクションです。
  • clickedAction.type - クリックアクションのタイプです。取り得る値は navigation と customAction です。現在、customAction は Android でのみサポートされています。
  • clickAction.payload - クリックされたアクションのアクションペイロードです。
  • clickedAction.payload.type - 定義されたナビゲーションアクションのタイプです。取り得る値は screenName、deepLink、richLanding です。現在、iOS の場合、richlanding とディープリンク URL は SDK によって内部で処理され、このコールバックには渡されないため、iOS で取り得る値は screenName のみです。
  • clickAction.value - ナビゲーションアクションまたはカスタムペイロードに入力された値です。
  • clickAction.kvPair - MoEngage プラットフォームで入力されたカスタムのキーと値のペアです。
  • payload - キャンペーンの完全なペイロードです。

Android のペイロード

ユーザーが通知のデフォルトのコンテンツをクリックした場合、キーと値のペアおよびキャンペーンのペイロードは payload キー内にあります。ユーザーがアクションボタンまたはプッシュテンプレートのアクションをクリックした場合、アクションのペイロードは clickedAction 内にあります。
isDefaultAction キーを使用して、ユーザーがデフォルトのコンテンツをクリックしたかどうかを確認し、それに応じてペイロードを解析できます。

iOS のペイロード

iOS の場合、クリックされたアクションに関するキーと値のペアは常に clickedAction プロパティで受け取ります。iOS の通知ペイロードの構造については、こちらの通知ペイロードを参照してください。

Android でのセルフハンドルのプッシュクリック(オプション)

デフォルトでは、ユーザーが通知をクリックすると、SDK はユーザーを定義済みの Activity にリダイレクトし、特定の react-native コンポーネントを読み込むためにアプリケーションにコールバックを渡します。 アプリケーションがフォアグラウンドにある場合、アプリケーションが再読み込みされているように見え、あまり良いユーザー体験ではない可能性があります。ユーザーを特定の react-native コンポーネントに移動させるだけにしたい場合は、以下の手順に従ってください。 React-Native プラグインを初期化する際に、MoEPushConfig オブジェクトでフォアグラウンドクリックのコールバックを有効にします。
React コンポーネントがマウントされたときと、アプリケーションがフォアグラウンドに移ったときに、initialize() を呼び出す必要があります。 以下に示すように、Application クラスでの SDK 初期化時にセルフハンドルのコールバックを有効にします。
以下の Activity を AndroidManifest.xml に追加します。
アプリケーションがフォアグラウンドにあるとき(かつ上記のフローが有効になっている場合)にトリガーされる通知クリックのコールバックには、追加のキー selfHandledPushRedirection が値 true で含まれます。