コンテンツカードの動作のカスタマイズ
この実装ガイドでは、コンテンツカードの動作の変更、ペイロードへのキーと値のペアなどの追加、一般的なカスタマイズのレシピについて説明します。コンテンツカードのカスタマイズオプションのタイプの基本的な概要についてはカスタマイズの概要を参照してください。
キーと値のペア
Braze では、キーと値のペアを使用して、コンテンツカードを介して追加のデータペイロードをユーザーデバイスに送信することができます。これらは、内部指標の追跡、アプリコンテンツの更新、プロパティのカスタマイズに役立ちます。[ダッシュボードを使用してキーと値のペアを追加する]9。
ネストされた JSON 値をキーと値のペアとして送信することは推奨しません。その代わりに、送信する前に JSON を平坦化します。
キーと値のペアは、extras
としてcard
オブジェクトに格納されます 。これらは、カードと一緒にデータを送信し、アプリケーションでさらに処理するために使用します。card.extras
を呼び出して、これらの値にアクセスします。
キーと値のペアは、extras
としてcard
オブジェクトに格納されます 。これらは、カードと一緒にデータを送信し、アプリケーションでさらに処理するために使用します。card.extras
を呼び出して、これらの値にアクセスします。
キーと値のペアは、extras
としてcard
オブジェクトに格納されます 。これらは、カードと一緒にデータを送信し、アプリケーションでさらに処理するために使用します。card.extras
を呼び出して、これらの値にアクセスします。
マーケターが Braze ダッシュボードに入力するキーと値のペアは、開発者がアプリのロジックに組み込むキーと値のペアと正確に一致しなければならないため、マーケティングチームと開発チームが、どのキーと値のペアを使用するか (たとえば、feed_type = brand_homepage
) について確実に調整することが重要です。
補足コンテンツとしてのコンテンツカード
コンテンツカードを既存のフィードにシームレスにブレンドし、複数のフィードからのデータを同時に読み込むことができます。これにより、Braze コンテンツカードと既存のフィードコンテンツとの一貫性のある、調和のとれたエクスペリエンスが生まれます。
右の例は、ローカルデータと Braze コンテンツカードを使ったハイブリッドなアイテムリストを持つフィードを示しています。これによって、コンテンツカードは既存のコンテンツと区別がつかなくなります。
API トリガーのキーと値のペア
[API-triggered campaigns]7 は、カードの値が外部要因に依存してユーザーに表示するコンテンツを決定する場合に採用するとよい戦略である。たとえば、補足的なコンテンツを表示するには、Liquid を使用してキーと値のペアを設定します。なお、class_type
はセットアップ時に知っておく必要があります。
インタラクティブコンテンツとしてのコンテンツカード
コンテンツカードを活用して、ユーザーのための動的でインタラクティブな体験を作成できます。右の例では、コンテンツカードのポップアップがチェックアウト時に表示され、ユーザーに最新のプロモーションを提供しています。このようなカードをうまく配置することで、ユーザーを特定のアクションに「後押し」することができます。
このユースケースのキーと値のペアには、希望する割引額として設定されたdiscount_percentage
と、coupon_code
として設定されたclass_type
が含まれます。これらのキーと値のペアによって、チェックアウト画面でタイプ別のコンテンツカードをフィルタリングして表示することができます。キーと値のペアを使用して複数のフィードを管理する方法については、[デフォルトのコンテンツカードフィードのカスタマイズ]3 を参照してください。
コンテンツカードバッジ
バッジは小さなアイコンで、ユーザーの注意を引くのに最適です。バッジを使って新しいコンテンツカードの内容をユーザーに知らせることで、ユーザーをアプリに呼び戻し、セッションを増やすことができます。
コンテンツカードの未読数をバッジで表示する
コンテンツカードの未読数をバッジとしてアプリのアイコンに表示できます。
未読カードの数は、以下を呼び出していつでもリクエストできます。
1
Braze.getInstance(context).getContentCardUnviewedCount();
1
Braze.getInstance(context).contentCardUnviewedCount
この情報を使って、未読コンテンツカードの数を示すバッジを表示することができます。詳細については、SDK リファレンスドキュメントを参照してください。
次のサンプルでは、braze.contentCards
を使用して未読コンテンツカードの数をリクエストして表示しています。アプリが閉じられ、ユーザーのセッションが終了した後、このコードはカード・カウントをリクエストし、viewed
プロパティに基づいてカードの数をフィルタリングする。
1
func applicationDidEnterBackground(_ application: UIApplication)
このメソッド内で、次のコードを実装します。これにより、ユーザーが特定のセッション中にカードを閲覧している間にバッジカウントがアクティブに更新されます。
1
2
let unreadCards = AppDelegate.braze?.contentCards.cards.filter { $0.viewed == false }
UIApplication.shared.applicationIconBadgeNumber = unreadCards?.count ?? 0
1
(void)applicationDidEnterBackground:(UIApplication *)application
このメソッド内で、次のコードを実装します。これにより、ユーザーが特定のセッション中にカードを閲覧している間にバッジカウントがアクティブに更新されます。
1
2
3
4
5
6
7
NSInteger unreadCardCount = 0;
for (BRZContentCardRaw *card in AppDelegate.braze.contentCards.cards) {
if (card.viewed == NO) {
unreadCardCount += 1;
}
}
[UIApplication sharedApplication].applicationIconBadgeNumber = unreadCardCount;
未読カードの数は、以下を呼び出していつでもリクエストできます。
1
braze.getCachedContentCards().getUnviewedCardCount();
この情報を使って、未読コンテンツカードの数を示すバッジを表示することができます。詳細については、SDK リファレンスドキュメントを参照してください。