Skip to content


Integração do Feed de notícias

Modelo de dados do feed de notícias

Obtendo os dados

Para acessar o modelo de dados do Feed de notícias, assine os eventos de atualização do Feed de notícias:

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);      
  }
}

Se você quiser alterar os dados do cartão depois que eles forem enviados pelo Braze, recomendamos armazenar (cópia profunda) os dados do cartão na localização, atualizá-los e exibi-los você mesmo. Os cartões podem ser acessados por meio do ABKFeedController.

Modelo de feed de notícias

O Braze tem cinco tipos de cartões exclusivos: imagem de banner, imagem com legenda, anúncio de texto e clássico. Cada tipo herda propriedades comuns de um modelo base e possui as seguintes propriedades adicionais.

Propriedades do modelo do cartão básico

Propriedades do cartão de imagem de banner

Propriedades do cartão de imagem legendado

Propriedades do cartão de anúncio de texto (imagem legendada sem imagem)

Propriedades do cartão clássico

Métodos do cartão

Exibição do feed de registros

Ao exibir o Feed de notícias em sua própria interface de usuário, é possível registrar manualmente as impressões do Feed de notícias por meio do site - (void)logFeedDisplayed;. Por exemplo:

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

Integração do controlador de visualização do feed de notícias

A integração do controlador de visualizações ABKNewsFeedViewController exibirá o feed de notícias da Braze.

Você tem muita flexibilidade para escolher como exibir os controladores de visualização. Há diferentes versões dos controladores de visualização para acomodar diferentes estruturas de navegação.

O feed de notícias pode ser integrado a dois contextos de controle de exibição: navegação ou modal.

Contexto de navegação - 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)

Para personalizar o title da barra de navegação, defina a propriedade title do navigationItem da instância ABKNewsFeedTableViewController.

Contexto modal - ABKFeedViewControllerModalContext

Esse modal é usado para apresentar o controlador de exibição em uma exibição modal, com uma barra de navegação na parte superior e um botão Concluído no lado direito da barra. Para personalizar o título do modal, defina a propriedade title do navigationItem da instância ABKNewsFeedTableViewController.

Se um delegado NÃO estiver definido, o botão Done (Concluído ) encerrará a exibição modal. Se um delegado for definido, o botão Done (Concluído ) chamará o delegado, e o próprio delegado será responsável por encerrar a exibição.

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)

Para ver exemplos de controladores de exibição, confira nosso app de amostra do Feed de notícias.

QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!