はじめに
Web サイトのホームページにカルーセルバナーを配置することは、アプリユーザーとのエンゲージメントを高め、特定のオファーをプロモーションするための優れた方法です。 この記事では、MoEngage Self-Handled Cards を使用して Android および iOS ネイティブアプリにバナーカルーセルを構築し、Card キャンペーンを作成して、これらのバナーカルーセルを通じてアプリ訪問者にターゲットを絞った Card を配信する方法を説明します。期待される結果
ユーザーには、Web サイトのホームページにカルーセルバナーが表示されます。
統合の手順
MoEngage の self-handled Cards を使用すると、Card コンテンツの生のペイロードにアクセスできます。これらのペイロードを利用するコンポーネントをアプリ内に作成し、アプリに統合されたコンポーネントとして機能するデザインとレイアウトで Card コンテンツを表示できます。 次の手順では、以下の内容について説明します。ステップ 1: Cards の統合
Android の場合
Catalog を使用したインストール
Version Catalog を使用した統合が推奨される統合方法です。まだカタログを設定していない場合は、Configure Version Catalog ドキュメントを参照して設定してください。カタログを設定したら、次に示すように app/build.gradle ファイルに依存関係を追加します。 build.gradleiOS の場合
CocoaPod を使用したインストール
次に示すように、podfile に依存関係を追加して MoEngageCards フレームワークを統合します。 Ruby pod install を実行してフレームワークをインストールします。
詳細については、iOS ネイティブの Self Handled Cards を参照してください。
ステップ 2: Cards UI 作成ガイド
self-handled cards を統合したので、次に Card ペイロードを利用してカードを表示する UI を構築します。例えば、このユースケースの構築では、Android には SliderView、iOS には ImageSlider を使用しました。これらは、ホームページ上で 3~4 秒ごと (設定可能) にスライドするカルーセル形式で表示されます。SliderView と ImageSlider は、このユースケースで例としてのみ使用している外部ライブラリであり、MoEngage によってメンテナンスされているものではありません。信頼でき、ユースケースに最適なライブラリを使用することを強くお勧めします。
- UI のキャンペーン駆動のコンポーネントは、cards ペイロードに存在するコンポーネント (タイトル、メッセージ、アクション、画像など) と一致している必要があります。
- ユーザーがどのカードの対象にもならない場合があります。そのような場合は、カルーセルウィジェットを削除するか、バックアップコンテンツを用意するよう対応してください。
- ペイロード内のすべての要素について、null 値、キャンペーンからの構文エラー、画像アセットが時間内に取得されないなどの例外シナリオを確認してください。
- 読み込みに時間がかかる可能性のあるアセットがある場合は、シームレスなユーザー体験のために暫定 UI の追加を検討してください。
- キャンペーンで使用する画像のサイズが画像コンテナに収まるようにするか、UI で画像のスケーリングを処理するようにしてください。
- テキスト (ヘッダーとメッセージ) は絵文字と HTML 形式 (書式設定、色など) をサポートしているため、Html.format() メソッドを使用して処理してください。
- 最上部に固定する機能は “display_control” に含まれており、UI へのレンダリング時に個別に処理する必要があります (構造についてはサンプルペイロードを参照してください)。
- Illustration テンプレートと Basic テンプレートでは、ペイロードの構造が若干異なります。Basic テンプレートでは、image キーの null 値を考慮してください。
ステップ 3: MoEngage Cards ペイロードの解析とカルーセル UI へのフィード
UI を構築したので、次に cards ペイロードを UI にフィードする構造に解析する方法を説明します。 Cards には複数のカテゴリがあり、各カテゴリは次の 2 種類の Card で構成されています。- Basic
- Illustration
Android の場合
Cards が設定されているすべてのカテゴリを取得するには、getCardCategories() API を使用します。 この例では、getCardsForCategory() API を使用して、Announcement タイプに属する Cards を取得しています。- Kotlin
- Java
- Kotlin
- Java
- Kotlin
- Java

iOS の場合
Cards が設定されているすべてのカテゴリを取得するには、getCardsCategories API を使用します。Cards が設定されているすべてのカテゴリを取得するには、getCardsCategories API を使用します。 Swift
ステップ 4: アナリティクスのトラッキング
Cards が UI に正しくレンダリングされたら、Card のデータを取得する API を提供する MoEngage SDK を使用して、Cards の使用状況とアナリティクスをトラッキングできます。詳細については、次のドキュメントを参照してください。キャンペーンのテスト
カルーセル Cards の作成は、アプリケーション用の Card キャンペーンの作成と同様です。Cards を作成する際に、MoEngage ダッシュボードの Create view ステップに移動し、Test Card セクションまでスクロールします。テストユーザーのカスタム属性とその値を選択して、新しく作成した Card の出力をテストできます。テスト前

期待される結果

追加レイアウトの推奨事項
このドキュメントでは、Android の Auto Image Slider と iOS の Cocoapods の Image Slideshow を使用してカルーセル Cards を作成する例を示しました。同じ方法を使用して、Basic または Illustration テンプレートで Cards を作成し、ペイロードを解析して、さまざまなライブラリでさまざまな UI レイアウトを構築できます。 カルーセルの代わりに使用できるレイアウトの例をいくつか示します。


サンプル Cards ペイロード
上記のカルーセルのユースケースでコンテンツを解析した方法と同様に、Card ペイロードを UI 要素に解析することで、任意のレイアウトにデータを入力できます。カードのサンプルペイロードを次に示します。 JSONCard ペイロードへの追加キーの追加
cards の標準ペイロードは、カードキャンペーンの詳細、有効期限の詳細、タイトル、メッセージ、画像、アクションで構成されています。 受け取る cards ペイロードに追加データを含めたい場合は、カードキャンペーンの作成時に、以下に示すように、カードのプライマリアクションの一部としてキーと値のペアの形式で追加できます。