ニュースフィード統合
このリファレンス記事では、さまざまなニュースフィードカードの種類、利用可能なカード固有のプロパティ、Android または FireOS アプリケーションのカスタム統合例について説明します。
ニュースフィードは非推奨になります。Braze では、ニュースフィードツールを利用しているお客様に、コンテンツカードのメッセージングチャネルへの移行をお勧めしています。移行により、柔軟性、カスタマイズ性、信頼性が向上します。詳細については、移行ガイドをご覧ください。
Android では、ニュースフィードは Braze Android UI プロジェクトで使用可能なフラグメントとして実装されます。アクティビティにフラグメントを追加する方法については、フラグメントに関する Google のドキュメントを参照してください。
BrazeFeedFragment
クラスは、ニュースフィードの内容を自動的に更新して表示し、使用状況分析をログに記録します。ユーザーのニュースフィードカードに表示できるカードは、Braze ダッシュボードで設定されます。
カードのタイプ
Braze には、バナー画像、キャプション付き画像、テキストアナウンス、ショートニュースの 5 種類のユニークなカードタイプがあります。各タイプはベースモデルから共通のプロパティを継承し、次の追加プロパティを持ちます。
ベースカードモデルのプロパティ
ベースカードモデルは、すべてのカードの基本的な動作を規定します。
プロパティ | 説明 |
---|---|
getId() |
Braze が設定したカードの ID を返します。 |
getViewed() |
カードがユーザーによって読まれているか未読であるかを反映するブール値を返します。 |
getExtras() |
このカードのキーと値のエクストラのマップを返します。 |
setViewed(boolean) |カードの閲覧済みフィールドを設定します。 |
|
getCreated() |
Braze ダッシュボードでのカードの作成時刻の UNIX タイムスタンプを返します。 |
getUpdated() |
Braze ダッシュボードでのカードの最終更新時刻の UNIX タイムスタンプを返します。 |
getCategories() |
カードに割り当てられているカテゴリのリストを返します。カテゴリのないカードには ABKCardCategoryNoCategory が割り当てられます。 |
isInCategorySet(EnumSet) |
指定されたカテゴリセットにカードが属している場合は true を返します。 |
バナー画像カードのプロパティ
バナー画像カードは、クリック可能なフルサイズの画像です。
プロパティ | 説明 |
---|---|
getImageUrl() |
カードの画像のURLを返します。 |
getUrl() |
カードがクリックされた後に開かれる URL を返します。HTTP または HTTPS URL、あるいはプロトコル URL の場合もあります。 |
getDomain() |
プロパティ URL のリンクテキストを返します。 |
キャプション付き画像カードのプロパティ
キャプション付き画像カードはクリック可能なフルサイズの画像で、説明文が添えられています。
プロパティ | 説明 |
---|---|
getImageUrl() |
カードの画像のURLを返します。 |
getTitle() |
カードのタイトルテキストを返します。 |
getDescription() |
カードの本文を返します。 |
getUrl() |
カードがクリックされた後に開かれる URL を返します。 HTTP または HTTPS URL、あるいはプロトコル URL の場合もあります。 |
getDomain() |プロパティ URL のリンクテキストを返します。 |
テキスト通知カード (画像なしのキャプション付き画像) のプロパティ
テキスト通知カードは、説明的なテキストを含んだクリック可能なカードです。
プロパティ | 説明 |
---|---|
getTitle() |
カードのタイトルテキストを返します。 |
getDescription() |
カードの本文を返します。 |
getUrl() |
カードがクリックされた後に開かれる URL を返します。HTTP または HTTPS URL、あるいはプロトコル URL の場合もあります。 |
getDomain() |プロパティ URL のリンクテキストを返します。 |
ショートニュースカードのプロパティ
ショートニュースカードは、画像とそれに付随する説明文を含むクリック可能なカードです。
プロパティ | 説明 |
---|---|
getImageUrl() |
カードの画像のURLを返します。 |
getTitle() |
カードのタイトルテキストを返します。 |
getDescription() |
カードの本文を返します。 |
getUrl() |
カードがクリックされた後に開かれる URL を返します。HTTP または HTTPS URL、あるいはプロトコル URL の場合もあります。 |
getDomain() |プロパティ URL のリンクテキストを返します。 |
セッション分析
Android UI フラグメントでは、セッション分析は自動的に追跡されません。セッションが正しく追跡されるようにするには、アプリが開かれたときに IBraze.openSession()
を呼び出します。
リンク
アプリ内メッセージからニュースフィードへのリンクは、AndroidManifest.xml
内でBrazeFeedActivity
を登録することで有効にする必要がある。
カスタムフィードの統合
完全にカスタムの方法でフィードを表示するには、モデルからのデータが入力された独自のビューを使用ます。ニュースフィードモデルを取得するには、ニュースフィードの更新を配信登録し、結果のモデルデータを使用してビューを設定する必要があります。また、ユーザーがビューを操作する際に、モデルオブジェクトの分析をログに記録する必要もあります。
パート 1:フィードの更新の配信登録
まず、カスタムフィードクラスでサブスクライバーを保持するプライベート変数を宣言します。
1
2
// subscriber variable
private IEventSubscriber<FeedUpdatedEvent> mFeedUpdatedSubscriber;
次に、通常はカスタムフィードアクティビティの Activity.onCreate()
内で、以下のコードを追加して、Braze のフィードドの更新を購読します。
```java
// まず古いサブスクリプションを削除
Braze.getInstance(context).removeSingleSubscription(mFeedUpdatedSubscriber, FeedUpdatedEvent.class);
mFeedUpdatedSubscriber = new IEventSubscriber
// フィードデータの更新をリクエスト Braze.getInstance(context).requestFeedRefresh(); ```
また、カスタムフィードアクティビティが表示されなくなったら、配信を停止することをお勧めします。アクティビティの onDestroy()
ライフサイクルメソッドに次のコードを追加します。
1
Braze.getInstance(context).removeSingleSubscription(mFeedUpdatedSubscriber, FeedUpdatedEvent.class);
パート 2:分析のログ記録
カスタムビューを使用する場合、分析は Braze ビューを使用する場合にのみ自動的に処理されるため、分析を手動でログに記録する必要があります。
フィードの表示をログに記録するには、Braze.logFeedDisplayed()
を呼び出します。
インプレッションやカードのクリックをログに記録するには、それぞれ Card.logClick()
または Card.logImpression()
を呼び出します。