概要
MoEngage Android SDK は、パーソナライズされたキャンペーンを配信するための安全なフレームワークを提供します。ユーザー ID と認証を内部で処理することで連携を簡素化し、API シークレットの管理や手動での HTTPS 呼び出しを不要にします。これにより、合理化されたネイティブインターフェースを通じて、パーソナライズされたキャンペーン情報を直接取得およびトラッキングできます。MoEngage Personalization の連携
BOM を設定したら、app/build.gradle に必要なアーティファクトを追加します。バージョン番号は BOM によって管理されます。
実装ワークフロー
MoEPersonalizeHelper SDK オブジェクトは、動的でパーソナライズされたコンテンツの取得と操作を簡素化するように設計されています。以下は、主な役割ごとに分けたコードの内訳です。
1. メタエクスペリエンスの取得
特定のペイロードまたはエクスペリエンスを取得する前に、必ずメタデータの呼び出しを実行してください。この呼び出しを使用すると、指定したステータスのすべてのエクスペリエンスキーを取得でき、後続のリクエストを適切に構成するために必要なコンテキストが得られます。fetchExperiencesMeta を呼び出してください。
onSuccess コールバックは、メインスレッドでキャンペーンを実行するために必要なすべてのメタデータを含む ExperienceCampaignsMetadata オブジェクトを返します。一方、onFailure コールバックは、 RequestFailureReasonCode と、リクエストが失敗した具体的な理由を特定するためのオプションのメッセージを提供します。
2. パーソナライズされたコンテンツの取得
メタデータを取得したら、実際のパーソナライズされたペイロードを取得できます。SDK には、単一のエクスペリエンスまたは複数のエクスペリエンスを同時に取得するメソッドが用意されています。EXPERIENCE_KEY は、MoEngage ダッシュボードでキャンペーンを作成する際にエクスペリエンスキャンペーンで使用される一意のキーです。これらのキーは fetchExperiencesMeta の呼び出しを使用して取得できます。
onSuccess コールバックは、メインスレッドでキャンペーンを実行するために必要なすべてのメタデータを含む ExperienceCampaignsResult オブジェクトを返します。一方、onFailure コールバックは、 RequestFailureReasonCode と、リクエストが失敗した具体的な理由を特定するためのオプションのメッセージを提供します。
以下を取得できます。
- 単一のエクスペリエンス: 単一の
experienceKeyを使用して特定のペイロードを取得します。 - 一括エクスペリエンス:
experienceKeysの Set<String> を渡して、複数のペイロードを一度に取得します。
3. インプレッションのトラッキング
パーソナライズされたコンテンツを取得して UI にレンダリングした後は、キャンペーンのパフォーマンスを測定するためにユーザーのインタラクションをトラッキングすることが不可欠です。 パフォーマンスを測定するには、エクスペリエンスが表示されたタイミングをトラッキングする必要があります。これにはcampaignEntity が必要です。UI がコンテンツをレンダリングしたときに、以下のメソッドを使用して「インプレッション」(experienceShown / experiencesShown)を記録できます。
3a. エクスペリエンスキャンペーンのインプレッションのトラッキング
3b. オファリングキャンペーンのインプレッションのトラッキング
オファリングとは、キャンペーン内に含まれる特定のパーソナライズされたアイテム(商品のレコメンデーションやクーポンなど)です。4. クリックのトラッキング
4a. エクスペリエンスキャンペーンのクリックのトラッキング
ユーザーがレンダリングされた UI 要素を操作したときに、以下のメソッドを使用して「クリック」(experienceClicked)を記録できます。
4b. オファリングキャンペーンのクリックのトラッキング
オファリングとは、キャンペーン内に含まれる特定のパーソナライズされたアイテム(商品のレコメンデーションやクーポンなど)です。これらのオファリング固有の関数は、データがオファリングペイロードの一部である場合にのみ使用できます。その他のすべてのエクスペリエンスデータには、標準のエクスペリエンス表示/クリック関数を使用してください。
よくある質問
SDK は UI のレンダリングを処理しますか?
SDK は UI のレンダリングを処理しますか?
いいえ。SDK は未加工の JSON ペイロードを返します。データの解析と UI コンポーネント(バナーやカルーセルなど)の構築はお客様の責任で行う必要があります。
SDK は画像や動画をキャッシュしますか?
SDK は画像や動画をキャッシュしますか?
いいえ。SDK はメディアアセットをダウンロードまたはキャッシュしません。JSON で参照されている画像、動画、フォントを処理するには、標準的なメディア読み込みライブラリを使用してください。
取得できるエクスペリエンスの数に制限はありますか?
取得できるエクスペリエンスの数に制限はありますか?
はい。1 回の呼び出しで最大 25 件のエクスペリエンスを取得できます。これを超えると、SDK は最近更新された 25 件のエクスペリエンスを返し、取得されなかったキーを通知します。
デバイスがオフラインで有効なキャッシュがない状態で取得リクエストが行われた場合はどうなりますか?
デバイスがオフラインで有効なキャッシュがない状態で取得リクエストが行われた場合はどうなりますか?
SDK は、標準化されたエラーコード(例: NETWORK_ERROR)とともに空のペイロードを返します。すべてのエラーの詳細については、こちらを参照してください。