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에는 배너 이미지, 자막 이미지, 텍스트 공지, 클래식과 같은 다섯 가지 고유한 카드 유형이 있습니다. 각 유형은 기본 모델에서 공통 속성을 상속하며 다음과 같은 추가 속성이 있습니다.

기본 카드 모델 속성

배너 이미지 카드 속성

캡션이 있는 이미지 카드 속성

텍스트 공지 카드 (이미지 없는 자막 이미지) 속성

클래식 카드 속성

카드 방법

로그 피드 디스플레이

자신의 사용자 인터페이스에 뉴스피드를 표시할 때 - (void)logFeedDisplayed;을 통해 뉴스피드 노출을 수동으로 기록할 수 있습니다. 예를 들어, 다음과 같습니다.

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

뉴스피드 뷰 컨트롤러 통합

보기 컨트롤러 ABKNewsFeedViewController를 통합하면 Braze 뉴스피드가 표시됩니다.

보기 컨트롤러를 표시하는 방법을 선택할 때 많은 유연성이 지원됩니다. 다양한 탐색 구조를 수용하는 다양한 버전의 보기 컨트롤러가 있습니다.

뉴스피드는 두 가지 뷰 컨트롤러 컨텍스트(네비게이션 또는 모달)와 통합될 수 있습니다.

탐색 컨텍스트 - ABKFeedViewControllerNavigationContext

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의 제목 속성정보를 설정합니다.

모달 context - ABKFeedViewControllerModalContext

이 모달은 모달 보기에서 보기 컨트롤러를 표시하는 데 사용되며, 상단에 탐색 막대가 있고 막대 오른쪽에 Done 버튼이 있습니다. Modal의 제목을 사용자 지정하려면 ABKNewsFeedTableViewController 인스턴스 navigationItemtitle 속성정보를 설정합니다.

위임이 설정되지 않은 경우 완료 버튼은 Modal 보기를 닫습니다. 위임이 설정된 경우, 완료 버튼은 위임을 호출하며, 위임 자체가 보기를 닫아야 합니다.

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!