Skip to content

ニュースフィード統合

このリファレンス記事では、さまざまなニュースフィードカードの種類、利用可能なカード固有のプロパティ、Android または FireOS アプリケーションのカスタム統合例について説明します。

Android では、ニュースフィードは Braze Android UI プロジェクトで使用可能なフラグメントとして実装されます。フラグメントをアクティビティに追加する方法については、フラグメントに関するGoogleのドキュメントを参照してください。

BrazeFeedFragment クラスは、ニュースフィードの内容を自動的に更新して表示し、使用状況分析をログに記録します。ユーザーのニュースフィードカードに表示できるカードは、Braze ダッシュボードで設定されます。

カードのタイプ

Braze には、バナー画像、キャプション付き画像、テキストアナウンス、ショートニュースの 5 種類のユニークなカードタイプがあります。各タイプはベースモデルから共通のプロパティを継承し、次の追加プロパティを持ちます。

ベースカードモデルのプロパティ

ベースカードモデルは、すべてのカードの基本的な動作を規定します。

バナー画像カードのプロパティ

バナー画像カードは、クリック可能なフルサイズの画像です。

キャプション付き画像カードのプロパティ

キャプション付き画像カードはクリック可能なフルサイズの画像で、説明文が添えられています。

テキスト通知カード (画像なしのキャプション付き画像) のプロパティ

テキスト通知カードは、説明的なテキストを含んだクリック可能なカードです。

ショートニュースカードのプロパティ

ショートニュースカードは、画像とそれに付随する説明文を含むクリック可能なカードです。

セッション分析

Android UI フラグメントでは、セッション分析は自動的に追跡されません。セッションが正しく追跡されるようにするには、アプリが開かれたときに IBraze.openSession() を呼び出します。

リンク

アプリ内メッセージからニュースフィードへのリンクは、AndroidManifest.xml 内でBrazeFeedActivity を登録することで有効にする必要がある。

カスタムフィードの統合

完全にカスタムの方法でフィードを表示するには、モデルからのデータが入力された独自のビューを使用ます。ニュースフィードモデルを取得するには、ニュースフィードの更新を配信登録し、結果のモデルデータを使用してビューを設定する必要があります。また、ユーザーがビューを操作する際に、モデルオブジェクトの分析をログに記録する必要もあります。

パート 1:フィードの更新の配信登録

まず、カスタムフィードクラスでサブスクライバーを保持するプライベート変数を宣言します。

1
2
// subscriber variable
private IEventSubscriber<FeedUpdatedEvent> mFeedUpdatedSubscriber;

次に、通常はカスタムフィードアクティビティの Activity.onCreate() 内で、以下のコードを追加して、Braze のフィードドの更新を購読します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Remove the old subscription first
Braze.getInstance(context).removeSingleSubscription(mFeedUpdatedSubscriber, FeedUpdatedEvent.class);
mFeedUpdatedSubscriber = new IEventSubscriber<FeedUpdatedEvent>() {
  @Override
  public void trigger(final FeedUpdatedEvent event) {
    // This list of Card objects included in the FeedUpdatedEvent should be used to populate your News Feed views.
    List<Card> cards = event.getFeedCards();
    // your logic here
  }
};
Braze.getInstance(context).subscribeToFeedUpdates(mFeedUpdatedSubscriber);

// Request a refresh of feed data
Braze.getInstance(context).requestFeedRefresh();

また、カスタムフィードアクティビティが表示されなくなったら、配信を停止することをお勧めします。アクティビティのonDestroy()ライフサイクルメソッドに次のコードを追加します。

1
Braze.getInstance(context).removeSingleSubscription(mFeedUpdatedSubscriber, FeedUpdatedEvent.class);

パート 2:分析のログ記録

カスタムビューを使用する場合、分析は Braze ビューを使用する場合にのみ自動的に処理されるため、分析を手動でログに記録する必要があります。

フィードの表示をログに記録するには、Braze.logFeedDisplayed() を呼び出します。

インプレッションやカードのクリックをログに記録するには、それぞれ Card.logClick() または Card.logImpression() を呼び出します。

「このページはどの程度役に立ちましたか?」
New Stuff!