Skip to content


ニュースフィード統合

ニュースフィードデータモデル

データを取得する

ニュースフィードデータモデルにアクセスするには、ニュースフィード更新イベントを購読してください。

1
2
3
4
5
6
// Subscribe to feed updates
// Note: you should remove the observer where appropriate
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(feedUpdated:)
                                             name:ABKFeedUpdatedNotification
                                           object:nil];
1
2
3
4
5
6
// Called when the feed is refreshed (via `requestFeedRefresh`)
- (void)feedUpdated:(NSNotification *)notification {
  BOOL updateIsSuccessful = [notification.userInfo[ABKFeedUpdatedIsSuccessfulKey] boolValue];
  // check for success
  // get the cards using [[Appboy sharedInstance].feedController getCardsInCategories:ABKCardCategoryAll];
}
1
2
3
4
5
// Subscribe to feed updates
// Note: you should remove the observer where appropriate
NotificationCenter.default.addObserver(self, selector:
  #selector(feedUpdated),
  name:NSNotification.Name.ABKFeedUpdated, object: nil)
1
2
3
4
5
6
7
// Called when the feed is refreshed (via `requestFeedRefresh`)
private func feedUpdated(_ notification: Notification) {
  if let updateSuccessful = notification.userInfo?[ABKFeedUpdatedIsSuccessfulKey] as? Bool {
    // check for success
    // get the cards using Appboy.sharedInstance()?.feedController.getCardsInCategories(.all);      
  }
}

Braze から送信された後にカードデータを変更したい場合は、カードデータをローカルに保存 (ディープコピー) して更新し、自身で表示することをおすすめします。カードには、ABKFeedController からアクセスできます。

ニュースフィードモデル

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

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

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

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

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

クラシックカードのプロパティ

カードメソッド

フィード表示を記録する

独自のユーザーインターフェイスでニュースフィードを表示する場合、- (void)logFeedDisplayed; を使用してニュースフィードのインプレッションを手動で記録できます。以下に例を示します。

1
[[Appboy sharedInstance] logFeedDisplayed];
1
Appboy.sharedInstance()?.logFeedDisplayed()

ニュースフィードビューコントローラーの統合

ビューコントローラー ABKNewsFeedViewController を統合すると、Braze ニュースフィードが表示されます。

ビューコントローラーの表示方法は非常に柔軟に選択できます。ビューコントローラーには、さまざまなナビゲーション構造に対応するさまざまなバージョンがあります。

ニュースフィードは、ナビゲーションまたはモーダルの2つのビューコントローラーコンテキストと統合できます。

ナビゲーションコンテキスト - ABKFeedViewコントローラーのナビゲーションコンテキスト

1
2
ABKNewsFeedTableViewController *newsFeed = [[ABKNewsFeedTableViewController alloc] init];
[self.navigationController pushViewController:newsFeed animated:YES];
1
2
let newsFeed = ABKNewsFeedTableViewController()
self.navigationController?.pushViewController(newsFeed, animated: true)

ナビゲーションバーの title をカスタマイズするには、ABKNewsFeedTableViewController インスタンスの navigationItem のタイトルプロパティを設定します。

モーダルコンテキスト - AbkFeedView コントローラーモーダルコンテキスト

このモーダルは、ビューコントローラをモーダルビューで表示するために使用され、上部にナビゲーションバーがあり、バーの右側に [完了] ボタンがあります。モーダルのタイトルをカスタマイズするには、ABKNewsFeedTableViewController インスタンスの navigationItemtitle プロパティを設定します。

デリゲートが設定されていない場合、[完了] ボタンをクリックすると、モーダルビューが閉じます。デリゲートが設定されている場合、[完了] ボタンをクリックするとデリゲートが呼び出され、デリゲート自体によってビューが閉じられます。

1
2
ABKNewsFeedViewController *newsFeed = [[ABKNewsFeedViewController alloc] init];
[self presentViewController:newsFeed animated:YES completion:nil];
1
2
let newsFeed = ABKNewsFeedViewController()
self.present(newsFeed, animated: true, completion: nil)

ビューコントローラーの例については、ニュースフィードのサンプルアプリをご覧ください。

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