Content Cards
Aprende sobre las Content Cards del SDK de Braze, incluidos los diferentes modelos de datos y las propiedades específicas de las tarjetas disponibles para tu aplicación.

¿Usas Content Cards para mensajes de tipo banner? Prueba los Banners— perfectos para mensajes en línea y persistentes dentro de la aplicación y la Web.

Esta guía utiliza ejemplos de código del SDK Web de Braze 4.0.0+. Para actualizar a la última versión del SDK Web, consulta la Guía de actualización del SDK.
Requisitos previos
Antes de poder usar Content Cards, deberás integrar el SDK Web de Braze en tu aplicación. Sin embargo, no se requiere configuración adicional. Para construir tu propia interfaz de usuario, consulta la guía de personalización de Content Cards.

Algunos bloqueadores de anuncios y extensiones de privacidad del navegador pueden bloquear el script del SDK Web de Braze o las solicitudes de red relacionadas, lo que puede impedir que las Content Cards se carguen. Si estás utilizando el método de integración por CDN, considera cambiar al método de integración por NPM, que almacena las bibliotecas del SDK de forma local en tu sitio web y puede evitar algunos problemas relacionados con los bloqueadores de anuncios.
Interfaz estándar de la fuente
Para usar la interfaz de Content Cards incluida, deberás especificar dónde mostrar la fuente en tu sitio web.
En este ejemplo, tenemos un <div id="feed"></div> en el que queremos colocar la fuente de Content Cards. Usaremos tres botones para ocultar, mostrar o alternar (ocultar o mostrar según su estado actual) la fuente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<button id="toggle" type="button">Toggle Cards Feed</button>
<button id="hide" type="button">Hide Cards Feed</button>
<button id="show" type="button">Show Cards Feed</button>
<nav>
<h1>Your Personalized Feed</h1>
<div id="feed"></div>
</nav>
<script>
const toggle = document.getElementById("toggle");
const hide = document.getElementById("hide");
const show = document.getElementById("show");
const feed = document.getElementById("feed");
toggle.onclick = function(){
braze.toggleContentCards(feed);
}
hide.onclick = function(){
braze.hideContentCards();
}
show.onclick = function(){
braze.showContentCards(feed);
}
</script>
Al usar los métodos toggleContentCards(parentNode, filterFunction) y showContentCards(parentNode, filterFunction), si no se proporcionan argumentos, todas las Content Cards se mostrarán en una barra lateral con posición fija en la página. De lo contrario, la fuente se colocará en la opción parentNode especificada.
| Parámetros | Descripción |
|---|---|
parentNode |
El nodo HTML en el que se renderizarán las Content Cards. Si el nodo padre ya tiene una vista de Content Cards de Braze como descendiente directo, las Content Cards existentes se reemplazarán. Por ejemplo, debes pasar document.querySelector(".my-container"). |
filterFunction |
Una función de filtro u orden para las tarjetas mostradas en esta vista. Se invoca con el array de objetos Card, ordenados por {pinned, date}. Se espera que devuelva un array de objetos Card ordenados para renderizar para este usuario. Si se omite, se mostrarán todas las tarjetas. |
Consulta la documentación de referencia del SDK para obtener más información sobre la alternancia de Content Cards.
Pruebas de Content Cards en la web
Puedes probar tu integración de Content Cards utilizando las herramientas de desarrollador de tu navegador.
- Crea una campaña de Content Cards y dirígela a tu usuario de prueba.
- Inicia sesión en el sitio web que tiene tu integración del SDK Web.
- Abre la consola de tu navegador. En Chrome, haz clic derecho en la página, selecciona Inspeccionar y luego selecciona la pestaña Consola.
- Ejecuta estos comandos en la consola:
window.braze.getCachedContentCards()window.braze.toggleContentCards()
Tipos de tarjetas y propiedades
El modelo de datos de Content Cards está disponible en el SDK Web y ofrece los siguientes tipos de Content Cards: ImageOnly, CaptionedImage y ClassicCard. Cada tipo hereda propiedades comunes de un modelo base Card y tiene las siguientes propiedades adicionales.

Modelo base de tarjeta
Todas las Content Cards comparten estas propiedades:
| Propiedad | Descripción |
|---|---|
expiresAt |
La marca de tiempo UNIX del momento de expiración de la tarjeta. |
extras |
(Opcional) Datos de par clave-valor formateados como un objeto de cadena con un valor de cadena. |
id |
(Opcional) El ID de la tarjeta. Se envía de vuelta a Braze con los eventos con fines de análisis. |
pinned |
Esta propiedad refleja si la tarjeta se configuró como “fijada” en el panel. |
updated |
La marca de tiempo UNIX de la última modificación de esta tarjeta. |
viewed |
Esta propiedad refleja si el usuario ha visto la tarjeta o no. |
isControl |
Esta propiedad es true cuando una tarjeta es un grupo de “control” dentro de una prueba A/B. |
Solo imagen
Las tarjetas ImageOnly son imágenes clicables de tamaño completo.
| Propiedad | Descripción |
|---|---|
aspectRatio |
La relación de aspecto de la imagen de la tarjeta, que sirve como indicador antes de que se complete la carga de la imagen. Ten en cuenta que esta propiedad puede no estar disponible en determinadas circunstancias. |
categories |
Esta propiedad es exclusivamente para la organización en tu implementación personalizada; estas categorías se pueden configurar en el creador del panel. |
clicked |
Esta propiedad indica si se ha hecho clic en esta tarjeta en este dispositivo. |
created |
La marca de tiempo UNIX del momento de creación de la tarjeta en Braze. |
dismissed |
Esta propiedad indica si esta tarjeta ha sido descartada. |
dismissible |
Esta propiedad refleja si el usuario puede descartar la tarjeta, eliminándola de la vista. |
imageUrl |
La URL de la imagen de la tarjeta. |
linkText |
El texto visible del enlace para la URL. |
url |
La URL que se abrirá después de hacer clic en la tarjeta. |
Imagen con subtítulo
Las tarjetas CaptionedImage son imágenes clicables de tamaño completo con texto descriptivo acompañante.
| Propiedad | Descripción |
|---|---|
aspectRatio |
La relación de aspecto de la imagen de la tarjeta, que sirve como indicador antes de que se complete la carga de la imagen. Ten en cuenta que esta propiedad puede no estar disponible en determinadas circunstancias. |
categories |
Esta propiedad es exclusivamente para la organización en tu implementación personalizada; estas categorías se pueden configurar en el creador del panel. |
clicked |
Esta propiedad indica si se ha hecho clic en esta tarjeta en este dispositivo. |
created |
La marca de tiempo UNIX del momento de creación de la tarjeta en Braze. |
dismissed |
Esta propiedad indica si esta tarjeta ha sido descartada. |
dismissible |
Esta propiedad refleja si el usuario puede descartar la tarjeta, eliminándola de la vista. |
imageUrl |
La URL de la imagen de la tarjeta. |
linkText |
El texto visible del enlace para la URL. |
title |
El texto del título de esta tarjeta. |
url |
La URL que se abrirá después de hacer clic en la tarjeta. |
Clásica
El modelo ClassicCard puede contener una imagen sin texto o un texto con imagen.
| Propiedad | Descripción |
|---|---|
aspectRatio |
La relación de aspecto de la imagen de la tarjeta, que sirve como indicador antes de que se complete la carga de la imagen. Ten en cuenta que esta propiedad puede no estar disponible en determinadas circunstancias. |
categories |
Esta propiedad es exclusivamente para la organización en tu implementación personalizada; estas categorías se pueden configurar en el creador del panel. |
clicked |
Esta propiedad indica si se ha hecho clic en esta tarjeta en este dispositivo. |
created |
La marca de tiempo UNIX del momento de creación de la tarjeta en Braze. |
description |
El texto del cuerpo de esta tarjeta. |
dismissed |
Esta propiedad indica si esta tarjeta ha sido descartada. |
dismissible |
Esta propiedad refleja si el usuario puede descartar la tarjeta, eliminándola de la vista. |
imageUrl |
La URL de la imagen de la tarjeta. |
linkText |
El texto visible del enlace para la URL. |
title |
El texto del título de esta tarjeta. |
url |
La URL que se abrirá después de hacer clic en la tarjeta. |
Formatos de imagen
Las imágenes de Content Cards (incluidos los GIF) se renderizan usando etiquetas HTML estándar <img>. La compatibilidad con GIF depende de las capacidades del navegador del usuario y no requiere una versión mínima del SDK Web. Todos los navegadores modernos admiten la reproducción de GIF de forma nativa.
Grupo de control
Si usas la fuente predeterminada de Content Cards, las impresiones y los clics se registrarán automáticamente.
Si usas una integración personalizada para Content Cards, necesitas registrar impresiones cuando se habría visto una tarjeta de control. Como parte de este esfuerzo, asegúrate de manejar las tarjetas de control al registrar impresiones en una prueba A/B. Estas tarjetas están en blanco y, aunque los usuarios no las ven, debes registrar las impresiones para poder comparar su rendimiento con el de las tarjetas que no son de control.
Para determinar si una Content Card está en el grupo de control de una prueba A/B, comprueba la propiedad card.isControl (Web SDK v4.5.0+) o verifica si la tarjeta es una instancia de ControlCard (card instanceof braze.ControlCard).
Métodos de tarjeta
Métodos de fuente predeterminada
Usa estos métodos cuando muestres Content Cards con la interfaz de usuario de fuente predeterminada de Braze:
| Método | Descripción |
|---|---|
showContentCards |
Muestra la fuente predeterminada de Content Cards. Renderiza las tarjetas en un elemento HTML parentNode proporcionado, o como una barra lateral de posición fija si no se proporciona ningún elemento. Acepta una filterFunction opcional para ordenar o filtrar las tarjetas antes de mostrarlas. |
hideContentCards |
Oculta la fuente predeterminada de Content Cards si se está mostrando actualmente. |
toggleContentCards |
Muestra la fuente predeterminada de Content Cards si está oculta, o la oculta si es visible. Si necesitas mostrar varias fuentes de Content Cards simultáneamente, usa showContentCards y hideContentCards en su lugar. |
Métodos de fuente personalizada
Usa estos métodos cuando construyas tu propia interfaz de usuario para Content Cards:
| Método | Descripción |
|---|---|
subscribeToContentCardsUpdates |
Registra una función de devolución de llamada que se invoca cada vez que se actualizan las Content Cards del usuario actual, por ejemplo al inicio de sesión. Usa este método como la forma principal de recibir datos de tarjetas para tu fuente personalizada. Debe llamarse antes de openSession() para recibir actualizaciones en la sesión inicial. |
getCachedContentCards |
Devuelve todas las tarjetas disponibles actualmente de la actualización más reciente de Content Cards. Usa este método para mostrar tarjetas de forma inmediata al cargar la página sin esperar una nueva solicitud al servidor, por ejemplo cuando el usuario regresa a una página durante una sesión activa. |
requestContentCardsRefresh |
Solicita una actualización inmediata de Content Cards desde los servidores de Braze. De forma predeterminada, las tarjetas se actualizan al inicio de sesión y cuando se reabre la fuente predeterminada. Usa este método para forzar una actualización en otros momentos, por ejemplo después de una acción específica del usuario. Ten en cuenta los límites de velocidad. |
logContentCardImpressions |
Registra eventos de impresión para un arreglo de tarjetas. Llámalo cuando las tarjetas se rendericen y sean visibles para el usuario. Es necesario para obtener informes de Campaign precisos cuando se usa una interfaz de usuario personalizada, ya que las impresiones no se rastrean automáticamente fuera de la fuente predeterminada. |
logContentCardClick |
Registra un evento de clic para una sola tarjeta. Llámalo cuando un usuario interactúa con una tarjeta en tu interfaz de usuario personalizada. Es necesario para obtener informes de Campaign precisos, ya que los clics no se rastrean automáticamente fuera de la fuente predeterminada. |
handleBrazeAction |
Procesa la URL de una tarjeta y ejecuta la acción configurada al hacer clic, incluidas las acciones de Braze (URLs brazeActions://) y la navegación estándar por URL. Llámalo en tu controlador de clics de tarjetas para asegurar que se ejecuten los comportamientos al hacer clic configurados en el panel de Braze. |
dismissCard |
Descarta una tarjeta de forma programática, eliminándola de la fuente del usuario. Usa este método para permitir a los usuarios descartar tarjetas en tu interfaz de usuario personalizada. |
Para más detalles, consulta la documentación de referencia del SDK.
Buenas prácticas
Llama a los métodos en el orden correcto
Para fuentes personalizadas, las Content Cards solo se actualizan al iniciar la sesión si se llama a subscribeToContentCardsUpdates() antes de openSession(). Llama a tus métodos de Braze en este orden:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import * as braze from "@braze/web-sdk";
// Step 1: Initialize the SDK
braze.initialize("YOUR-API-KEY", { baseUrl: "YOUR-SDK-ENDPOINT" });
// Step 2: Subscribe to card updates
braze.subscribeToContentCardsUpdates((updates) => {
const cards = updates.cards;
renderCards(cards);
});
// Step 3: Identify the user
braze.changeUser("USER_ID");
// Step 4: Start the session
braze.openSession();
Usa tarjetas en caché para mantener el contenido entre cargas de página
Dado que subscribeToContentCardsUpdates() solo invoca su callback cuando hay nuevas actualizaciones (como al iniciar la sesión), las tarjetas pueden desaparecer de tu fuente personalizada si un usuario actualiza la página a mitad de sesión. Para evitarlo, usa getCachedContentCards() para renderizar inmediatamente las tarjetas desde la caché local, junto con tu suscripción para nuevas actualizaciones:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import * as braze from "@braze/web-sdk";
function renderCards(cards) {
const container = document.getElementById("content-cards");
container.textContent = "";
const displayedCards = [];
cards.forEach(card => {
if (card instanceof braze.ClassicCard || card instanceof braze.CaptionedImage) {
const cardElement = document.createElement("div");
const h3 = document.createElement("h3");
h3.textContent = card.title || "";
cardElement.appendChild(h3);
const p = document.createElement("p");
p.textContent = card.description || "";
cardElement.appendChild(p);
if (card.imageUrl) {
const img = document.createElement("img");
img.src = card.imageUrl;
img.alt = card.title || "";
cardElement.appendChild(img);
}
if (card.url) {
cardElement.addEventListener("click", () => {
braze.logContentCardClick(card);
braze.handleBrazeAction(card.url);
});
}
container.appendChild(cardElement);
displayedCards.push(card);
}
});
if (displayedCards.length > 0) {
braze.logContentCardImpressions(displayedCards);
}
}
// Display cached cards immediately
const cached = braze.getCachedContentCards();
if (cached && cached.cards.length > 0) {
renderCards(cached.cards);
}
// Subscribe to future updates
braze.subscribeToContentCardsUpdates((updates) => {
renderCards(updates.cards);
});
Registra análisis para fuentes personalizadas
Cuando usas una interfaz personalizada, las impresiones, los clics y los descartes no se rastrean automáticamente. Debes registrar cada evento manualmente:
- Impresiones: Llama a
logContentCardImpressions([card1, card2, ...])con un array de objetos de tarjeta cuando las tarjetas se hacen visibles para el usuario. - Clics: Llama a
logContentCardClick(card)cuando un usuario interactúa con una tarjeta. - Comportamiento al hacer clic: Llama a
handleBrazeAction(card.url)para ejecutar la acción configurada al hacer clic en la tarjeta (como navegar a una URL o registrar un evento personalizado).

El argumento pasado a logContentCardClick() debe ser un objeto Card original de Braze. Si transformas o reconstruyes los datos de la tarjeta (por ejemplo, serializando y deserializando), los clics no se registran y verás el error: “card must be a Card object.”
Uso de Google Tag Manager
Google Tag Manager funciona inyectando el CDN de Braze (una versión de nuestro SDK web) directamente en el código de tu sitio web, lo que significa que todos los métodos del SDK están disponibles igual que si hubieras integrado el SDK sin Google Tag Manager, excepto al implementar Content Cards.
Configurar Content Cards
Para una integración estándar de la fuente de Content Cards, puedes usar una etiqueta HTML personalizado en Google Tag Manager. Añade lo siguiente a tu etiqueta de HTML personalizado, que activará la fuente estándar de Content Cards:
1
2
3
<script>
window.braze.showContentCards();
</script>

Para mayor libertad en la personalización de la apariencia de las Content Cards y su fuente, puedes integrar Content Cards directamente en tu sitio web nativo. Hay dos enfoques que puedes usar: utilizar la interfaz de fuente estándar o crear una interfaz de fuente personalizada.
Al implementar la interfaz de fuente estándar, los métodos de Braze deben tener window. añadido al inicio del método. Por ejemplo, braze.showContentCards debe ser window.braze.showContentCards.
Para el estilo de fuente personalizada, los pasos son los mismos que si hubieras integrado el SDK sin GTM. Por ejemplo, si deseas personalizar el ancho de la fuente de Content Cards, puedes pegar lo siguiente en tu archivo CSS:
1
2
3
body .ab-feed {
width: 800px;
}
Actualizar plantillas
Para actualizar a la última versión del SDK web de Braze, sigue los tres pasos siguientes en tu panel de Google Tag Manager:
- Actualizar la plantilla de etiqueta
Ve a la página Plantillas dentro de tu espacio de trabajo. Aquí deberías ver un icono que indica que hay una actualización disponible.
Haz clic en ese icono y, después de revisar el cambio, haz clic en Aceptar actualización.
- Actualizar el número de versión
Una vez que tu plantilla de etiqueta se haya actualizado, edita la etiqueta de inicialización de Braze y actualiza la versión del SDK a la versiónmajor.minormás reciente. Por ejemplo, si la última versión es4.1.2, introduce4.1. Puedes ver una lista de versiones del SDK en nuestro registro de cambios.
- Control de calidad y publicación
Verifica que la nueva versión del SDK esté funcionando usando la herramienta de depuración de Google Tag Manager antes de publicar una actualización en tu contenedor de etiquetas.
Solución de problemas
Habilitar la depuración de etiquetas
Cada plantilla de etiqueta de Braze tiene una casilla opcional Depuración de etiquetas GTM que se puede usar para registrar mensajes de depuración en la consola JavaScript de tu página web.

Entrar en modo de depuración
Otra forma de ayudar a depurar tu integración de Google Tag Manager es usar la función de modo de vista previa de Google.
Esto ayudará a identificar qué valores se están enviando desde la capa de datos de tu página web a cada etiqueta de Braze activada, y también explicará qué etiquetas se activaron o no.

Verificar la secuencia de etiquetas para eventos personalizados
Si los eventos personalizados u otras acciones no se están registrando en Braze, una causa común es una condición de carrera donde una etiqueta de acción (como Evento personalizado o Compra) se dispara antes de que la etiqueta de inicialización de Braze se haya completado. Para solucionarlo, configura la secuencia de etiquetas en GTM:
- Abre la etiqueta de acción que no se está registrando correctamente.
- En Configuración avanzada > Secuencia de etiquetas, selecciona Una etiqueta que se activa antes de [esta etiqueta].
- Elige tu etiqueta de inicialización de Braze como la etiqueta de configuración.
Esto asegura que el SDK esté completamente inicializado antes de que cualquier etiqueta de acción intente enviar datos a Braze.
Habilitar el registro detallado
Para capturar registros detallados para la solución de problemas, puedes habilitar el registro detallado en tu integración de Google Tag Manager. Estos registros aparecerán en la pestaña Consola de las herramientas de desarrollador de tu navegador.
En tu integración de Google Tag Manager, navega a tu etiqueta de inicialización de Braze y selecciona Habilitar registro del SDK web.

Requisitos previos
Antes de poder usar las Content Cards de Braze, debes integrar el SDK de Braze para Android en tu aplicación. Sin embargo, no se requiere configuración adicional.
Fragmentos de Google
En Android, la fuente de Content Cards se implementa como un fragmento disponible en el proyecto de interfaz de usuario de Braze para Android. La clase ContentCardsFragment actualiza automáticamente y muestra el contenido de las Content Cards y registra análisis de uso. Las tarjetas que pueden aparecer en las ContentCards de un usuario se crean en el panel de Braze.
Para aprender cómo añadir un fragmento a una actividad, consulta la documentación de fragmentos de Google.
Tipos de tarjetas y propiedades
El modelo de datos de Content Cards está disponible en el SDK de Android y ofrece los siguientes tipos únicos de Content Cards. Cada tipo comparte un modelo base, lo que les permite heredar propiedades comunes del modelo base, además de tener sus propias propiedades únicas. Para la documentación de referencia completa, consulta com.braze.models.cards.
Modelo de tarjeta base
El modelo de tarjeta base proporciona el comportamiento fundamental para todas las tarjetas.
| Propiedad | Descripción |
|---|---|
getId() |
Devuelve el ID de la tarjeta establecido por Braze. |
getViewed() |
Devuelve un booleano que indica si la tarjeta ha sido leída o no por el usuario. |
getExtras() |
Devuelve un mapa de extras clave-valor para esta tarjeta. |
getCreated() |
Devuelve la marca de tiempo unix del momento de creación de la tarjeta en Braze. |
isPinned |
Devuelve un booleano que indica si la tarjeta está fijada. |
getOpenUriInWebView() |
Devuelve un booleano que indica si las URI de esta tarjeta deben abrirse en el WebView de Braze o no. |
getExpiredAt() |
Obtiene la fecha de expiración de la tarjeta. |
isRemoved() |
Devuelve un booleano que indica si el usuario final ha descartado esta tarjeta. |
isDismissibleByUser() |
Devuelve un booleano que indica si la tarjeta puede ser descartada por el usuario. |
isClicked() |
Devuelve un booleano que indica el estado de clic de esta tarjeta. |
isDismissed |
Devuelve un booleano que indica si la tarjeta ha sido descartada. Establécelo en true para marcar la tarjeta como descartada. Si una tarjeta ya está marcada como descartada, no se puede marcar como descartada de nuevo. |
isControl() |
Devuelve un booleano que indica si esta tarjeta es una tarjeta de control y no debe renderizarse. |
Solo imagen
Las tarjetas de solo imagen son imágenes a tamaño completo sobre las que se puede hacer clic.
| Propiedad | Descripción |
|---|---|
getImageUrl() |
Devuelve la URL de la imagen de la tarjeta. |
getUrl() |
Devuelve la URL que se abre después de hacer clic en la tarjeta. Puede ser una URL HTTP(s) o una URL de protocolo. |
getDomain() |
Devuelve el texto del enlace para la URL de la propiedad. |
Imagen con subtítulo
Las tarjetas de imagen con subtítulo son imágenes a tamaño completo sobre las que se puede hacer clic, con texto descriptivo acompañante.
| Propiedad | Descripción |
|---|---|
getImageUrl() |
Devuelve la URL de la imagen de la tarjeta. |
getTitle() |
Devuelve el texto del título de la tarjeta. |
getDescription() |
Devuelve el texto del cuerpo de la tarjeta. |
getUrl() |
Devuelve la URL que se abre después de hacer clic en la tarjeta. Puede ser una URL HTTP(s) o una URL de protocolo. |
getDomain() |
Devuelve el texto del enlace para la URL de la propiedad. |
Clásica
Una tarjeta clásica sin imagen incluida da como resultado una tarjeta de anuncio de texto. Si se incluye una imagen, recibes una tarjeta de noticias breves.
| Propiedad | Descripción |
|---|---|
getTitle() |
Devuelve el texto del título de la tarjeta. |
getDescription() |
Devuelve el texto del cuerpo de la tarjeta. |
getUrl() |
Devuelve la URL que se abre después de hacer clic en la tarjeta. Puede ser una URL HTTP(s) o una URL de protocolo. |
getDomain() |
Devuelve el texto del enlace para la URL de la propiedad. |
getImageUrl() |
Devuelve la URL de la imagen de la tarjeta; aplica solo a la tarjeta clásica de noticias breves. |
isDismissed |
Devuelve un booleano que indica si la tarjeta ha sido descartada. Establécelo en true para marcar la tarjeta como descartada. Si una tarjeta ya está marcada como descartada, no se puede marcar como descartada de nuevo. |
Métodos de tarjeta
Todos los objetos del modelo de datos Card ofrecen los siguientes métodos de análisis para registrar eventos de usuario en los servidores de Braze.
| Método | Descripción |
|---|---|
logImpression() |
Registra manualmente una impresión en Braze para una tarjeta en particular. |
logClick() |
Registra manualmente un clic en Braze para una tarjeta en particular. |
Requisitos previos
Antes de poder usar Content Cards, necesitas integrar el SDK de Braze Swift en tu aplicación. Sin embargo, no es necesaria ninguna configuración adicional.
Contextos de controlador de vista
La interfaz de usuario predeterminada de Content Cards puede integrarse desde la biblioteca BrazeUI del SDK de Braze. Crea el controlador de vista de Content Cards utilizando la instancia braze. Si deseas interceptar y reaccionar al ciclo de vida de la interfaz de usuario de Content Cards, implementa BrazeContentCardUIViewControllerDelegate como delegado de tu BrazeContentCardUI.ViewController.

Para más información sobre las opciones del controlador de vista de iOS, consulta la documentación para desarrolladores de Apple.
La biblioteca BrazeUI del SDK de Swift proporciona dos contextos predeterminados de controlador de vista: navegación o modal. Esto significa que puedes integrar Content Cards en estos contextos añadiendo unas pocas líneas de código a tu aplicación o sitio web. Ambas vistas ofrecen opciones de personalización y estilo, como se describe en la guía de personalización. También puedes crear un controlador de vista de tarjeta de contenido personalizado, en lugar de utilizar el estándar de Braze, para tener aún más opciones de personalización—consulta el tutorial sobre la interfaz de usuario de Content Cards para ver un ejemplo.

Para manejar Content Cards con variantes de control en tu interfaz de usuario personalizada, pasa tu objeto Braze.ContentCard.Control y llama al método logImpression como harías con cualquier otro tipo de tarjeta de contenido. El objeto registrará implícitamente una impresión de control para informar a nuestros análisis de cuándo un usuario habría visto la tarjeta de control.
Navegación
Un controlador de navegación es un controlador de vistas que gestiona uno o varios controladores de vistas hijos en una interfaz de navegación. A continuación se muestra un ejemplo de cómo hacer push de una instancia de BrazeContentCardUI.ViewController en un controlador de navegación:
1
2
3
4
5
6
7
func pushViewController() {
guard let braze = AppDelegate.braze else { return }
let contentCardsController = BrazeContentCardUI.ViewController(braze: braze)
// Implement and set `BrazeContentCardUIViewControllerDelegate` if you wish to intercept click actions.
contentCardsController.delegate = self
self.navigationController?.pushViewController(contentCardsController, animated: true)
}
1
2
3
4
5
6
- (void)pushViewController {
BRZContentCardUIViewController *contentCardsController = [[BRZContentCardUIViewController alloc] initWithBraze:self.braze];
// Implement and set `BrazeContentCardUIViewControllerDelegate` if you wish to intercept click actions.
[contentCardsController setDelegate:self];
[self.navigationController pushViewController:contentCardsController animated:YES];
}
Modal
Utiliza presentaciones modales para crear interrupciones temporales en el flujo de trabajo de tu aplicación, como solicitar al usuario información importante. Esta vista modal tiene una barra de navegación en la parte superior y un botón Done en el lateral de la barra. A continuación se muestra un ejemplo de cómo presentar una instancia de BrazeContentCard.ViewController en un controlador modal:
1
2
3
4
5
6
7
func presentModalViewController() {
guard let braze = AppDelegate.braze else { return }
let contentCardsModal = BrazeContentCardUI.ModalViewController(braze: braze)
// Implement and set `BrazeContentCardUIViewControllerDelegate` if you wish to intercept click actions.
contentCardsModal.viewController.delegate = self
self.navigationController?.present(contentCardsModal, animated: true, completion: nil)
}
1
2
3
4
5
6
- (void)presentModalViewController {
BRZContentCardUIModalViewController *contentCardsModal = [[BRZContentCardUIModalViewController alloc] initWithBraze:AppDelegate.braze];
// Implement and set `BrazeContentCardUIViewControllerDelegate` if you wish to intercept click actions.
[contentCardsModal.viewController setDelegate:self];
[self.navigationController presentViewController:contentCardsModal animated:YES completion:nil];
}
Para ver ejemplos de uso de los controladores de vista BrazeUI, consulta los ejemplos de interfaz de usuario de Content Cards correspondientes en nuestra aplicación de ejemplos.
Modelo de tarjeta base
El modelo de datos de Content Cards está disponible en el módulo BrazeKit del SDK de Braze Swift. Este módulo contiene los siguientes tipos de Content Cards, que son una implementación del tipo Braze.ContentCard. Para obtener una lista completa de las propiedades de Content Cards y su uso, consulta la clase ContentCard.
- Solo imagen
- Imagen con subtítulo
- Clásica
- Imagen clásica
- Control
Para acceder al modelo de datos de Content Cards, llama a contentCards.cards en tu instancia braze. Consulta Registro de análisis para obtener más información sobre cómo suscribirte a los datos de las tarjetas.

La lectura de contentCards.cards, contentCards.unviewedCards o contentCards.lastUpdate bloquea el hilo que realiza la llamada hasta que el SDK haya completado sus operaciones posteriores a la inicialización. Para contextos en el hilo principal o sensibles a la latencia, utiliza las alternativas no bloqueantes getCachedContentCards(_:), getUnviewedCards(_:) o getLastUpdate(_:).

Ten en cuenta que BrazeKit ofrece una clase alternativa ContentCardRaw para compatibilidad con Objective-C.
Métodos de tarjeta
Cada tarjeta se inicializa con un objeto Context, que contiene varios métodos para gestionar el estado de tu tarjeta. Llama a estos métodos cuando quieras modificar la propiedad de estado correspondiente en un objeto tarjeta concreto.
| Método | Descripción |
|---|---|
card.context?.logImpression() |
Registra el evento de impresión de la tarjeta de contenido. |
card.context?.logClick() |
Registra el evento de clic de la tarjeta de contenido. |
card.context?.processClickAction() |
Procesa una entrada ClickAction determinada. |
card.context?.logDismissed() |
Registra el evento de tarjeta de contenido descartada. |
card.context?.logError() |
Registra un error relacionado con la tarjeta de contenido. |
card.context?.loadImage() |
Carga una imagen de tarjeta de contenido determinada desde una URL. Este método puede ser nulo cuando la tarjeta de contenido no tiene imagen. |
Para más detalles, consulta la documentación de la clase Context
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Braze de Cordova.
Fuentes de tarjetas
El SDK de Braze incluye una fuente de tarjetas predeterminada. Para mostrar la fuente de tarjetas predeterminada, puedes utilizar el método launchContentCards(). Este método gestiona todo el seguimiento de análisis, los descartes y la representación de las Content Cards de un usuario.
Content Cards
Puedes utilizar estos métodos adicionales para crear una fuente personalizada de Content Cards dentro de tu aplicación:
| Método | Descripción |
|---|---|
requestContentCardsRefresh() |
Envía una petición en segundo plano para solicitar las últimas Content Cards al servidor del SDK de Braze. |
getContentCardsFromServer(successCallback, errorCallback) |
Recupera Content Cards del SDK de Braze. Esto solicitará las últimas Content Cards al servidor y devolverá la lista de tarjetas al finalizar. |
getContentCardsFromCache(successCallback, errorCallback) |
Recupera Content Cards del SDK de Braze. Esto devolverá la última lista de tarjetas de la caché local, que se actualizó en la última actualización. |
logContentCardClicked(cardId) |
Registra un clic para el ID de tarjeta de contenido dado. |
logContentCardImpression(cardId) |
Registra una impresión para el ID de tarjeta de contenido dado. |
logContentCardDismissed(cardId) |
Registra un descarte para el ID de tarjeta de contenido dado. |
Acerca de las tarjetas de contenido de Flutter
El SDK de Braze incluye una fuente de tarjetas predeterminada para que empieces a utilizar las Content Cards. Para mostrar la fuente de tarjetas, puedes utilizar el método braze.launchContentCards(). La fuente predeterminada de tarjetas incluida en el SDK de Braze gestionará todo el seguimiento de análisis, los descartes y la representación de las Content Cards de un usuario.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Flutter Braze.
Métodos de tarjeta
Puedes utilizar estos métodos adicionales para crear una fuente de Content Cards personalizada dentro de tu aplicación, usando los siguientes métodos disponibles en la interfaz pública del complemento:
| Método | Descripción |
|---|---|
braze.requestContentCardsRefresh() |
Solicita las últimas Content Cards al servidor del SDK de Braze. |
braze.logContentCardClicked(contentCard) |
Registra un clic para el objeto de tarjeta de contenido dado. |
braze.logContentCardImpression(contentCard) |
Registra una impresión para el objeto de tarjeta de contenido dado. |
braze.logContentCardDismissed(contentCard) |
Registra un descarte para el objeto de tarjeta de contenido dado. |
Recepción de datos de Content Cards
Para recibir datos de Content Cards en tu aplicación Flutter, BrazePlugin admite el envío de datos de Content Cards mediante Dart Streams.
El objeto BrazeContentCard admite un subconjunto de campos disponibles en los objetos del modelo nativo, como description, title, image, url, extras, etc.
Escuchar datos de Content Cards en la capa Dart
Para recibir los datos de Content Cards en la capa Dart, utiliza el código siguiente para crear un StreamSubscription y llamar a braze.subscribeToContentCards(). Recuerda llamar a cancel() en la suscripción al stream cuando ya no la necesites.
1
2
3
4
5
6
7
8
9
// Create stream subscription
StreamSubscription contentCardsStreamSubscription;
contentCardsStreamSubscription = braze.subscribeToContentCards((List<BrazeContentCard> contentCards) {
// Handle Content Cards
}
// Cancel stream subscription
contentCardsStreamSubscription.cancel();
Para ver un ejemplo, consulta main.dart en la aplicación de ejemplo del SDK de Braze para Flutter.
Transmitir datos de Content Cards desde la capa nativa de iOS
Los datos de Content Cards se transmiten automáticamente desde las capas nativas de Android e iOS. No se requiere configuración adicional.
Si estás utilizando Flutter SDK 17.1.0 o anterior, la transmisión de datos de Content Cards desde la capa nativa de iOS requiere configuración manual. Es probable que tu aplicación contenga una devolución de llamada contentCards.subscribeToUpdates que llame a BrazePlugin.processContentCards(contentCards). Para migrar a Flutter SDK 18.0.0, elimina la llamada a BrazePlugin.processContentCards(_:): la transmisión de datos ahora se gestiona automáticamente.
Para ver un ejemplo, consulta AppDelegate.swift en la aplicación de ejemplo del SDK de Braze para Flutter.
Repetición de la devolución de llamada para Content Cards
Para almacenar las Content Cards desencadenadas antes de que la devolución de llamada esté disponible y reproducirlas una vez establecida, añade la siguiente entrada al mapa customConfigs al inicializar BrazePlugin:
1
BrazePlugin braze = new BrazePlugin(customConfigs: {replayCallbacksConfigKey: true});
Acerca de las Content Cards de React Native
Los SDK de Braze incluyen una fuente de tarjetas predeterminada para que empieces a utilizar las Content Cards. Para mostrar la fuente de tarjetas, puedes utilizar el método Braze.launchContentCards(). La fuente predeterminada de tarjetas incluida en el SDK de Braze gestionará todos los análisis de seguimiento, descartes y representación de las Content Cards de un usuario.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Braze de React Native.
Métodos de tarjetas
Para construir tu propia interfaz de usuario, puedes obtener una lista de las tarjetas disponibles y escuchar las actualizaciones de las tarjetas:
1
2
3
4
5
6
7
8
9
10
11
// Set initial cards
const [cards, setCards] = useState([]);
// Listen for updates as a result of card refreshes, such as:
// a new session, a manual refresh with `requestContentCardsRefresh()`, or after the timeout period
Braze.addListener(Braze.Events.CONTENT_CARDS_UPDATED, async (update) => {
setCards(update.cards);
});
// Manually trigger a refresh of cards
Braze.requestContentCardsRefresh();

Si decides crear tu propia interfaz de usuario para mostrar las tarjetas, debes llamar a logContentCardImpression para recibir los análisis de esas tarjetas. Esto incluye las tarjetas control, que deben ser objeto de seguimiento aunque no se muestren al usuario.
Puedes utilizar estos métodos adicionales para crear una fuente personalizada de Content Cards dentro de tu aplicación:
| Método | Descripción |
|---|---|
launchContentCards() |
Lanza el elemento de interfaz de usuario de Content Cards. |
requestContentCardsRefresh() |
Solicita las últimas Content Cards al servidor del SDK de Braze. La lista de tarjetas resultante se pasa a cada uno de los oyentes de eventos de tarjeta de contenido previamente registrados. |
getCachedContentCards() |
Devuelve la matriz de Content Cards más reciente de la caché. |
logContentCardClicked(cardId) |
Registra un clic para el ID de Content Card dado. Este método solo se utiliza para análisis. Para ejecutar la acción de clic, llama además a processContentCardClickAction(cardId). |
logContentCardImpression(cardId) |
Registra una impresión para el ID de Content Card dado. |
logContentCardDismissed(cardId) |
Registra un descarte para el ID de Content Card dado. |
processContentCardClickAction(cardId) |
Realiza la acción de una tarjeta concreta. |
Tipos de tarjeta y propiedades
El modelo de datos de Content Cards está disponible en el SDK de React Native y ofrece los siguientes tipos de tarjeta de Content Cards: Solo imagen, Imagen con subtítulo y Clásica. También hay un tipo especial de tarjeta de Control, que se devuelve a los usuarios que están en el grupo de control de una tarjeta determinada. Cada tipo hereda propiedades comunes de un modelo base, además de sus propias propiedades únicas.

Modelo de tarjeta base
El modelo de tarjeta base proporciona un comportamiento básico para todas las tarjetas.
| Propiedad | Descripción |
|---|---|
id |
El ID de la tarjeta configurado por Braze. |
created |
La marca de tiempo UNIX de la hora de creación de la tarjeta desde Braze. |
expiresAt |
La marca de tiempo UNIX de la fecha de caducidad de la tarjeta. Cuando el valor es inferior a 0, significa que la tarjeta no caduca nunca. |
viewed |
Si el usuario ha leído o no la tarjeta. Esto no registra análisis. |
clicked |
Si el usuario ha hecho clic en la tarjeta. |
pinned |
Si la tarjeta está anclada. |
dismissed |
Si el usuario ha descartado esta tarjeta. Marcar como descartada una tarjeta que ya ha sido descartada será un no-op. |
dismissible |
Si la tarjeta es descartable por el usuario. |
url |
(Opcional) La cadena de URL asociada a la acción de clic en la tarjeta. |
openURLInWebView |
Si las URL de esta tarjeta deben abrirse en la Vista Web de Braze o no. |
isControl |
Si esta tarjeta es una tarjeta de control. Las tarjetas de control no deben mostrarse al usuario. |
extras |
El mapa de extras clave-valor de esta tarjeta. |
Para una referencia completa de la tarjeta base, consulta la documentación de Android e iOS.
Solo imagen
Las tarjetas de solo imagen son imágenes de tamaño completo en las que se puede hacer clic.
| Propiedad | Descripción |
|---|---|
type |
El tipo de Content Card, IMAGE_ONLY. |
image |
La URL de la imagen de la tarjeta. |
imageAspectRatio |
La relación de aspecto de la imagen de la tarjeta. Sirve como pista antes de que se complete la carga de la imagen. Ten en cuenta que la propiedad puede no suministrarse en determinadas circunstancias. |
Para una referencia completa de la tarjeta de solo imagen, consulta la documentación de Android e iOS.
Imagen con subtítulo
Las tarjetas de imagen con subtítulo son imágenes de tamaño completo en las que se puede hacer clic y que van acompañadas de un texto descriptivo.
| Propiedad | Descripción |
|---|---|
type |
El tipo de Content Card, CAPTIONED. |
image |
La URL de la imagen de la tarjeta. |
imageAspectRatio |
La relación de aspecto de la imagen de la tarjeta. Sirve como pista antes de que se complete la carga de la imagen. Ten en cuenta que la propiedad puede no suministrarse en determinadas circunstancias. |
title |
El texto del título de la tarjeta. |
cardDescription |
El texto descriptivo de la tarjeta. |
domain |
(Opcional) El texto del enlace para la URL de la propiedad, por ejemplo, "braze.com/resources/". Se puede mostrar en la interfaz de usuario de la tarjeta para indicar la acción o dirección de hacer clic en la tarjeta. |
Para una referencia completa de la tarjeta de imagen con subtítulo, consulta la documentación de Android e iOS.
Clásica
Las tarjetas clásicas tienen un título, una descripción y una imagen opcional antes del texto.
| Propiedad | Descripción |
|---|---|
type |
El tipo de Content Card, CLASSIC. |
image |
(Opcional) La URL de la imagen de la tarjeta. |
title |
El texto del título de la tarjeta. |
cardDescription |
El texto descriptivo de la tarjeta. |
domain |
(Opcional) El texto del enlace para la URL de la propiedad, por ejemplo, "braze.com/resources/". Se puede mostrar en la interfaz de usuario de la tarjeta para indicar la acción o dirección de hacer clic en la tarjeta. |
Para una referencia completa de la Content Card clásica (anuncio de texto), consulta la documentación de Android e iOS. Para la tarjeta de imagen clásica (noticias breves), consulta la documentación de Android e iOS.
Control
Las tarjetas de control incluyen todas las propiedades base, con algunas diferencias importantes. La más destacada:
- La propiedad
isControlsiempre serátrue. - Se garantiza que la propiedad
extrasestará vacía.
Para una referencia completa de la tarjeta de control, consulta la documentación de Android e iOS.
Requisitos previos
Antes de poder usar Content Cards, integra el SDK Swift de Braze en tu aplicación. Luego completa los pasos para configurar tu aplicación tvOS.

Implementa tu propia interfaz personalizada, ya que las Content Cards son compatibles a través de una interfaz headless usando el SDK Swift—que no incluye ninguna interfaz ni vistas predeterminadas para tvOS.
Configurar tu aplicación tvOS
Paso 1: Crear una nueva aplicación iOS
En Braze, selecciona Configuración > Configuración de la aplicación y luego selecciona Añadir aplicación. Introduce un nombre para tu aplicación tvOS, selecciona iOS—no tvOS—y luego selecciona Añadir aplicación.


Si seleccionas la casilla tvOS, no podrás personalizar las Content Cards para tvOS.
Paso 2: Obtener la clave de API de tu aplicación
En la configuración de tu aplicación, selecciona tu nueva aplicación tvOS y toma nota de la clave de API de tu aplicación. Usa esta clave para configurar tu aplicación en Xcode.

Paso 3: Integrar BrazeKit
Usa la clave de API de tu aplicación para integrar el SDK Swift de Braze en tu proyecto tvOS en Xcode. Solo necesitas integrar BrazeKit del SDK Swift de Braze.
Paso 4: Crear tu interfaz personalizada
Dado que Braze no proporciona una interfaz predeterminada para Content Cards en tvOS, personalízala tú mismo. Para un recorrido completo, consulta nuestro tutorial paso a paso: Personalizar Content Cards para tvOS. Para un proyecto de ejemplo, consulta los ejemplos del SDK Swift de Braze.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Braze de Unity.
Mostrar Content Cards de forma nativa
Puedes mostrar la interfaz predeterminada para Content Cards utilizando la siguiente llamada:
1
Appboy.AppboyBinding.DisplayContentCards();
Recibir datos de Content Cards en Unity
Puedes registrar objetos del juego de Unity para que se les notifique la llegada de Content Cards. Recomendamos configurar los oyentes del objeto del juego desde el editor de configuración de Braze.
Si necesitas configurar el oyente de tu objeto del juego en tiempo de ejecución, utiliza AppboyBinding.ConfigureListener() y especifica BrazeUnityMessageType.CONTENT_CARDS_UPDATED.
Ten en cuenta que, además, tendrás que hacer una llamada a AppboyBinding.RequestContentCardsRefresh() para empezar a recibir datos en el oyente de tu objeto del juego en iOS.
Análisis sintáctico de Content Cards
Los mensajes entrantes de string recibidos en la devolución de llamada de tu objeto del juego de Content Cards pueden analizarse en nuestro objeto de modelo ContentCard presuministrado para mayor comodidad.
El análisis de Content Cards requiere análisis JSON; consulta el siguiente ejemplo para obtener más detalles:
Ejemplo de devolución de llamada de Content Cards
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void ExampleCallback(string message) {
try {
JSONClass json = (JSONClass)JSON.Parse(message);
// Content Card data is contained in the `mContentCards` field of the top level object.
if (json["mContentCards"] != null) {
JSONArray jsonArray = (JSONArray)JSON.Parse(json["mContentCards"].ToString());
Debug.Log(String.Format("Parsed content cards array with {0} cards", jsonArray.Count));
// Iterate over the card array to parse individual cards.
for (int i = 0; i < jsonArray.Count; i++) {
JSONClass cardJson = jsonArray[i].AsObject;
try {
ContentCard card = new ContentCard(cardJson);
Debug.Log(String.Format("Created card object for card: {0}", card));
// Example of logging Content Card analytics on the ContentCard object
card.LogImpression();
card.LogClick();
} catch {
Debug.Log(String.Format("Unable to create and log analytics for card {0}", cardJson));
}
}
}
} catch {
throw new ArgumentException("Could not parse content card JSON message.");
}
}
Actualizar Content Cards
Para actualizar Content Cards desde Braze, llama a cualquiera de los siguientes métodos:
1
2
3
4
// results in a network request to Braze
AppboyBinding.RequestContentCardsRefresh()
AppboyBinding.RequestContentCardsRefreshFromCache()
Análisis
Los clics y las impresiones deben registrarse manualmente para las Content Cards que no se muestran directamente a través de Braze.
Utiliza LogClick() y LogImpression() en ContentCard para registrar los clics y las impresiones de tarjetas concretas.
Acerca de las Content Cards de .NET MAUI
El SDK de Braze .NET MAUI (antes Xamarin) incluye una fuente de tarjetas predeterminada para que puedas empezar a utilizar las Content Cards. La fuente predeterminada de tarjetas incluida en el SDK de Braze gestionará todos los análisis de seguimiento, descarte de tarjetas y representación de las Content Cards de un usuario.
Requisitos previos
Antes de poder utilizar esta característica, deberás realizar la integración del SDK .NET MAUI Braze.
Tipos y propiedades de las tarjetas
El SDK de Braze .NET MAUI tiene tres tipos de tarjetas de contenido únicos que comparten un modelo base: Banner, imagen con pie de foto y clásica. Cada tipo hereda propiedades comunes de un modelo base y tiene las siguientes propiedades adicionales.
Modelo de tarjeta base
| Propiedad | Descripción |
|---|---|
idString |
El ID de la tarjeta configurado por Braze. |
created |
La marca de tiempo UNIX de la hora de creación de la tarjeta desde Braze. |
expiresAt |
La marca de tiempo UNIX de la fecha de caducidad de la tarjeta. Cuando el valor es inferior a 0, significa que la tarjeta no caduca nunca. |
viewed |
Si el usuario ha leído o no la tarjeta. Esto no registra análisis. |
clicked |
Si el usuario ha hecho clic en la tarjeta. |
pinned |
Si la tarjeta está anclada. |
dismissed |
Si el usuario ha descartado esta tarjeta. Marcar como descartada una tarjeta que ya ha sido descartada será un no-op. |
dismissible |
Si la tarjeta es descartable por el usuario. |
urlString |
(Opcional) La cadena URL asociada a la acción de clic en la tarjeta. |
openUrlInWebView |
Si las URL de esta tarjeta deben abrirse en Braze WebView o no. |
isControlCard |
Si esta tarjeta es una tarjeta de control. Las tarjetas de control no deben mostrarse al usuario. |
extras |
El mapa de extras clave-valor de esta tarjeta. |
isTest |
Si esta tarjeta es una tarjeta de prueba. |
Para una referencia completa de la tarjeta base, consulta la documentación de Android e iOS.
Banner
Las tarjetas banner son imágenes de tamaño completo en las que se puede hacer clic.
| Propiedad | Descripción |
|---|---|
image |
La URL de la imagen de la tarjeta. |
imageAspectRatio |
La relación de aspecto de la imagen de la tarjeta. Sirve como pista antes de que se complete la carga de la imagen. Ten en cuenta que la propiedad puede no suministrarse en determinadas circunstancias. |
Para una referencia completa de la tarjeta banner, consulta la documentación de Android e iOS (ahora renombrada a solo imagen).
Imagen con pie de foto
Las tarjetas de imagen con pie de foto son imágenes de tamaño completo en las que se puede hacer clic y que van acompañadas de un texto descriptivo.
| Propiedad | Descripción |
|---|---|
image |
La URL de la imagen de la tarjeta. |
imageAspectRatio |
La relación de aspecto de la imagen de la tarjeta. Sirve como pista antes de que se complete la carga de la imagen. Ten en cuenta que la propiedad puede no suministrarse en determinadas circunstancias. |
title |
El texto del título de la tarjeta. |
cardDescription |
El texto descriptivo de la tarjeta. |
domain |
(Opcional) El texto del enlace para la URL de la propiedad, por ejemplo, "braze.com/resources/". Se puede mostrar en la interfaz de usuario de la tarjeta para indicar la acción/dirección de hacer clic en la tarjeta. |
Para una referencia completa de la tarjeta de imagen con pie de foto, consulta la documentación de Android e iOS.
Clásica
Las tarjetas clásicas tienen un título, una descripción y una imagen opcional antes del texto.
| Propiedad | Descripción |
|---|---|
image |
(Opcional) La URL de la imagen de la tarjeta. |
title |
El texto del título de la tarjeta. |
cardDescription |
El texto descriptivo de la tarjeta. |
domain |
(Opcional) El texto del enlace para la URL de la propiedad, por ejemplo, "braze.com/resources/". Se puede mostrar en la interfaz de usuario de la tarjeta para indicar la acción/dirección de hacer clic en la tarjeta. |
Para una referencia completa de la Content Card clásica (anuncio de texto), consulta la documentación de Android e iOS. Para una referencia completa de la tarjeta de imagen clásica (noticias breves), consulta la documentación de Android e iOS.
Métodos de tarjeta
Puedes utilizar estos métodos adicionales para crear una fuente personalizada de Content Cards dentro de tu aplicación:
| Método | Descripción |
|---|---|
requestContentCardsRefresh() |
Solicita las últimas Content Cards al servidor del SDK de Braze. |
getContentCards() |
Recupera Content Cards del SDK de Braze. Esto devolverá la última lista de tarjetas del servidor. |
logContentCardClicked(cardId) |
Registra un clic para el ID de Content Card dado. Este método solo se utiliza para análisis. |
logContentCardImpression(cardId) |
Registra una impresión para el ID de Content Card dado. |
logContentCardDismissed(cardId) |
Registra un descarte para el ID de Content Card dado. |