Skip to content


Integración de la tarjeta de contenido

Modelo de datos de las tarjetas de contenido

El modelo de datos de las tarjetas de contenido está disponible en el SDK de iOS.

Obtener los datos

Para acceder al modelo de datos de las tarjetas de contenido, suscríbete a los eventos de actualización de las tarjetas de contenido:

1
2
3
4
5
6
// Subscribe to Content Cards updates
// Note: you should remove the observer where appropriate
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(contentCardsUpdated:)
                                             name:ABKContentCardsProcessedNotification
                                           object:nil];
1
2
3
4
5
6
7
// Called when Content Cards are refreshed (via `requestContentCardsRefresh`)
- (void)contentCardsUpdated:(NSNotification *)notification {
  BOOL updateIsSuccessful = [notification.userInfo[ABKContentCardsProcessedIsSuccessfulKey] boolValue];
  if (updateIsSuccessful) {
    // get the cards using [[Appboy sharedInstance].contentCardsController getContentCards];
  }
}
1
2
3
4
5
// Subscribe to content card updates
// Note: you should remove the observer where appropriate
NotificationCenter.default.addObserver(self, selector:
  #selector(contentCardsUpdated),
  name:NSNotification.Name.ABKContentCardsProcessed, object: nil)
1
2
3
4
5
6
7
8
// Called when the Content Cards are refreshed (via `requestContentCardsRefresh`)
@objc private func contentCardsUpdated(_ notification: Notification) {
  if let updateIsSuccessful = notification.userInfo?[ABKContentCardsProcessedIsSuccessfulKey] as? Bool {
    if (updateIsSuccessful) {
      // get the cards using Appboy.sharedInstance()?.contentCardsController.contentCards
    }
  }
}

Si quieres cambiar los datos de la tarjeta después de que los haya enviado Braze, te recomendamos que almacenes localmente una copia profunda de los datos de la tarjeta, actualices los datos y los visualices tú mismo. Se puede acceder a las tarjetas a través de ABKContentCardsController.

Modelo de tarjeta de contenido

Braze ofrece tres tipos de tarjetas de contenido: banner, imagen subtitulada y clásica. Cada tipo hereda propiedades comunes de una clase base ABKContentCard y tiene las siguientes propiedades adicionales.

Propiedades del modelo de tarjeta de contenido base - ABKContentCard

Propiedades de la tarjeta de contenido de banner - ABKBannerContentCard

Propiedades de la tarjeta de contenido de imagen subtitulada - ABKCaptionedImageCard

Propiedades de la tarjeta de contenido clásica - ABKClassicContentCard

Métodos de tarjeta

Para más detalles, consulta la documentación de referencia de la clase

Integración del controlador de vista de las tarjetas de contenido

Las tarjetas de contenido pueden integrarse con dos contextos de controlador de vista: navegación o modal.

Contexto de navegación

Ejemplo de push de una instancia de ABKContentCardsTableViewController en un controlador de navegación:

1
2
3
4
ABKContentCardsTableViewController *contentCards = [[ABKContentCardsTableViewController alloc] init];
contentCards.title = @"Content Cards Title";
contentCards.disableUnreadIndicator = YES;
[self.navigationController pushViewController:contentCards animated:YES];
1
2
3
4
let contentCards = ABKContentCardsTableViewController()
contentCards.title = "Content Cards Title"
contentCards.disableUnreadIndicator = true
navigationController?.pushViewController(contentCards, animated: true)

Contexto modal

Este modal se utiliza para presentar el controlador de vista en una vista modal, con una barra de navegación en la parte superior y un botón Terminar en el lateral de la barra.

1
2
3
4
ABKContentCardsViewController *contentCards = [[ABKContentCardsViewController alloc] init];
contentCards.contentCardsViewController.title = @"Content Cards Title";
contentCards.contentCardsViewController.disableUnreadIndicator = YES;
[self.navigationController presentViewController:contentCards animated:YES completion:nil];
1
2
3
4
let contentCards = ABKContentCardsViewController()
contentCards.contentCardsViewController.title = "Content Cards Title"
contentCards.contentCardsViewController.disableUnreadIndicator = true
self.present(contentCards, animated: true, completion: nil)

Para ver ejemplos de controladores de vista, consulta nuestra aplicación de ejemplo Tarjetas de contenido.

New Stuff!