# Braze Documentation
Index of all Developer Guide pages and their headings.
## Developer Guide
- [Guía del desarrollador de Braze](/docs/es/developer_guide/home/index.md)
- [Guía de inicio](/docs/es/developer_guide/getting_started/index.md): Puedes seguir esta guía o consultar Braze Learning para obtener cursos guiados, como nuestros itinerarios de aprendizaje para especialistas en marketing y para desarrolladores.
- [Resumen del SDK para desarrolladores](/docs/es/developer_guide/getting_started/sdk_overview/index.md): ¿Eres especialista en marketing y buscas un resumen básico del SDK? Echa un vistazo a nuestro resumen para especialistas en marketing.
- # {: style="float:right;width:120px;border:0;" class="noimgborder"}Resumen del SDK para desarrolladores {#braze-learning-course-imagebuster-assetsimgblicon3png-httpslearningbrazecompathdevelopersdk-integration-basics-stylefloatrightwidth120pxborder0-classnoimgbordersdk-overview-for-developers}
- ## Rendimiento de la aplicación {#app-performance}
- ## Compatibilidad del SDK {#sdk-compatibility}
- ## Análisis predeterminados y gestión de sesiones {#default-analytics-and-session-handling}
- ## Carga y descarga de datos {#data-upload-and-download}
- ## Bloqueo de la recopilación de datos {#blocking-data-collection}
- ## ¿En qué versión del SDK estoy? {#what-version-of-the-sdk-am-i-on}
- [Resumen de la plataforma](/docs/es/developer_guide/getting_started/platform_overview/index.md): Echa un vistazo a nuestro curso gratuito Ruta de aprendizaje para desarrolladores junto con estos artículos.
- # {: style="float:right;width:120px;border:0;" class="noimgborder"}Primeros pasos: Resumen de la plataforma {#braze-learning-course-imagebuster-assetsimgblicon3png-httpslearningbrazecompathdeveloper-stylefloatrightwidth120pxborder0-classnoimgbordergetting-started-platform-overview}
- ## ¿Qué es Braze? {#what-is-braze}
- ### SDK
- ### Interfaz de usuario del dashboard {#dashboard-user-interface}
- ### REST API
- ## Análisis de datos y acción {#data-analysis-and-action}
- ### Análisis de la aplicación {#app-analytics}
- ### Segmentación de usuarios {#user-segmentation}
- ## Mensajería multicanal {#multichannel-messaging}
- ### Componentes personalizables {#customizable-components}
- ## Integración de Braze {#integrating-braze}
- ## Recursos para marcar {#resources-to-bookmark}
- [Resumen de la integración](/docs/es/developer_guide/getting_started/integration_overview/index.md): !Un diagrama de Venn de cuatro círculos —descubrimiento, integración, garantía de calidad y mantenimiento— centrado en el "tiempo para obtener valor".{: style="max-width:50%;float:right;margin-left:15px;border:none;"}
- # {: style="float:right;width:120px;border:0;" class="noimgborder"} Primeros pasos: Resumen de la integración {#braze-learning-course-imagebuster-assetsimgblicon3png-httpslearningbrazecomsdk-integration-basics-stylefloatrightwidth120pxborder0-classnoimgbordergetting-started-integration-overview}
- ## Descubrimiento y planificación {#discovery}
- ### Planificación de campañas {#campaign-planning}
- ### Crear requisitos de datos {#creating-data-requirements}
- ### Planificación de personalizaciones {#customizations-planning}
- ### Acceder al dashboard {#getting-dashboard-access}
- ### Espacios de trabajo y claves de API {#workspaces-and-api-keys}
- ## Integración {#integration}
- ### Socios de integración de CDP {#cdp-integration-partners}
- ### Integración del SDK de Braze {#braze-sdk-integration}
- ### Uso de la API de Braze {#using-the-braze-api}
- ### Configuración de los análisis de productos {#setting-up-product-analytics}
- ### Migración de datos de usuario heredados {#migrating-legacy-user-data}
- ### Configuración del seguimiento de la sesión {#setting-up-session-tracking}
- ### Seguimiento de eventos personalizados, atributos y eventos de compra {#tracking-custom-events-attributes-and-purchase-events}
- ### Otras herramientas {#other-tools}
- ## Garantía de calidad {#qa}
- ### Pasar Braze a los especialistas en marketing {#passing-braze-off-to-marketers}
- ### Desarrollar para el futuro {#develop-for-the-future}
- ## Mantenimiento {#maintenance}
- ## Límites de velocidad del SDK {#sdk-rate-limits}
- ### Usuarios activos al mes CY 24-25, MAU universal, MAU web y MAU móvil {#monthly-active-users-cy-24-25-universal-mau-web-mau-and-mobile-mau}
- ### Encontrar tus límites de velocidad {#finding-your-rate-limits}
- ### Solicitar límites de velocidad más altos {#requesting-higher-rate-limits}
- ### Cambios y soporte {#changes-and-support}
- [Resumen arquitectónico](/docs/es/developer_guide/getting_started/architecture_overview/index.md): A un alto nivel, Braze se ocupa de datos. La plataforma Braze, impulsada por el SDK, la REST API y las integraciones de socios, te permite agregar tus datos y actuar sobre ellos.
- # Para empezar: Resumen arquitectónico {#getting-started-architectural-overview}
- ## Ingesta de datos {#ingestion}
- ### Desglose de los orígenes de datos {#data-source-breakdown}
- #### Características basadas en MongoDB {#mongodb-powered-features}
- #### Características impulsadas por Snowflake {#snowflake-powered-features}
- ### Orígenes de datos backend a través de la API de Braze {#backend-data-sources-through-the-braze-api}
- ### Orígenes de datos frontend a través del SDK de Braze {#frontend-data-sources-through-braze-sdk}
- ### Integraciones de socios {#partner-integrations}
- ### Conexión directa con el almacén a través de la Ingesta de datos de Cloud de Braze {#direct-warehouse-connection-through-braze-cloud-data-ingestion}
- ## Clasificación {#classification}
- ## Orquestación {#orchestration}
- ### Conmutadores de características {#feature-flags}
- ## Personalización {#personalization}
- ## Acción {#action}
- ### Canales de mensajería {#messaging-channels}
- ## Exportar datos {#exporting-data}
- ### Currents
- ### Uso compartido de datos de Snowflake {#snowflake-data-sharing}
- ### API de exportación de Braze {#braze-export-apis}
- ### CSV {#csvs}
- ## Todo junto {#putting-it-all-together}
- [Construcción con un LLM](/docs/es/developer_guide/getting_started/build_with_llm/index.md): Los asistentes de codificación con IA pueden ayudarte a escribir código de integración, solucionar problemas y explorar las características del SDK de Braze—pero solo si disponen del contexto adecuado. El servidor Braze Docs MCP proporciona a tu asistente de IA acceso directo a la documentación de Braze, para que pueda generar fragmentos de código precisos y responder a preguntas técnicas basándose en las últimas referencias del SDK.
- # Construcción con un LLM {#building-with-an-llm}
- ## Conexión a Braze Docs MCP {#connecting-to-the-braze-docs-mcp}
- ### Configuración de Context7 {#setting-up-context7}
- ## Redacción de prompts para el desarrollo del SDK de Braze {#writing-prompts-for-braze-sdk-development}
- ### SDK de React Native {#react-native-sdk}
- #### Inicialización del SDK {#initializing-the-sdk}
- #### Registro de eventos personalizados con propiedades {#logging-custom-events-with-properties}
- #### Configuración de notificaciones push {#setting-up-push-notifications}
- #### Gestión de mensajes dentro de la aplicación {#handling-in-app-messages}
- ### SDK Web {#web-sdk}
- #### Inicialización del SDK
- #### Seguimiento de eventos personalizados y compras {#tracking-custom-events-and-purchases}
- #### Registro para notificaciones push web {#registering-for-web-push}
- #### Gestión de atributos de usuario {#managing-user-attributes}
- ## Documentación en texto sin formato {#plain-text-documentation}
- [Resumen de la personalización](/docs/es/developer_guide/getting_started/customization_overview/index.md): El SDK de Braze es un potente conjunto de herramientas, pero a alto nivel proporciona dos importantes funciones: ayuda a recopilar y sincronizar los datos de usuario entre plataformas en un perfil de usuario consolidado, y también gestiona canales de mensajería como mensajes dentro de la aplicación, notificaciones push y Content Cards. Los artículos de la guía de personalización asumen que ya has pasado por el proceso de implementación del SDK.
- # Resumen de la personalización {#customization-overview}
- [Tutoriales de Braze SDK](/docs/es/developer_guide/tutorials/index.md)
- [Integra el SDK de Braze](/docs/es/developer_guide/sdk_integration/index.md): Para ver el contenido del README del SDK reflejado en la documentación, consulta Guías de repositorios.
- # !Logotipo de Braze{: style="float:right;width:120px;border:0;" class="noimgborder"}Integra el SDK de Braze {#braze-logo-imagebuster-assetsbrazeprimaryiconblacksvg-stylefloatrightwidth120pxborder0-classnoimgborderintegrate-the-braze-sdk}
- ## About the Web Braze SDK
- ## Integrate the Web SDK
- ### Step 1: Install the Braze library
- ### Step 2: Initialize the SDK
- #### Troubleshooting missing sessions for anonymous users
- ### Prerequisites
- ### Step 1: Open the tag template gallery
- ### Step 2: Add the initialization tag template
- ### Step 3: Configure the tag
- ### Step 4: Choose initialization options
- ### Step 5: Set to Trigger on all pages
- ### Step 6: Verify your integration
- ## Filtering bot traffic {#bot-filtering}
- ### Limitations of SDK-side bot detection
- ### Implementing bot filtering
- #### Require user interaction
- #### Custom bot detection
- ### Best practices
- ## Optional configurations
- ### Logging
- #### Basic logging
- #### Custom logging
- ## Upgrading the SDK
- ## Other integration methods
- ### Accelerated Mobile Pages (AMP)
- #### Step 1: Include AMP web push script
- #### Step 2: Add subscription widgets
- #### Step 3: Add helper-iframe and permission-dialog
- #### Step 4: Create a service worker file
- #### Step 5: Configure the AMP web push HTML element
- ### Asynchronous Module Definition (AMD)
- #### Disable support
- #### Module loader
- ### Electron {#electron}
- ### Jest framework {#jest}
- ### SSR frameworks {#ssr}
- #### Framework-agnostic dynamic import
- #### Shared hook for Next.js and Remix
- #### Next.js (App Router)
- #### Next.js (Pages Router)
- #### Remix
- #### Logging events and updating users
- ### Tealium iQ
- ### Vite {#vite}
- ### Other tag managers
- ## Integrating the Android SDK
- ### Step 1: Update your Gradle build configuration
- ### Step 2: Configure your braze.xml
- ### Step 3: Add permissions to AndroidManifest.xml
- ### Step 4: Enable delayed initialization (optional)
- #### Step 4.1: Update your braze.xml
- #### Step 4.2: Configure push analytics (optional)
- ##### Explicitly queue {#explicitly-queue-push-analytics}
- ##### Drop {#drop-push-analytics}
- #### Step 4.3: Manually initialize the SDK
- ### Step 5: Enable user session tracking
- ## Testing session tracking
- ## Optional configurations
- ### Runtime configuration
- ### Google Advertising ID
- ### Location tracking
- ### Logging
- #### Enabling logs
- #### Verifying verbose logs
- #### Suppressing logs
- ### Multiple API keys
- ### Exclusive in-app message TalkBack
- ### R8 and ProGuard
- ## Integrating the Swift SDK
- ### Prerequisites
- ### Step 1: Install the Braze Swift SDK
- #### Step 1.1: Import SDK version
- #### Step 1.2: Select your packages
- ##### About Extension libraries
- #### Step 1.1: Install CocoaPods
- #### Step 1.2: Constructing the Podfile
- ##### About additional libraries
- ###### Extension libraries
- #### Step 1.3: Install the SDK
- #### Updating the SDK using CocoaPods
- #### Step 1.1: Download the Braze SDK
- #### Step 1.2: Choose your frameworks
- #### Step 1.3: Prepare your files
- #### Step 1.4: Integrate your frameworks
- #### Common errors for Objective-C projects
- ### Step 2: Set up delayed initialization (optional)
- #### Step 2.1: Prepare for delayed initialization
- #### Step 2.2: Configure push analytics behavior (optional)
- ##### Explicitly queue
- ##### Drop
- #### Step 2.3: Customize push automation (optional)
- #### Step 2.4: Initialize the SDK
- ### Step 3: Update your app delegate
- ## Optional configurations
- ### Logging
- #### Log levels
- #### Setting the log level
- ## Integrating the Cordova SDK
- ### Prerequisites
- ### Step 1: Add the SDK to your project
- ### Step 2: Configure your project
- ## Platform-specific syntax
- ### Integers
- ### Booleans
- ## Optional configurations {#optional}
- ## Disabling automatic session tracking (Android only) {#disable-automatic-session-tracking}
- ## About the Flutter Braze SDK
- ## Integrating the Flutter SDK
- ### Prerequisites
- ### Step 1: Integrate the Braze library
- ### Step 2: Complete native SDK setup
- #### 2.1 Set up Android
- ##### Provide credentials at compile time
- ##### Provide credentials at runtime
- #### 2.2 Set up iOS
- #### 2.1 Set up Android
- #### 2.2 Set up iOS
- ### Step 3: Set up the plugin
- #### Standard initialization
- #### Delayed initialization
- #### Platform-specific API keys
- #### Re-initialization
- ## Testing the integration
- ## About the React Native Braze SDK
- ## New Architecture compatibility
- ## React and React Native version requirements
- ## Integrating the React Native SDK
- ### Prerequisites
- ### Step 1: Integrate the Braze library
- ### Step 2: Complete native setup
- #### Method 1: Using the Expo plugin {#reactnative-using-the-expo-plugin}
- ##### 2.1 Install the Braze Expo plugin
- ##### 2.2 Add the plugin to your app.json
- ###### Configuring Android push notification icons {#android-push-icons}
- ##### 2.3 Build and run your application
- #### Method 2: Using React Native CLI {#reactnative-using-react-native-cli}
- ##### Set up Android
- ##### Set up iOS
- #### Method 1: Using the Expo plugin
- ##### Step 2.1: Install the Braze Expo plugin
- ##### Step 2.2: Add the plugin to your app.json
- ###### Configuring Android push notification icons
- ##### Step 2.3: Build and run your application
- #### Method 2: Using React Native CLI
- ##### Set up Android
- ##### Set up iOS
- ### Step 3: Initialize the SDK
- #### Standard initialization
- #### Delayed initialization
- #### Platform-specific API keys
- #### Re-initialization
- ### Step 4: Test the integration (optional)
- ## Next steps
- ## Integrating the Roku SDK
- ### Step 1: Add files
- ### Step 2: Add references
- ### Step 3: Configure
- ### Step 4: Initialize Braze
- ## Optional configurations
- ### Logging
- ## About the Unity Braze SDK
- ## Integrating the Unity SDK
- ### Prerequisites
- ### Step 1: Choose your Braze Unity package
- ### Step 2: Import the package
- ### Step 3: Configure the SDK
- #### Step 3.1: Configure AndroidManifest.xml
- #### Step 3.2: Update AndroidManifest.xml with your package name
- #### Step 3.3: Add gradle dependencies
- #### Step 3.4: Automate the Unity Android integration
- #### Step 3.1: Set your API key
- ## Customizing the Unity package
- ### Step 1: Clone the repository
- ### Step 2: Export package from repository
- ### Step 3: Import package into Unity
- ## Switch to an automated integration (Swift only) {#automated-integration}
- ## Optional configurations
- ### Verbose logging
- ### Prime 31 compatibility
- ### Amazon Device Messaging (ADM)
- ### Extending the Braze Unity player (Android only) {#extend-unity-player}
- ## Troubleshooting
- ### Error: "File could not be read"
- ## Integrating the .NET MAUI SDK
- ### Prerequisites
- ### Step 1: Get the .NET MAUI binding
- ### Step 2: Configure your Braze instance
- #### Step 2.1: Configure the Braze SDK in Braze.xml
- #### Step 2.2: Add required permissions to Android manifest
- #### Step 2.3: Track user sessions and registering for in-app messages
- ### Step 3: Test the integration
- # ChatGPT app integration
- ## Setup
- ### Step 1: Get the Braze integration file
- ### Step 2: Install dependencies
- ## Implementation
- ### Client-side integration (custom widgets)
- #### Configure widget metadata
- #### Set up the useBraze hook
- #### Display Braze Content Cards
- #### Track widget events
- ### Server-side integration (MCP server)
- #### Set up session information
- #### Track user interactions
- #### Track purchases and transactions
- ## About the Braze Vega SDK
- ## Integrating the Braze Vega SDK
- ### Step 1: Install the Braze library
- ### Step 2: Initialize the SDK
- ## Optional configurations
- ### Logging
- #### Enable logging during initialization
- #### Enable logging after initialization
- #### Custom logging
- ### Configuration options
- ## Upgrading the SDK
- ## Testing your integration
- [Google Tag Manager con el SDK de Braze](/docs/es/developer_guide/sdk_integration/google_tag_manager/index.md): Google Tag Manager (GTM) lets you remotely add, remove, and edit tags on your website without requiring a production code release or engineering resources. Braze offers the following templates for the Web SDK:
- # Google Tag Manager con el SDK de Braze {#google-tag-manager-with-the-braze-sdk}
- ## About Google Tag Manager for Web {#google-tag-manager}
- ## Tag sequencing for Braze action tags
- ## Log purchases with GTM
- ## Logging custom events with GTM
- ### Step 1: Push the event to the data layer
- ### Step 2: Create a trigger in GTM
- ### Step 3: Create a Custom HTML tag
- ## Google's EU User Consent Policy
- ## Prerequisites
- ## Using Google Tag Manager for Android
- ### Step 1: Create a trigger for custom events
- ### Step 2: Log custom attributes
- ### Step 3: Call changeUser()
- ### Step 4: Add a custom tag provider {#adding-android-google-tag-provider}
- ## Prerequisites
- ## Using Google Tag Manager for Swift
- ### Step 1: Create a trigger for custom events
- ### Step 2: Log custom attributes
- ### Step 3: Call changeUser()
- ### Step 4: Add a custom tag provider {#adding-ios-google-tag-provider}
- ## Solución de problemas {#troubleshooting}
- [Configurar la autenticación para el SDK de Braze](/docs/es/developer_guide/sdk_integration/authentication/index.md): Después de habilitar esta característica en tu aplicación, puedes configurar el panel de Braze para que rechace cualquier solicitud con un token web JSON (JWT) no válido o que falte, lo que incluye:
- # Configurar la autenticación del SDK {#set-up-sdk-authentication}
- ## Cómo funciona {#how-it-works}
- ## Configuración de la autenticación {#setting-up-authentication}
- ### Paso 1: Configura tu servidor {#server-side-integration}
- #### Paso 1.1: Generar un par de claves pública/privada {#generate-keys}
- #### Paso 1.2: Crear un token web JSON para el usuario actual {#create-jwt}
- ### Paso 2: Configura el SDK {#sdk-integration}
- #### Paso 2.1: Habilita la autenticación en el SDK de Braze {#step-21-enable-authentication-in-the-braze-sdk}
- #### Paso 2.2: Establece el JWT del usuario actual {#step-22-set-the-current-users-jwt}
- #### Paso 2.3: Registra una función de devolución de llamada para tokens no válidos {#sdk-callback}
- ### Paso 3: Habilita la autenticación en el dashboard {#braze-dashboard}
- #### Opciones de aplicación {#enforcement-options}
- ## Administración de claves públicas {#key-management}
- ### Añadir una clave pública {#adding-a-public-key}
- ### Asignar una nueva clave primaria {#assign-a-new-primary-key}
- ### Eliminar una clave {#deleting-a-key}
- ## Análisis {#analytics}
- ## Códigos de error {#error-codes}
- ## Preguntas frecuentes (FAQ) {#faq}
- #### ¿Es necesario habilitar esta característica en todas mis aplicaciones al mismo tiempo? {#faq-app-by-app}
- #### ¿Qué ocurre con los usuarios que siguen utilizando versiones anteriores de mi aplicación? {#faq-sdk-backward-compatibility}
- #### ¿Qué caducidad debo usar al generar un JWT? {#faq-expiration}
- #### ¿Qué ocurre si un JWT caduca en mitad de la sesión de un usuario? {#faq-jwt-expiration}
- #### ¿Qué ocurre si mi integración en servidor se rompe y ya no puedo crear un JWT? {#faq-server-downtime}
- #### ¿Por qué esta característica utiliza claves públicas/privadas en lugar de secretos compartidos? {#faq-shared-secrets}
- #### ¿Cómo se reintentarán las solicitudes rechazadas? {#faq-retry-logic}
- #### ¿Se puede utilizar la autenticación del SDK para usuarios anónimos? {#faq-anonymous-users}
- #### ¿Funciona la autenticación del SDK con alias de usuario? {#faq-aliases}
- #### ¿Habilitar la autenticación del SDK bloquea la recopilación de actividad no autenticada? {#faq-unauthenticated-collection}
- [Depuración del SDK de Braze](/docs/es/developer_guide/sdk_integration/debugging/index.md): Para una investigación más profunda, también puedes habilitar el registro detallado para capturar la salida detallada del SDK y aprender a leer los registros detallados de canales específicos.
- # Depuración del SDK de Braze {#debugging-the-braze-sdk}
- ## Requisitos previos {#prerequisites}
- ## Depuración del SDK de Braze
- ### Paso 1: Cierra tu aplicación {#step-1-close-your-app}
- ### Paso 2: Crea una sesión de depuración {#step-2-create-a-debugging-session}
- ### Paso 3: Selecciona un usuario {#step-3-select-a-user}
- ### Paso 4: Vuelve a lanzar la aplicación {#step-4-relaunch-the-app}
- ### Paso 5: Completa los pasos de reproducción {#step-5-complete-the-reproduction-steps}
- ### Paso 6: Finaliza tu sesión {#step-6-end-your-session}
- ### Paso 7: Comparte o exporta tu sesión (opcional) {#step-7-share-or-export-your-session-optional}
- [Registro detallado](/docs/es/developer_guide/sdk_integration/verbose_logging/index.md): Cuando algo no funciona como se espera, como por ejemplo, una notificación push que no llega, un mensaje dentro de la aplicación que no se muestra o datos de usuario que no se sincronizan, los registros detallados te ayudan a identificar la causa raíz. En lugar de hacer conjeturas, puedes ver exactamente lo que hace el SDK en cada paso.
- # Registro detallado
- ## Cuándo utilizar el registro detallado
- ## Habilitar el registro detallado
- ## Recopilación de registros
- ## Lectura de registros detallados
- ## Compartir registros con el soporte de Braze
- [Lectura de registros detallados](/docs/es/developer_guide/sdk_integration/reading_verbose_logs/index.md): Antes de empezar, asegúrate de haber habilitado el registro detallado y de saber cómo recopilar registros en tu plataforma.
- # Lectura de registros detallados {#reading-verbose-logs}
- ## Sesiones {#sessions}
- ### Entradas clave del registro {#key-log-entries}
- ### Qué hay que comprobar {#what-to-check}
- ## Notificaciones push {#push-notifications}
- ### Registro de tokens {#token-registration}
- ### Qué hay que comprobar
- ### Entrega push y clic {#push-delivery-and-click}
- ### Qué hay que comprobar
- ## Mensajes dentro de la aplicación {#in-app-messages}
- ### Entrega de mensajes {#message-delivery}
- ### Visualización e impresión de mensajes {#message-display-and-impression}
- ### Eventos de clic y botón {#click-and-button-events}
- ### Qué hay que comprobar
- ## Content Cards
- ### Sincronización de tarjetas {#card-sync}
- ### Impresiones, clics y rechazos {#impressions-clicks-and-dismissals}
- ### Qué hay que comprobar
- ## Vínculos profundos {#deep-links}
- ### Qué hay que comprobar
- ## Identificación del usuario {#user-identification}
- ## Solicitudes de red {#network-requests}
- ### Estructura de la solicitud {#request-structure}
- ### Qué hay que comprobar
- ## Abreviaturas comunes de eventos {#common-event-abbreviations}
- ## Solución de problemas {#troubleshooting}
- ### ¿Cuándo puede un usuario tener 0 sesiones registradas en su perfil? {#when-might-a-user-have-0-sessions-recorded-against-their-profile}
- ### Discrepancias en los datos de usuario al usar el SDK y la REST API juntos {#user-data-discrepancies-when-using-the-sdk-and-rest-api-together}
- ### Los datos no llegan a Braze {#data-not-reaching-braze}
- [Límites de velocidad del SDK de Braze](/docs/es/developer_guide/sdk_integration/rate_limits/index.md): El límite de velocidad del SDK de Braze utiliza las siguientes características para optimizar el rendimiento, minimizar el consumo de batería, reducir el uso de datos y garantizar una entrega de datos fiable:
- # Límites de velocidad del SDK de Braze {#braze-sdk-rate-limits}
- ## Comprender los límites de velocidad del SDK {#understanding-sdk-rate-limits}
- ### Procesamiento asíncrono {#asynchronous-processing}
- ### Limitación de velocidad adaptativa {#adaptive-rate-limiting}
- ### Optimizaciones de red {#networking-optimizations}
- ## Buenas prácticas {#best-practices}
- ## Obtener ayuda {#getting-help}
- [Integra Braze con las aplicaciones ChatGPT](/docs/es/developer_guide/sdk_integration/chatgpt_apps/index.md): !Una tarjeta de contenido integrada en una aplicación ChatGPT.{: style="float:right;max-width:30%;border:none;" }
- # Integra Braze con las aplicaciones ChatGPT {#integrate-braze-with-chatgpt-apps}
- ## Resumen {#overview}
- ### Ventajas principales {#key-benefits}
- ## Requisitos previos {#prerequisites}
- # ChatGPT app integration
- ## Setup
- ### Step 1: Get the Braze integration file
- ### Step 2: Install dependencies
- ## Implementation
- ### Client-side integration (custom widgets)
- #### Configure widget metadata
- #### Set up the useBraze hook
- #### Display Braze Content Cards
- #### Track widget events
- ### Server-side integration (MCP server)
- #### Set up session information
- #### Track user interactions
- #### Track purchases and transactions
- [Acerca de la gestión de versiones para el SDK de Braze](/docs/es/developer_guide/sdk_integration/version_management/index.md): Todos los SDK de Braze cumplen con la especificación de versionado semántico (SemVer), por lo que, dado un número de versión MAJOR.MINOR.PATCH, recomendamos lo siguiente:
- # Acerca de la gestión de versiones {#about-version-management}
- ## Recomendaciones sobre versiones {#versioning-recommendations}
- ## Recibir notificaciones de nuevas versiones {#getting-notified-of-new-releases}
- ## Acerca de los problemas conocidos {#about-known-issues}
- [Guía de actualización a Android 13](/docs/es/developer_guide/platforms/android/android_13/index.md): Refer to the Android 13 developer documentation for a full migration guide.
- # Upgrading to Android 13
- ## Android 13 Braze SDK
- ## Changes in Android 13
- ### Push permission {#push-permission}
- #### Permission prompt timing {#push-permission-timing}
- ## Preparing for Android 13 {#next-steps}
- [Actualizar a iOS 18](/docs/es/developer_guide/platforms/swift/ios_18/index.md): La WWDC de Apple tuvo lugar del 9 al 11 de junio de 2024. Obtén más información sobre sus anuncios en nuestra entrada de blog, o sigue leyendo para saber cómo puedes aprovechar iOS 18 con Braze.
- # Actualizar a iOS 18 {#upgrading-to-ios-18}
- ## Cambios en iOS 18 {#changes-in-ios-18}
- ### Live Activities en Apple Watch {#live-activities-on-apple-watch}
- ### Apple Vision Pro
- ### Notificaciones del iPhone en macOS {#iphone-notifications-on-macos}
- ### Apple Intelligence
- [Compatibilidad con visionOS](/docs/es/developer_guide/platforms/swift/visionos/index.md): La mayoría de las características disponibles en iOS también están disponibles en visionOS, entre ellas:
- # Compatibilidad con visionOS {#visionos-support}
- ## Características totalmente compatibles {#fully-supported-features}
- ## Características parcialmente compatibles {#partially-supported-features}
- ## Características no compatibles {#unsupported-features}
- [Guía de actualización del SDK de iOS 14](/docs/es/developer_guide/platforms/swift/_archived_updates/ios_14/index.md): A partir de iOS 14.5, la recopilación de IDFA y el intercambio de ciertos datos requerirán la nueva solicitud de permiso del framework AppTrackingTransparency (Más información sobre IDFA).
- # Guía de actualización del SDK de iOS 14 {#ios-14-sdk-upgrade-guide}
- ## Resumen de los cambios de última hora de iOS 14 {#summary-of-ios-14-breaking-changes}
- ## Resumen de la actualización {#upgrade-summary}
- ## Cambios de comportamiento en iOS 14 {#ios-14-behavior-changes}
- ### Permiso de ubicación aproximada {#approximate-location-permission}
- #### Resumen {#overview}
- #### Geovallas {#geofences}
- #### Segmentación por ubicación {#location-tracking}
- ### IDFA y transparencia en el seguimiento de las aplicaciones {#idfa}
- #### Resumen
- #### Cambios en la recopilación de IDFA de Braze {#changes-to-braze-idfa-collection}
- ### Autorización push {#push-provisional-auth}
- ## Nuevas características de iOS 14 {#ios-14-new-features}
- ### Resumen de la privacidad de la aplicación y la recopilación de datos {#app-privacy}
- #### Cuestionario del portal para desarrolladores de Apple {#apple-developer-portal-questionnaire}
- #### Recopilación de datos predeterminada de Braze {#braze-default-data-collection}
- #### Recopilación de datos opcional {#optional-data-collection}
- [Guía de actualización al SDK de iOS 15](/docs/es/developer_guide/platforms/swift/_archived_updates/ios_15/index.md): Como parte de nuestras pruebas anuales de las betas de iOS, hemos identificado un cambio realizado por Apple que hace que determinadas barras de navegación de la interfaz de usuario aparezcan transparentes en lugar de opacas. Esto será visible en iOS 15 cuando utilices la interfaz de usuario predeterminada de Braze para Content Cards, o cuando los vínculos profundos web se abran dentro de tu aplicación en lugar de en una aplicación de navegador independiente.
- # Guía de actualización del SDK de iOS 15 {#ios-15-sdk-upgrade-guide}
- ## Cambios de transparencia en las navegaciones de la IU {#transparency-changes-to-ui-navigations}
- ## Nueva configuración de notificaciones {#notification-settings}
- ### Modos de enfoque {#focus-mode}
- ### Niveles de interrupción {#interruption-levels}
- ### Resumen de notificaciones {#notification-summary}
- ## Botones de ubicación {#location-buttons}
- ### Utilizar botones de ubicación con Braze {#using-location-buttons-with-braze}
- ## Apple Mail {#mail}
- ## Ubicación de la dirección IP en Safari {#safari-ip-address-location}
- [Guía de actualización a iOS 16](/docs/es/developer_guide/platforms/swift/_archived_updates/ios_16/index.md): Apple ha anunciado dos cambios en su funcionalidad de notificación push web.
- # Guía de actualización del SDK de iOS 16 {#ios-16-sdk-upgrade-guide}
- ## Cambios en iOS 16 {#changes-in-ios-16}
- ### Notificación push web de Safari {#safari-web-push}
- #### Notificación push web de escritorio (MacOS) {#macos-push}
- #### Notificación push web móvil (iOS y iPadOS) {#ios-push}
- ## Preparación para iOS 16 {#next-steps}
- [Guía de actualización a iOS 17](/docs/es/developer_guide/platforms/swift/_archived_updates/ios_17/index.md): Tanto el SDK Swift como el SDK Objective-C de Braze son retrocompatibles con Xcode 14 y Xcode 15, y compatibles con dispositivos iOS 17.
- # Guía de actualización a iOS 17 {#ios-17-upgrade-guide}
- ## Compatibilidad con iOS 17 y Xcode 15 {#ios-17-and-xcode-15-compatibility}
- ## Cambios en iOS 17 {#changes-in-ios-17}
- ### Seguimiento de enlaces y eliminación de parámetros UTM {#link-tracking-and-utm-parameter-stripping}
- ### Transparencia del seguimiento de la aplicación {#app-tracking-transparency}
- #### Manifiestos de privacidad {#privacy-manifests}
- #### Firma de código {#code-signing}
- ### SDK de Braze y privacidad {#braze-sdk-and-privacy}
- [Integración de extensiones de navegador para Web](/docs/es/developer_guide/platforms/web/browser_extensions/index.md): Integra el SDK Web de Braze en la extensión de tu navegador para recopilar análisis y mostrar mensajes enriquecidos a los usuarios. Esto incluye tanto las extensiones de Google Chrome como los complementos de Firefox.
- # Extensión del navegador {#browser-extension}
- ## Qué se admite {#whats-supported}
- ## Lo que no se admite {#whats-not-supported}
- ## Tipos de extensión {#extension-types}
- ## Permisos {#permissions}
- ## Cómo empezar {#getting-started}
- ### Ventanas emergentes de extensión {#popup}
- ### Script de fondo (solo Manifest v2) {#background-script}
- ### Página de opciones {#options-page}
- ## Inicialización {#initialization}
- ## Push {#push}
- [Cabeceras de política de seguridad de contenidos para Web](/docs/es/developer_guide/platforms/web/content_security_policy/index.md): Este artículo está dirigido a los desarrolladores que trabajan en sitios web que aplican reglas CSP y se integran con Braze. No pretende ser un consejo sobre cómo debes enfocar la seguridad.
- # Cabeceras de la política de seguridad de contenidos {#content-security-policy-headers}
- ## Atributos nonce {#nonce}
- ## Directivas {#directives}
- ### connect-src {#connect-src}
- ### script-src {#script-src}
- ### img-src {#img-src}
- ## Font Awesome {#font-awesome}
- [Accesibilidad](/docs/es/developer_guide/platforms/web/accessibility/index.md): Braze Web SDK es compatible con los estándares establecidos por las Pautas de Accesibilidad al Contenido en la Web (WCAG 2.1). Mantenemos una puntuación de 100/100 en Lighthouse para las tarjetas de contenido y los mensajes dentro de la aplicación en todas nuestras nuevas versiones, con el fin de mantener nuestro estándar de accesibilidad.
- # Accesibilidad {#accessibility}
- ## Requisitos previos {#prerequisites}
- ### Correcciones notables en materia de accesibilidad {#notable-accessibility-fixes}
- ## Características de accesibilidad compatibles {#supported-accessibility-features}
- ## Directrices de accesibilidad para integraciones de SDK {#accessibility-guidelines-for-sdk-integrations}
- ### Content Cards
- #### Establecer una altura máxima {#setting-a-maximum-height}
- #### Consideraciones sobre la ventana gráfica {#viewport-considerations}
- ### Mensajes dentro de la aplicación {#in-app-messages}
- ### Consideraciones sobre los dispositivos móviles {#mobile-considerations}
- #### Diseño adaptable {#responsive-design}
- ### Pruebas de accesibilidad {#testing-accessibility}
- #### Lista de verificación de pruebas manuales {#manual-test-checklist}
- ### Problemas comunes de accesibilidad {#common-accessibility-issues}
- [Compatibilidad con Smart TV para el SDK Web de Braze](/docs/es/developer_guide/platforms/web/smart_tvs/index.md): Para una referencia técnica completa, consulta nuestra documentación de JavaScript o nuestras aplicaciones de ejemplo para ver el SDK Web funcionando en un televisor.
- # Compatibilidad con Smart TV {#smart-tv-support}
- ## Prerequisites
- ## Configuración del SDK Web de Braze {#configuring-the-web-braze-sdk}
- ## Análisis {#analytics}
- ## Mensajes dentro de la aplicación y Content Cards {#in-app-messages-and-content-cards}
- [Integraciones de TV y OTT para Braze](/docs/es/developer_guide/platforms/tv_and_ott/index.md): A continuación se enumeran las características y los canales de mensajería admitidos actualmente.
- # Integraciones TV y OTT {#tv-and-ott-integrations}
- ## Plataformas y características {#platforms-and-features}
- ## Guías de integración {#integration-guides}
- ### Amazon Fire TV {#fire-tv}
- ### Kindle Fire {#kindle-fire}
- ### Android TV {#android-tv}
- ### LG webOS {#lg-webos}
- ### Samsung Tizen {#tizen}
- ### Roku {#roku}
- ### Apple TV OS {#tvos}
- ### Apple Vision Pro {#vision-pro}
- ## Segmentación por aplicaciones {#app-targeting}
- ## Headless UI {#custom-ui}
- [Resumen de integración para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/overview/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- [Integración de Carthage para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/installation_methods/carthage_integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración de Carthage {#carthage-integration}
- ## Importa el SDK {#import-the-sdk}
- ### Versiones anteriores {#previous-versions}
- ## Próximos pasos {#next-steps}
- ## Integración solo del núcleo {#core-only-integration}
- [Integración de CocoaPods para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/installation_methods/cocoapods/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración de CocoaPods {#cocoapods-integration}
- ## Paso 1: Instalar CocoaPods {#step-1-install-cocoapods}
- ## Paso 2: Construir el Podfile {#step-2-constructing-the-podfile}
- ### Subspecs {#subspecs}
- ## Paso 3: Instalación del SDK de Braze {#step-3-installing-the-braze-sdk}
- ## Próximos pasos {#next-steps}
- ## Actualizar el SDK de Braze mediante CocoaPods {#updating-the-braze-sdk-via-cocoapods}
- [Integración de Swift Package Manager para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/installation_methods/swift_package_manager/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración con Swift Package Manager {#swift-package-manager-integration}
- ## Paso 1: Añadir la dependencia a tu proyecto {#step-1-adding-the-dependency-to-your-project}
- ### Importar versión del SDK {#import-sdk-version}
- ### Seleccionar paquetes {#select-packages}
- ## Paso 2: Configurar tu proyecto {#step-2-configuring-your-project}
- ## Paso 3: Editar el esquema del objetivo {#step-3-editing-the-targets-scheme}
- ## Próximos pasos {#next-steps}
- [Opciones de integración manual para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/installation_methods/manual_integration_options/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración manual {#manual-integration}
- ## Paso 1: Descarga del SDK de Braze {#step-1-downloading-the-braze-sdk}
- ### Opción 1: XCFramework dinámico {#option-1-dynamic-xcframework}
- ### Opción 2: XCFramework estático para integración estática {#option-2-static-xcframework-for-static-integration}
- ## Paso 2: Añadir bibliotecas iOS necesarias {#step-2-adding-required-ios-libraries}
- ### Integración de SDWebImage {#sdwebimage-integration}
- ### Seguimiento de ubicación opcional {#optional-location-tracking}
- ## Paso 3: Cabecera de puente Objective-C {#step-3-objective-c-bridging-header}
- ## Próximos pasos {#next-steps}
- [Completa la integración del SDK de iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/completing_integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Completa la integración {#complete-the-integration}
- ## Paso 1: Actualiza el delegado de tu aplicación {#step-1-update-your-app-delegate}
- ## Paso 2: Especifica tu clúster de datos {#step-2-specify-your-data-cluster}
- ### Configuración del punto de conexión en tiempo de compilación (recomendado) {#compile-time-endpoint-configuration-recommended}
- ### Configuración del punto de conexión en tiempo de ejecución {#runtime-endpoint-configuration}
- ## Integración del SDK completa {#sdk-integration-complete}
- ## Personalizar Braze al iniciarse {#customizing-braze-on-startup}
- ## Appboy.sharedInstance() y anulabilidad en Swift {#appboysharedinstance-and-swift-nullability}
- ## Recursos adicionales {#additional-resources}
- [Otras personalizaciones del SDK para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/other_sdk_customizations/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Otras personalizaciones del SDK {#other-sdk-customizations}
- ## Nivel de registro de Braze {#braze-log-level}
- ### Niveles de registro {#log-levels}
- ### Registro detallado {#verbose-logging}
- ### Configuración del nivel de registro {#setting-log-level}
- ## Recopilación opcional de IDFV - Swift {#optional-idfv-collection-swift}
- ## Recopilación opcional de IDFA {#optional-idfa-collection}
- ### iOS 14.5 AppTrackingTransparency
- ### Implementar la recopilación de IDFA {#implementing-idfa-collection}
- #### Paso 1: Implementar ABKIDFADelegate {#step-1-implement-abkidfadelegate}
- ##### Paso 2: Configura el delegado durante la inicialización de Braze {#step-2-set-the-delegate-during-braze-initialization}
- ## Tamaño aproximado del SDK de iOS {#ios-sdk-size}
- [Guía de integración de Braze SDK para iOS (opcional)](/docs/es/developer_guide/platforms/legacy_sdks/ios/initial_sdk_setup/ios_sdk_integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Guía de integración del SDK de Braze para iOS {#braze-ios-sdk-integration-guide}
- ## Resumen de la integración {#integration-overview}
- ### Crear BrazeManager.swift {#create-brazemanagerswift}
- #### Crear BrazeManager.swift
- ### Inicializar el SDK {#initialize-the-sdk}
- #### Inicializar el SDK desde BrazeManager.swift {#initialize-sdk-from-brazemanagerswift}
- ##### Gestionar la inicialización de Appboy en AppDelegate.swift {#handle-appboy-initialization-in-the-appdelegateswift}
- ### Notificaciones push {#push-notifications}
- #### Añadir certificado push {#add-push-certificate}
- ##### Registrarse para notificaciones push {#register-for-push-notifications}
- ##### Reenviar métodos de notificación push {#forward-push-notification-methods}
- ###### Paso 1: Crear extensión para código de notificación push {#step-1-create-extension-for-push-notification-code}
- ###### Paso 2: Soporte para notificaciones remotas {#step-2-support-remote-notifications}
- ###### Paso 3: Gestión de notificaciones remotas {#step-3-remote-notification-handling}
- ###### Paso 4: Reenviar respuestas de notificación {#step-4-forward-notification-responses}
- ### Acceder a variables y métodos de usuario {#access-user-variables-and-methods}
- #### Crear variables y métodos de usuario {#create-user-variables-and-methods}
- ### Registrar análisis {#log-analytics}
- #### Crear método para registrar eventos personalizados {#create-log-custom-event-method}
- ##### Crear método para registrar atributos personalizados {#create-log-custom-attributes-method}
- ##### Crear método para registrar compras {#create-log-purchase-method}
- ### Mensajes dentro de la aplicación {#in-app-messages}
- #### Ajustarse a ABKInAppMessageUIDelegate {#conform-to-abkinappmessageuidelegate}
- ##### Añadir métodos delegados {#add-delegate-methods}
- ### Content Cards {#content-cards}
- #### Crear variables y métodos de Content Cards {#create-content-card-variables-and-methods}
- ## Próximos pasos {#next-steps}
- [Integración push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración push {#push-integration}
- ## Paso 1: Sube tu token de APNs {#step-1-upload-your-apns-token}
- ## Paso 2: Habilitar las capacidades push {#step-2-enable-push-capabilities}
- ## Paso 3: Registro para notificaciones push {#step-3-register-for-push-notifications}
- ### Utilizar el framework UserNotification (iOS 10+) {#using-usernotification-framework-ios-10}
- ### Sin framework UserNotifications {#without-usernotifications-framework}
- ## Paso 4: Registrar tokens de notificaciones push con Braze {#step-4-register-push-tokens-with-braze}
- ## Paso 5: Habilitar la gestión push {#step-5-enable-push-handling}
- ### iOS 10+
- ### Antes de iOS 10 {#pre-ios-10}
- ## Paso 6: Vínculos profundos {#step-6-deep-linking}
- ## Paso 7: Pruebas unitarias (opcional) {#step-7-unit-tests-optional}
- [Personalización de push en iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/index.md):
- [Botones de acción push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/action_buttons/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Botones de acción {#push-action-buttons-integration}
- ## Paso 1: Añadir categorías push predeterminadas de Braze {#step-1-adding-braze-default-push-categories}
- ## Paso 2: Habilitar la gestión interactiva de push {#step-2-enable-interactive-push-handling}
- ## Personalización de la categoría push {#push-category-customization}
- [Sonidos de notificación push personalizados para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/custom_sounds/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Sonidos personalizados {#custom-sounds}
- ## Paso 1: Alojar el sonido en la aplicación {#step-1-hosting-the-sound-in-the-app}
- ## Paso 2: Proporcionar al dashboard una URL de protocolo para el sonido {#step-2-providing-the-dashboard-with-a-protocol-url-for-the-sound}
- [Notificaciones push enriquecidas para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/rich_notifications/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Notificaciones enriquecidas de iOS 10
- ## Crear una extensión de servicio
- ## Configuración de la extensión del servicio
- ### Configurar la extensión de servicio para que funcione con Braze
- ### Ejemplo de código
- ## Crear una notificación enriquecida en tu panel de control
- [Recuento de señales de notificaciones push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/badges/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Señales
- [Ignorar las notificaciones push internas de Braze para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/ignoring_internal_push/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Ignorar las notificaciones push internas de Braze
- ## Comprobar las acciones automáticas de tu aplicación
- ## Utilizar los métodos internos de la utilidad push de Braze
- ## Ejemplo de aplicación {#internal-push-implementation-example}
- [Configuración push avanzada](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/customization/advanced_settings/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Configuración avanzada {#advanced-settings}
- ## Extraer datos de pares clave-valor push {#extracting-data-from-push-key-value-pairs}
- ## Opciones de alerta {#alert-options}
- ## Añadir la flag de contenido disponible {#adding-content-available-flag}
- ## Añadir la flag de contenido mutable {#adding-mutable-content-flag}
- ## Actualizar recuento de señales de la aplicación {#update-app-badge-count}
- ## Sonidos {#sounds}
- ## ID de colapso {#collapse-id}
- ## Caducidad {#expiry}
- [Notificaciones push silenciosas para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/silent_push_notifications/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Notificaciones push silenciosas {#silent-push-notifications}
- ## Enviar notificaciones push silenciosas {#sending-silent-push-notifications}
- ## Utiliza notificaciones push silenciosas para desencadenar el trabajo en segundo plano {#use-silent-push-notifications-to-trigger-background-work}
- ## Limitaciones de las notificaciones silenciosas de iOS {#ios-silent-notifications-limitations}
- [Push primer para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/push_primer/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración de push primer {#push-primer-integration}
- ## Paso 1: Añade un fragmento de código en el archivo AppDelegate.m {#step-1-add-snippet-in-appdelegatem-file}
- ## Paso 2: Añade un verificador de eventos personalizados al archivo AppDelegate.m {#step-2-append-custom-event-checker-to-appdelegatem-file}
- ## Paso 3: Configura un controlador de vínculos profundos {#step-3-set-up-a-deep-link-handler}
- [Push Stories para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/push_story/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Configuración de Push Stories {#push-story-setup}
- ## Paso 1: Habilitar push en tu aplicación {#step-1-enable-push-in-your-app}
- ## Paso 2: Añadir el objetivo de la extensión de contenido de notificación {#step-2-adding-the-notification-content-extension-target}
- ## Paso 3: Habilitar capacidades {#step-3-enable-capabilities}
- ### Añadir un grupo de aplicaciones {#adding-an-app-group}
- ## Paso 4: Añadir el framework de Push Stories a tu aplicación {#step-4-adding-the-push-story-framework-to-your-app}
- ## Paso 5: Actualizar tu controlador de vista de notificación {#step-5-updating-your-notification-view-controller}
- ## Paso 6: Configurar el storyboard de la extensión de contenido de notificación {#step-6-set-the-notification-content-extension-storyboard}
- ## Paso 7: Configurar el plist de la extensión de contenido de notificación {#step-7-set-the-notification-content-extension-plist}
- ## Paso 8: Actualizar la integración de Braze en tu aplicación principal {#step-8-updating-the-braze-integration-in-your-main-app}
- ### Opción 1: Tiempo de ejecución {#option-1-runtime}
- #### Opción 2: Info.plist {#option-2-infoplist}
- ## Próximos pasos {#next-steps}
- [Implementación avanzada de notificaciones push para iOS (opcional)](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/implementation_guide/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Guía de implementación de notificaciones push {#push-notification-implementation-guide}
- ## Extensiones de la aplicación de contenido de notificación {#notification-content-app-extensions}
- ### Requisitos {#requirements}
- ### Configuración personalizada de categorías {#custom-category-configuration}
- ## Recorrido de casos de uso e implementación {#use-case-and-implementation-walkthrough}
- ### Notificación push interactiva {#interactive-push-notification}
- #### Configuración del dashboard {#dashboard-configuration}
- #### Otros casos de uso {#other-use-cases}
- ##### ¿Listo para el registro de análisis? {#ready-to-log-analytics}
- ### Notificaciones push personalizadas {#personalized-push-notifications}
- #### Configuración del dashboard
- #### Manejo de pares clave-valor {#handling-key-value-pairs}
- #### Otros casos de uso
- ##### ¿Listo para el registro de análisis?
- ### Captura de información en notificaciones push {#information-capture-push-notification}
- #### Configuración del dashboard
- #### Manejar las acciones de los botones {#handling-button-actions}
- ##### Descartar las notificaciones push {#dismissing-pushes}
- #### Otros casos de uso
- ##### ¿Listo para el registro de análisis?
- ## Registro de análisis {#logging-analytics}
- ### Registro con la API de Braze (recomendado) {#logging-with-the-braze-api-recommended}
- ### Registrar manualmente {#logging-manually}
- #### Paso 1: Configurar grupos de aplicaciones en Xcode {#step-1-configure-app-groups-within-xcode}
- #### Paso 2: Integrar fragmentos de código {#step-2-integrate-code-snippets}
- ##### Guardar eventos personalizados {#saving-custom-events}
- ##### Envío de eventos personalizados a Braze {#sending-custom-events-to-braze}
- ##### Guardar atributos personalizados {#saving-custom-attributes}
- ##### Envío de atributos personalizados a Braze {#sending-custom-attributes-to-braze}
- ##### Guardar atributos de usuario {#saving-user-attributes}
- ##### Envío de atributos de usuario a Braze {#sending-user-attributes-to-braze}
- ##### Archivos de ayuda {#helper-files}
- [Pruebas de notificación push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/testing/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Prueba {#push-testing}
- [Pruebas unitarias de notificación push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/unit_tests/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Pruebas unitarias {#unit-tests}
- ## Paso 1: Crear un objetivo de pruebas unitarias {#step-1-creating-a-unit-tests-target}
- ## Paso 2: Añade el SDK de Braze a tus pruebas unitarias {#step-2-add-the-braze-sdk-to-your-unit-tests}
- ## Paso 3: Añade OCMock a tus pruebas unitarias {#step-3-add-ocmock-to-your-unit-tests}
- ## Paso 4: Termina de instalar las bibliotecas añadidas {#step-4-finish-installing-the-added-libraries}
- ## Paso 5: Añadir pruebas push {#step-5-adding-push-tests}
- ## Paso 6: Ejecuta el conjunto de pruebas {#step-6-run-test-suite}
- [Solución de problemas de notificaciones push para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/push_notifications/troubleshooting/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Solución de problemas {#push-troubleshooting}
- ## Comprender el flujo de trabajo Braze/APNs {#understanding-the-brazeapns-workflow}
- ### Paso 1: Configurar el certificado push y el perfil de aprovisionamiento {#step-1-configuring-the-push-certificate-and-provisioning-profile}
- #### Paso 2: Los dispositivos se registran en APN y proporcionan a Braze tokens de notificaciones push {#step-2-devices-register-for-apns-and-provide-braze-with-push-tokens}
- #### Paso 3: Lanzamiento de una Campaign push de Braze {#step-3-launching-a-braze-push-campaign}
- #### Paso 4: Eliminar tokens no válidos {#step-4-removing-invalid-tokens}
- ## Utilizar los registros de errores push {#utilizing-the-push-error-logs}
- ## Problemas de registro push {#push-registration-issues}
- ### No hay aviso de registro push {#no-push-registration-prompt}
- #### No se muestran los usuarios "push registrados" en el panel {#no-push-registered-users-showing-in-the-dashboard}
- ## Dispositivos que no reciben notificaciones push {#devices-not-receiving-push-notifications}
- ### Los usuarios ya no están "push registrados" tras enviar una notificación push {#users-no-longer-push-registered-after-sending-a-push-notification}
- #### Desajuste entre el panel y el certificado de la aplicación {#dashboard-and-app-certificate-mismatch}
- ##### Desinstalaciones {#uninstalls}
- ##### Regenerar tu perfil de aprovisionamiento {#regenerating-your-provisioning-profile}
- #### Los usuarios siguen "push registrados" tras enviar una notificación push {#users-still-push-registered-after-sending-a-push-notification}
- ##### La aplicación está en primer plano {#app-is-foregrounded}
- ##### Notificación de prueba programada incorrectamente {#test-notification-scheduled-incorrectly}
- #### Usuario no "push registrado" para la aplicación que se está probando {#user-not-push-registered-for-the-app-being-tested}
- ## No se envían mensajes push {#push-messages-not-sending}
- ## Errores del registro de actividad de mensajes {#message-activity-log-errors}
- ### Se recibió envío no registrado a token de notificaciones push {#received-unregistered-sending}
- #### Token de dispositivo no para el tema {#device-token-not-for-topic}
- #### BadDeviceToken enviando a token de notificaciones push {#baddevicetoken-sending-to-push-token}
- ## Problemas tras la entrega push {#issues-after-push-delivery}
- ### Los clics push no se registran {#push-clicks-not-logged}
- #### Los enlaces web de los clics push no se abren {#web-links-from-push-clicks-not-opening}
- #### Los vínculos profundos de los clics push no se abren {#deep-links-from-push-clicks-not-opening}
- #### Pocas o ninguna apertura directa {#few-or-no-direct-opens}
- [Resumen de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/overview/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Mensajes dentro de la aplicación {#in-app-messages}
- ## Tipos de mensajes dentro de la aplicación {#in-app-message-types}
- ### Comportamientos esperados por tipos de mensajes {#expected-behaviors-by-message-types}
- [Personalización de mensajes dentro de la aplicación iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/index.md):
- [Configurar delegados de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/setting_delegates/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Establecer delegados {#set-delegates}
- ## Delegado de mensajes dentro de la aplicación {#in-app-message-delegate}
- ## Delegado central de mensajes dentro de la aplicación {#core-in-app-message-delegate}
- ## Declaraciones de métodos {#method-declarations}
- ## Muestras de implementación {#implementation-samples}
- [Personalizar la orientación de los mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/customizing_orientation/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Personalizar la orientación {#customize-orientation}
- ## Configurar la orientación de todos los mensajes dentro de la aplicación {#setting-orientation-for-all-in-app-messages}
- ## Configurar la orientación por mensaje dentro de la aplicación {#setting-orientation-per-in-app-message}
- ## Declaraciones de métodos {#method-declarations}
- [Personalizar la gestión de la visualización de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/handling_in_app_display/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Manejo personalizado de la visualización de mensajes dentro de la aplicación {#custom-handling-in-app-message-display}
- ## Anulación de mensajes dentro de la aplicación antes de la visualización {#overriding-in-app-messages-before-display}
- ## Desactivar el modo oscuro {#disabling-dark-mode}
- ## Ocultar la barra de estado durante la visualización {#hiding-the-status-bar-during-display}
- ## Registro de impresiones y clics {#logging-impressions-and-clicks}
- ## Declaraciones de métodos {#method-declarations}
- ## Muestras de implementación {#implementation-samples}
- [Personalizar el comportamiento al hacer clic en los mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/behavior_on_click/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Personalizar el comportamiento de los mensajes dentro de la aplicación al hacer clic {#customize-in-app-message-behavior-on-click}
- ## Personalizar los clics del cuerpo de los mensajes dentro de la aplicación {#customizing-in-app-message-body-clicks}
- ## Personalizar los clics de los botones de mensajes dentro de la aplicación {#customizing-in-app-message-button-clicks}
- ## Declaraciones de métodos {#method-declarations}
- [Personalizar la activación de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/custom_triggering/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Desencadenado personalizado de mensajes dentro de la aplicación {#custom-in-app-message-triggering}
- ## Paso 1: Manejar el push silencioso y los pares clave-valor {#step-1-handle-silent-push-and-key-value-pairs}
- ## Paso 2: Crear una Campaign push {#step-2-create-a-push-campaign}
- ## Paso 3: Crear una Campaign de mensajes dentro de la aplicación {#step-3-create-an-in-app-message-campaign}
- [Mensaje dentro de la aplicación en un controlador de vista personalizado para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/custom_view_controller/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Mostrar mensajes dentro de la aplicación en un controlador de vista personalizado
- ## Declaraciones de métodos
- ## Muestras de aplicación
- [Descarte modal de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/modal_dismissal/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Descartar modal por toque externo {#dismiss-modal-on-outside-tap}
- [Pares clave-valor de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/customization/key_value_pairs/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Extras del par clave-valor
- [Entrega de mensajes dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/in-app_message_delivery/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Entrega de mensajes dentro de la aplicación {#in-app-message-delivery}
- ## Tipos de desencadenantes {#trigger-types}
- ## Semántica de la entrega {#delivery-semantics}
- ## Intervalo de tiempo mínimo entre desencadenamientos {#minimum-time-interval-between-triggers}
- ## No se encuentra un desencadenante adecuado {#failing-to-find-a-matching-trigger}
- ## Entrega local de mensajes dentro de la aplicación {#local-in-app-message-delivery}
- ### La pila de mensajes dentro de la aplicación {#the-in-app-message-stack}
- #### Mostrar mensajes dentro de la aplicación {#showing-in-app-messages}
- #### Añadir mensajes dentro de la aplicación a la pila {#adding-in-app-messages-to-the-stack}
- #### Devolver mensajes dentro de la aplicación a la pila {#returning-in-app-messages-to-the-stack}
- #### Descartar mensajes dentro de la aplicación {#discarding-in-app-messages}
- #### Poner en cola manualmente la visualización de mensajes dentro de la aplicación {#manually-queue-in-app-message-display}
- ### Creación y visualización de mensajes dentro de la aplicación en tiempo real {#real-time-in-app-message-creation-and-display}
- [Aviso personalizado de revisión de la App Store](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/custom_app_store_review_prompt/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Aviso personalizado de revisión de la App Store {#custom-app-store-review-prompt}
- [Guía de implementación de mensajes dentro de la aplicación para iOS (opcional)](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/implementation_guide/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Guía de implementación de mensajería dentro de la aplicación {#in-app-messaging-implementation-guide}
- ## Consideraciones sobre códigos {#code-considerations}
- ### Subclases de ABKInAppMessage {#abkinappmessage-subclasses}
- ## Casos de uso {#sample-use-cases}
- ### Mensaje personalizado deslizable dentro de la aplicación {#custom-slide-up-in-app-message}
- #### Añadir un comportamiento adicional a nuestra interfaz predeterminada
{#adding-additional-behavior-to-our-default-ui}
- ### Mensaje modal personalizado dentro de la aplicación {#custom-modal-in-app-message}
- #### Configuración del dashboard {#dashboard-configuration}
- ### Mensaje completo personalizado dentro de la aplicación {#custom-full-in-app-message}
- #### Configuración del dashboard
- #### Interceptar toques de mensajes dentro de la aplicación {#intercepting-in-app-message-touches}
- [Guía de implementación de mensajes dentro de la aplicación SharePlay](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/implementation_guide/shareplay/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Guía de implementación de mensajes dentro de la aplicación SharePlay {#shareplay-in-app-message-implementation-guide}
- ## Resumen {#overview}
- ## Integración {#integration}
- ### Paso 1: Sustitución y carga de XIB {#step-1-overriding-and-loading-xib}
- ### Paso 2: Configurar AVPlayer para mensajes dentro de la aplicación {#step-2-configure-avplayer-for-in-app-messages}
- #### Configuración del dashboard {#dashboard-configuration}
- ### Paso 3: Crear actividad de visualización en grupo {#step-3-create-group-watching-activity}
- #### Prepararse para reproducir {#prepare-to-play}
- ### Paso 4: Lanzar mensaje dentro de la aplicación desde la API de SharePlay {#step-4-launch-in-app-message-from-shareplay-api}
- ### Paso 5: Abandonar una sesión de grupo al descartar el mensaje dentro de la aplicación {#step-5-leaving-a-group-session-on-in-app-message-dismissal}
- ### Configurar la visibilidad del botón SharePlay {#configure-shareplay-button-visibility}
- [Solución de problemas de mensajería dentro de la aplicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/in-app_messaging/troubleshooting/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Solución de problemas con los mensajes dentro de la aplicación {#troubleshoot-in-app-messages}
- ## Impresiones {#impressions}
- ### Los análisis de impresiones o clics no se están registrando {#impression-or-click-analytics-arent-being-logged}
- #### Las impresiones son inferiores a lo esperado {#impressions-are-lower-than-expected}
- ## No se ha mostrado el mensaje dentro de la aplicación esperado {#expected-in-app-message-did-not-display}
- ### Entrega de mensajes dentro de la aplicación {#troubleshooting-in-app-message-delivery}
- #### Comprueba si se solicitan y devuelven mensajes {#check-if-messages-are-requested-and-returned}
- #### Solución de problemas de mensajes no solicitados {#troubleshoot-messages-not-being-requested}
- ### Solución de problemas de mensajes no devueltos {#troubleshoot-messages-not-being-returned}
- ### Visualización de mensajes dentro de la aplicación {#troubleshooting-in-app-message-display}
- [Integración del controlador de vista de Content Cards para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración de Content Cards {#content-card-integration}
- ## Modelo de datos de Content Cards {#content-cards-data-model}
- ### Obtener los datos {#getting-the-data}
- ## Modelo de Content Cards {#content-card-model}
- ### Propiedades del modelo base de Content Cards - ABKContentCard {#base-content-card-model-properties-abkcontentcard}
- ### Propiedades de la tarjeta de contenido de banner - ABKBannerContentCard {#banner-content-card-properties-abkbannercontentcard}
- ### Propiedades de la tarjeta de contenido de imagen con subtítulo - ABKCaptionedImageCard {#captioned-image-content-card-properties-abkcaptionedimagecard}
- ### Propiedades de la tarjeta de contenido clásica - ABKClassicContentCard {#classic-content-card-properties-abkclassiccontentcard}
- ## Métodos de tarjeta {#card-methods}
- ## Integración del controlador de vista de Content Cards {#content-cards-view-controller-integration}
- ### Contexto de navegación {#navigation-context}
- ### Contexto modal {#modal-context}
- [Personalización de tarjetas de contenido iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/index.md):
- [Estilo personalizado de tarjeta de contenido para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/custom_styling/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Estilo personalizado
- ## Sustitución de imágenes predeterminadas
- ## Desactivar el modo oscuro
- [Personalizar la fuente de Content Cards para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/customizing_feed/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Personalizar la fuente de Content Cards {#customize-the-content-cards-feed}
- ## Personalización de la interfaz de usuario {#customizing-ui}
- ### Interfaz de usuario dinámica {#dynamic-ui}
- ### Interfaz de usuario estática {#static-ui}
- ## Proporcionar interfaces personalizadas {#providing-custom-interfaces}
- ## Sobrescribir Content Cards pobladas {#overriding-populated-content-cards}
- [Gestionar manualmente los clics en tarjetas de contenido para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/handling_clicks_manually/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Gestionar los clics manualmente
- [Indicadores de tarjetas de contenido leídas y no leídas para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/read_unread_indicators/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Indicadores de leído y no leído
- ## Desactivar el indicador de no visto
- ## Personalizar el indicador de no visto
- [Señales de tarjetas de contenido para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/badges/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Señales
- ## Solicitar recuentos de tarjetas de contenido no leídas
- ## Mostrar el número de tarjetas de contenido no vistas en el recuento de señales de la aplicación
- [Vista de carrusel de Content Cards para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/customization/use_cases/carousel_view/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Caso de uso: vista de carrusel {#use-case-carousel-view}
- ## Implementación {#implementation}
- ### Paso 1: Crear un controlador de vista personalizado {#step-1-create-a-custom-view-controller}
- ### Paso 2: Implementar análisis {#step-2-implement-analytics}
- ### Paso 3: Crear un observador de Content Cards {#step-3-create-a-content-card-observer}
- ## Consideraciones {#considerations}
- [Actualizar la fuente de tarjetas de contenido para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/refreshing_the_feed/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Actualizar la fuente
- ## Actualizar tarjetas de contenido
- [Usa varias fuentes de tarjetas de contenido para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/multiple_feeds/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Utilizar varias fuentes de tarjetas de contenido
- ## Paso 1: Configuración de los pares clave-valor en las tarjetas
- ## Paso 2: Configurar una escucha de tarjeta de contenido
- [Guía de implementación de Content Cards para iOS (Opcional)](/docs/es/developer_guide/platforms/legacy_sdks/ios/content_cards/implementation_guide/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Guía de implementación de Content Cards {#content-card-implementation-guide}
- ## Consideraciones sobre códigos {#code-considerations}
- ### Content Cards como objetos personalizados {#content-cards-as-custom-objects}
- ## Casos de uso {#use-cases}
- ### Content Cards como contenido complementario {#content-cards-as-supplemental-content}
- #### Configuración del dashboard {#dashboard-configuration}
- ##### ¿Listo para registrar análisis? {#ready-to-log-analytics}
- ### Content Cards en un centro de mensajes {#content-cards-in-a-message-center}
- #### Configuración del dashboard
- #### Más explicaciones {#further-explanation}
- ##### ¿Listo para registrar análisis?
- ### Content Cards interactivas {#interactive-content-cards}
- #### Configuración del dashboard
- ##### ¿Listo para registrar análisis?
- ## Personalización del modo oscuro {#dark-mode-customization}
- ## Registro de impresiones, clics y descartes {#logging-impressions-clicks-and-dismissals}
- ### Componentes de implementación
{#implementation-components}
- ## Archivos de ayuda {#helper-files}
- [Sesión de seguimiento para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/tracking_sessions/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Seguimiento de sesión para iOS
- ## Ciclo de vida de la sesión
- ## Personalizar el tiempo de espera de la sesión
- ## Probar el seguimiento de la sesión
- [Configurar ID de usuario para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/setting_user_ids/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Establecer ID de usuario para iOS
- ## Convención de nomenclatura de ID de usuario sugerida
- ## Asignar un ID de usuario
- ## Prácticas recomendadas y notas sobre la integración del ID de usuario
- ### Automatic preservation of anonymous user history
- ### Additional notes and best practices
- ## Asignación de alias de usuarios
- [Seguimiento de eventos personalizados para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/tracking_custom_events/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Seguimiento de eventos personalizados para iOS {#track-custom-events-for-ios}
- ## Añadir un evento personalizado {#adding-a-custom-event}
- ### Añadir propiedades {#adding-properties}
- ### Claves reservadas {#event-reserved-keys}
- ## Recursos adicionales {#additional-resources}
- [Establecer atributos personalizados para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/setting_custom_attributes/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Establecer atributos personalizados para iOS {#set-custom-attributes-for-ios}
- ## Asignar atributos predeterminados al usuario {#assigning-default-user-attributes}
- ## Asignar atributos personalizados al usuario {#assigning-custom-user-attributes}
- ### Atributo personalizado con un valor de cadena {#custom-attribute-with-a-string-value}
- ### Atributo personalizado con un valor entero {#custom-attribute-with-an-integer-value}
- ### Atributo personalizado con valor doble {#custom-attribute-with-a-double-value}
- ### Atributo personalizado con valor booleano {#custom-attribute-with-a-boolean-value}
- ### Atributo personalizado con un valor de fecha {#custom-attribute-with-a-date-value}
- ### Atributo personalizado con un valor de matriz {#custom-attribute-with-an-array-value}
- ### Desactivar un atributo personalizado {#unsetting-a-custom-attribute}
- ### Incrementar/decrementar atributos personalizados {#incrementingdecrementing-custom-attributes}
- ### Configurar un atributo personalizado a través de la REST API {#setting-a-custom-attribute-via-the-rest-api}
- ### Límites del valor del atributo personalizado {#custom-attribute-value-limits}
- #### Información adicional {#additional-information}
- ## Configuración de las suscripciones de los usuarios {#setting-up-user-subscriptions}
- ### Configuración de las suscripciones por correo electrónico {#setting-email-subscriptions}
- ### Configuración de suscripciones a notificaciones push {#setting-push-notification-subscriptions}
- [Registrar compras para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/logging_purchases/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Registrar compras para iOS {#log-purchases-for-ios}
- ## Seguimiento de compras e ingresos {#tracking-purchases-and-revenue}
- ### Añadir propiedades {#properties-purchases}
- ### Añadir cantidad {#adding-quantity}
- ### Registrar las compras a nivel de pedido {#log-purchases-at-the-order-level}
- ### Claves reservadas {#reserved-keys}
- ### REST API
- [Seguimiento de ubicación para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/location_tracking/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Seguimiento de ubicación para iOS
- ## Habilitación del seguimiento de ubicación automático
- ### Pasar datos de ubicación a Braze
- [Uninstall Tracking para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/uninstall_tracking/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Uninstall Tracking para iOS {#uninstall-tracking-for-ios}
- ## Paso 1: Habilitación del push en segundo plano {#step-1-enabling-background-push}
- ## Paso 2: Comprobación del push en segundo plano de Braze {#step-2-checking-for-braze-background-push}
- ## Paso 3: Prueba desde el dashboard {#step-3-test-from-the-dashboard}
- ## Paso 4: Habilitar Uninstall Tracking {#step-4-enable-uninstall-tracking}
- [Desactivar el seguimiento del SDK para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/analytics/disabling_tracking/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Desactivar la recopilación de datos para iOS {#disable-data-collection-for-ios}
- ## SDK de iOS v5.7.0+ {#ios-sdk-v570}
- [Vinculación en profundidad para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/linking/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Vinculación en profundidad para iOS {#deep-linking-for-ios}
- ## Paso 1: Registrar un esquema {#step-1-register-a-scheme}
- ## Paso 2: Permitir el esquema personalizado (iOS 9+) {#step-2-allowlist-the-custom-scheme-ios-9}
- ## Paso 3: Implementar un controlador {#step-3-implement-a-handler}
- # Enlaces universales {#universal-links}
- ## Seguridad en el transporte de aplicaciones (ATS) {#app-transport-security-ats}
- ### Requisitos ATS {#ats-requirements}
- ### Gestión de los requisitos ATS {#handling-ats-requirements}
- #### Confirma que todos los enlaces cumplen con ATS (recomendado) {#confirm-all-links-are-ats-compliant-recommended}
- #### Desactiva parcialmente ATS {#partially-disable-ats}
- #### Desactiva ATS por completo {#disable-ats-entirely}
- ## Codificación de URL {#url-encoding}
- ## Personalización {#linking-customization}
- ### Personalización predeterminada de WebView {#default-webview-customization}
- ### Personalización de la gestión de enlaces {#linking-handling-customization}
- #### Ejemplo de integración: ABKURLDelegate {#integration-example-abkurldelegate}
- ## Casos de uso frecuentes {#frequent-use-cases}
- ### Vinculación en profundidad con la configuración de la aplicación {#deep-linking-to-app-settings}
- [Control fino del tráfico de red para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/fine_network_traffic_control/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Control fino del tráfico en la red
- ## Políticas de tramitación de solicitudes
- ### Procesamiento automático de solicitudes
- ### Tramitación manual de solicitudes
- ## Configuración de la política de procesamiento de solicitudes
- ### Establecer la política de solicitudes al inicio
- ### Establecer la política de peticiones en tiempo de ejecución
- ## Desconexión manual de la comunicación con el servidor en vuelo
- [Localización para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/localization/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Localización {#localization}
- ## Idiomas admitidos {#languages-supported}
- [Integración de balizas para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/beacon_integration/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Integración de balizas {#beacon-integration}
- ## Balizas Infillion {#infillion-beacons}
- [Ubicaciones y geovallas para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/locations_and_geofences/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Ubicaciones y geovallas {#locations-and-geofences}
- ## Paso 1: Habilitar el push en segundo plano {#step-1-enable-background-push}
- ## Paso 2: Habilitar geovallas {#step-2-enable-geofences}
- ## Paso 3: Comprobar las notificaciones push en segundo plano de Braze {#step-3-check-for-braze-background-push}
- ## Paso 4: Añadir NSLocationAlwaysUsageDescription a tu Info.plist {#step-4-add-nslocationalwaysusagedescription-to-your-infoplist}
- ## Paso 5: Solicitar autorización al usuario {#step-5-request-authorization-from-the-user}
- ## Paso 6: Habilitar geovallas en el dashboard {#step-6-enable-geofences-on-the-dashboard}
- ### Habilitar las geovallas desde la página de ubicaciones: {#enable-geofences-from-the-locations-page}
- ### Habilitar las geovallas desde la página de configuración: {#enable-geofences-from-the-settings-page}
- ## Desactivar las solicitudes automáticas de geovallas {#disabling-automatic-geofence-requests}
- ## Solicitar geovallas manualmente {#manually-requesting-geofences}
- [Google Tag Manager para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/advanced_use_cases/google_tag_manager/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Google Tag Manager para iOS {#google-tag-manager-for-ios}
- ## Inicializar el SDK {#initializing-ios-google-tag-provider}
- ## Configurar tu Google Tag Manager {#configuring-ios-google-tag-manager}
- ### Eventos personalizados {#custom-events}
- ### Registro de atributos personalizados {#logging-custom-attributes}
- ### Llamada a changeUser {#calling-changeuser}
- ## Proveedor de etiquetas personalizadas del SDK de Braze {#adding-ios-google-tag-provider}
- [Almacenamiento para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/storage/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Almacenamiento {#storage}
- ## Propiedades del dispositivo {#device-properties}
- [Ejemplos de aplicaciones para iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/sample_apps/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Ejemplos de aplicaciones {#sample-apps}
- ## Compilar aplicaciones de prueba {#building-test-applications}
- [Registro de cambios para el SDK Swift de iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/changelog/swift_changelog/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Registro de cambios del SDK Swift para iOS
- [Registro de cambios para el SDK Objective-C de iOS](/docs/es/developer_guide/platforms/legacy_sdks/ios/changelog/objc_changelog/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Registro de cambios del SDK Objective-C de iOS
- # macOS
- [Configuración inicial del SDK para MacOS](/docs/es/developer_guide/platforms/legacy_sdks/macOS/initial_sdk_setup/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Configuración inicial del SDK {#initial-sdk-setup}
- ## Características compatibles {#supported-features}
- [Configuración inicial del SDK para tvOS](/docs/es/developer_guide/platforms/legacy_sdks/tvos/initial_sdk_setup/index.md): AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
- # Configuración inicial del SDK {#initial-sdk-setup}
- ## Integración del SDK de tvOS en CocoaPods {#tvos-sdk-cocoapods-integration}
- ### Paso 1: Instalar CocoaPods {#step-1-install-cocoapods}
- ### Paso 2: Construir el archivo de bibliotecas {#step-2-constructing-the-podfile}
- ### Paso 3: Instalación del SDK de Braze {#step-3-installing-the-braze-sdk}
- ### Paso 4: Actualizar el delegado de tu aplicación {#step-4-updating-your-app-delegate}
- ### Paso 5: Especifica tu punto de conexión personalizado o clúster de datos {#step-5-specify-your-custom-endpoint-or-data-cluster}
- #### Configuración del punto de conexión en tiempo de compilación (recomendado) {#compile-time-endpoint-configuration-recommended}
- #### Configuración del punto de conexión en tiempo de ejecución {#runtime-endpoint-configuration}
- ### Integración del SDK completa {#sdk-integration-complete}
- ### Actualizar el SDK de Braze mediante CocoaPods {#updating-the-braze-sdk-via-cocoapods}
- ## Personalizar Braze al iniciarse {#customizing-braze-on-startup}
- ## Appboy.sharedInstance() y anulabilidad en Swift {#appboysharedinstance-and-swift-nullability}
- ## Opciones de integración manual {#manual-integration-options}
- ## Identificación de usuarios e informes de análisis {#identifying-users-and-reporting-analytics}
- [Acerca de los banners](/docs/es/developer_guide/banners/index.md): Banners availability depends on your Braze package. Contact your account manager or customer success manager to get started.
- # Banners
- ## Prerequisites
- ## Why use Banners?
- ## Features
- ## About Banners {#about-banners}
- ### Placement IDs {#placement-id}
- ### Banner priority {#priority}
- ### Placement requests {#requests}
- #### Rate limiting for refresh requests
- ### Message delivery
- ### Dimensions and sizing
- ## Limitations
- ## Next steps
- [Administrar ubicaciones de banners para el SDK de Braze](/docs/es/developer_guide/banners/placements/index.md): When you create placements in your app or website, your app sends a request to Braze to fetch Banner messages for each placement.
- # Administrar ubicaciones de banners {#manage-banner-placements}
- ## Acerca de las solicitudes de ubicación {#requests}
- #### Rate limiting for refresh requests
- ## Crear una ubicación {#create-a-placement}
- ### Requisitos previos {#prerequisites}
- ### Step 1: Create placements in Braze
- ### Paso 2: Actualiza las ubicaciones en tu aplicación {#requestBannersRefresh}
- ### Paso 3: Escucha las actualizaciones {#subscribeToBannersUpdates}
- ### Paso 4: Inserta utilizando el ID de ubicación {#insertBanner}
- ### Paso 5: Enviar un banner de prueba (opcional) {#handling-test-cards}
- ## Registrar impresiones {#log-impressions}
- ## Registrar clics {#logging-clicks}
- ### Contenido estándar del banner (automático) {#standard-banner-content-automatic}
- ### Bloques de código personalizados {#custom-code-blocks}
- ### Implementaciones de interfaz de usuario personalizadas (headless) {#custom-ui-implementations-headless}
- #### Registrar impresiones {#logging-impressions}
- #### Registrar clics
- ## Registrar descartes {#log-dismissals}
- ### Requisitos previos
- ### Integraciones {#integrations}
- #### Integraciones estándar de banners (editor de arrastrar y soltar) {#standard-banner-integrations-drag-and-drop-editor}
- #### Bloques de código personalizados
- #### Descartar un banner programáticamente {#dismiss-a-banner-programmatically}
- ### Registrar análisis personalizados al descartar un banner {#log-custom-analytics-on-banner-dismissal}
- ### Límite de almacenamiento de descartes pendientes {#pending-dismissal-storage-cap}
- ## Dimensiones y tamaños {#dimensions-and-sizing}
- ## Propiedades personalizadas {#custom-properties}
- ### Requisitos previos
- ### Acceder a las propiedades personalizadas {#access-custom-properties}
- [Banners de prueba](/docs/es/developer_guide/banners/testing/index.md): Antes de poder probar los mensajes de banner en Braze, deberás crear una Campaign de banner en Braze. Además, comprueba que la ubicación que deseas probar ya esté colocada en tu aplicación o sitio web.
- # Banners de prueba {#test-banners}
- ## Requisitos previos {#prerequisites}
- ## Prueba un banner {#test-a-banner}
- [Análisis de banners](/docs/es/developer_guide/banners/analytics/index.md): Once you've launched your campaign, you can return to the details page for that campaign to view key metrics. Navigate to the Campaigns page and select your campaign to open the details page. For sent in Canvas, refer to Canvas analytics.
- # Análisis de banners
- ## Viewing analytics
- ### Time range
- ### Campaign details
- #### Estimated Audience and Current Audience
- #### Changes Since Last Viewed
- ### Message Performance
- ### Historical performance
- ### Conversion event details
- ### Conversion correlation
- ## Retention report
- ## Funnel report
- [Migrar de Content Cards a banners](/docs/es/developer_guide/banners/migrating_from_content_cards/index.md): Los banners ofrecen varias ventajas con respecto a Content Cards para la mensajería tipo banner:
- # Migrar de Content Cards a banners {#migrate-from-content-cards-to-banners}
- ## ¿Por qué realizar la migración a banners? {#why-migrate-to-banners}
- ### Producción acelerada {#accelerated-production}
- ### Mejor experiencia de usuario {#better-ux}
- ### Persistencia {#persistence}
- ## Cuándo realizar la migración {#when-to-migrate}
- ## Cuándo conservar Content Cards {#when-to-keep-content-cards}
- ## Guía de migración {#migration-guide}
- ### Requisitos previos {#prerequisites}
- ### Suscribirse a las actualizaciones {#subscribe-to-updates}
- #### Enfoque de Content Cards {#content-cards-approach}
- #### Enfoque de los banners {#banners-approach}
- ### Mostrar contenido {#display-content}
- #### Enfoque de Content Cards
- #### Enfoque de los banners
- ### Registro de análisis (implementaciones personalizadas) {#log-analytics-custom-implementations}
- #### Enfoque de Content Cards
- #### Enfoque de los banners
- ### Obtener propiedades {#getting-properties}
- #### Enfoque de Content Cards
- #### Enfoque de los banners
- ### Manejo de grupos de control {#handling-control-groups}
- #### Enfoque de Content Cards
- #### Enfoque de los banners
- ## Limitaciones {#limitations}
- ### Migración de mensajes desencadenados {#migrating-triggered-messages}
- ### Diferencias entre características {#feature-differences}
- ### Limitaciones del producto {#product-limitations}
- ### Limitaciones del SDK {#sdk-limitations}
- ## Artículos relacionados {#related-articles}
- [Tutorial: Mostrar un banner por ID de ubicación](/docs/es/developer_guide/banners/tutorial_displaying_banners/index.md): Before you can start this tutorial, verify that your Braze SDK meets the minimum version requirements:
- # Tutorial: Mostrar un banner por ID de ubicación {#tutorial-displaying-a-banner-by-placement-id}
- ## Prerequisites
- ## Displaying banners for the Web SDK
- ### 1. Enable debugging (optional)
- ### 2. Subscribe to Banner updates
- ### 3. Insert the Banner and handle control groups
- ### 4. Refresh your Banners
- ### 5. Add a container for your Banner
- ## Prerequisites
- ## Displaying banners for the Android SDK
- ### 1. Enable debugging (optional)
- ### 2. Subscribe to Banner updates
- ### 3. Refresh your placements
- ### 4. Define BannerView in your banners.xml
- ## Prerequisites
- ## Displaying banners for the Swift SDK
- ### 1. Enable debugging (optional)
- ### 2. Refresh your placements
- ### 3. Initialize the Banner and provide a callback
- ### 4. Enable Auto Layout constraints
- ### 5. Anchor content and set height constraints
- ### 1. Enable debugging (optional)
- ### 2. Refresh your placements
- ### 3. Create a view component
- ### 4. Only display available Banners
- ### 5. Only show BannerView after it loads
- ### 6. Dynamically update Banner height
- ### 7. Limit the Banner height
- [Pancartas: Preguntas frecuentes](/docs/es/developer_guide/banners/faq/index.md): Banners are refreshed with their latest data whenever you call the refresh method—there's no need to resend or update your Banner campaign.
- # Frequently asked questions
- ## When do Banner updates appear for users?
- ## How many placements can I request in a session?
- ## How many Banner campaigns can be active simultaneously?
- ## For campaigns sharing a placement, which Banner is displayed first?
- ## Can I use Banners in my existing Content Card feed?
- ## Can Banners include video?
- ## Can I trigger a banner based on user actions?
- ## Can users dismiss a Banner?
- ## Can I export Banners campaign analytics using the Braze API?
- ## When are users segmented?
- ## How can I compose Banners to ensure the lowest latency?
- ## Are all Liquid tags supported?
- ## Can I capture click events?
- [Tarjetas de contenido en el SDK de Braze](/docs/es/developer_guide/content_cards/index.md): Using Content Cards for banner-style messages? Try out Banners— perfect for inline, persistent in-app and web messages.
- # Tarjetas de contenido
- ## Prerequisites
- ## Standard feed UI
- ## Testing Content Cards on the web
- ## Card types and properties
- ### Base card model
- ### Image only
- ### Captioned image
- ### Classic
- ## Control group
- ## Card methods
- ### Default feed methods
- ### Custom feed methods
- ## Best practices
- ### Call methods in the correct order
- ### Use cached cards to persist content across page loads
- ### Log analytics for custom feeds
- ## Using Google Tag Manager
- ### Setting up Content Cards
- ### Upgrading templates {#upgrading}
- ### Troubleshooting {#troubleshooting}
- #### Enable tag debugging {#debugging}
- #### Enter debug mode
- #### Verify tag sequencing for custom events {#tag-sequencing}
- #### Enable verbose logging
- ## Prerequisites
- ## Google fragments
- ## Card types and properties
- ### Base card model {#base-card-for-android}
- ### Image only {#banner-image-card-for-android}
- ### Captioned image {#captioned-image-card-for-android}
- ### Classic {#text-Announcement-card-for-android}
- ## Card methods
- ## Prerequisites
- ## View controller contexts
- ### Navigation
- ### Modal
- ## Base card model
- ## Card methods
- ## Prerequisites
- ## Card Feeds
- ## Content Cards
- ## About Flutter Content Cards
- ## Prerequisites
- ## Card methods
- ## Receiving Content Card data
- ### Listen for Content Card data in the Dart layer
- ### Forward Content Card data from the native iOS layer
- #### Replaying the callback for Content Cards
- ## About React Native Content Cards
- ## Prerequisites
- ## Cards methods
- ## Card types and properties
- ### Base card model
- ### Image only
- ### Captioned image
- ### Classic
- ### Control
- ## Prerequisites
- ## Setting up your tvOS app
- ### Step 1: Create a new iOS app
- ### Step 2: Get your app's API key
- ### Step 3: Integrate BrazeKit
- ### Step 4: Create your custom UI
- ## Prerequisites
- ## Displaying Content Cards natively {#unity-content-cards-native-ui}
- ## Receiving Content Card data in Unity
- ## Parsing Content Cards
- ### Example Content Cards callback
- ## Refreshing Content Cards
- ## Analytics
- ## About .NET MAUI Content Cards
- ## Prerequisites
- ## Card types and properties
- ### Base card model
- ### Banner
- ### Captioned image
- ### Classic
- ## Card methods
- [Crear Content Cards](/docs/es/developer_guide/content_cards/creating_cards/index.md): Using Content Cards for banner-style messages? Try out Banners— perfect for inline, persistent in-app and web messages.
- # Crear Content Cards {#create-content-cards}
- ## Crear una tarjeta {#creating-a-card}
- ### Paso 1: Crea una interfaz de usuario personalizada {#step-1-create-a-custom-ui}
- ### Paso 2: Suscribirse a las actualizaciones de tarjetas {#step-2-subscribe-to-card-updates}
- #### Paso 2a: Crea una variable de suscriptor privada {#step-2a-create-a-private-subscriber-variable}
- #### Paso 2b: Suscríbete a las actualizaciones {#step-2b-subscribe-to-updates}
- #### Paso 2c: Cancela la suscripción {#step-2c-unsubscribe}
- #### Paso 2a: Crea una variable de suscriptor privada
- #### Paso 2b: Suscríbete a las actualizaciones
- #### Paso 2c: Cancela la suscripción
- ##### Cancelable {#cancellable}
- ##### AsyncStream
- ### Paso 3: Implementar análisis {#step-3-implement-analytics}
- ### Paso 4: Prueba tu tarjeta (opcional) {#step-4-test-your-card-optional}
- ## Ubicaciones de Content Cards {#content-card-placements}
- ### Buzón de entrada de mensajes {#message-inbox}
- #### Ejemplo {#example}
- ### Carrusel {#carousel}
- ### Solo imagen {#image-only}
- [Personalizar tarjetas](/docs/es/developer_guide/content_cards/customizing_cards/index.md): Using Content Cards for banner-style messages? Try out Banners— perfect for inline, persistent in-app and web messages.
- [Personalizar el estilo de Content Cards](/docs/es/developer_guide/content_cards/customizing_cards/style/index.md): La interfaz de usuario predeterminada de Content Cards se importa de la capa de interfaz de usuario del SDK de Braze. A partir de ahí, puedes ajustar ciertas partes del estilo de la tarjeta, el orden en que se muestran las tarjetas y cómo se muestra la fuente a tus usuarios.
- # Personalizar el estilo de Content Cards {#customize-the-style-of-content-cards}
- ## Creación de un estilo personalizado {#creating-a-custom-style}
- ## Ejemplos de personalización {#customization-examples}
- ### Fuente personalizada {#custom-font}
- ### Iconos de anclaje personalizados {#custom-pinned-icons}
- ### Cambiar el color del indicador de no leídos {#changing-the-unread-indicator-color}
- ### Modo oscuro {#dark-mode}
- ### Desactivar el indicador de no leídos {#disabling-unread-indicator}
- [Personalizar el comportamiento de las Content Cards](/docs/es/developer_guide/content_cards/customizing_cards/behavior/index.md): Braze te permite enviar cargas útiles de datos adicionales mediante Content Cards a los dispositivos de los usuarios utilizando pares clave-valor. Pueden ayudarte a realizar un seguimiento de las métricas internas, actualizar el contenido de la aplicación y personalizar las propiedades. Añade pares clave-valor utilizando el dashboard.
- # Personalizar el comportamiento de las Content Cards {#customize-the-behavior-of-content-cards}
- ## Pares clave-valor {#key-value-pairs}
- ## Content Cards como contenido complementario {#content-cards-as-supplemental-content}
- ### Pares clave-valor desencadenados por la API {#api-triggered-key-value-pairs}
- ## Content Cards como contenido interactivo {#content-cards-as-interactive-content}
- ## Señales de Content Cards {#content-card-badges}
- ### Mostrar el número de Content Cards no leídas como una señal {#displaying-the-number-of-unread-content-cards-as-a-badge}
- [Personalizar la fuente para Content Cards](/docs/es/developer_guide/content_cards/customizing_cards/feed/index.md): A session refers to the period of time the Braze SDK tracks user activity in your app after it's launched. You can also force a new session by calling the changeUser() method.
- # Personalizar la fuente para Content Cards {#customize-the-feed-for-content-cards}
- ## About the session lifecycle
- ## Actualizar la fuente {#refreshing-the-feed}
- ### Actualización automática {#automatic-refresh}
- ### Actualización manual {#manual-refresh}
- #### Controlador de finalización {#completion-handler}
- #### Async/Await
- ### Sincronización completa vs. sincronización parcial {#full-sync-vs-partial-sync}
- ### Límite de velocidad {#rate-limit}
- ## Personalizar el orden de las tarjetas mostradas {#customizing-displayed-card-order}
- ## Personalizar el mensaje de "fuente vacía" {#customizing-empty-feed-message}
- ## Implementar múltiples fuentes {#implementing-multiple-feeds}
- ### Paso 1: Establecer pares clave-valor en las tarjetas {#step-1-set-key-value-pairs-on-cards}
- ### Paso 2: Filtrar Content Cards {#step-2-filter-content-cards}
- #### Paso 2.1: Crear un controlador personalizado {#step-21-create-a-custom-handler}
- #### Paso 2.2: Añádelo a un fragmento {#step-22-add-it-to-a-fragment}
- [Registrar análisis](/docs/es/developer_guide/content_cards/logging_analytics/index.md): When implementing your custom Content Cards, you can parse the Content Card objects and extract their payload data such as title, cardDescription, and imageUrl. Then, you can use the resulting model data to populate your custom UI.
- # Registrar análisis {#log-analytics}
- ## Logging analytics
- ### Step 1: Create a private subscriber variable
- ### Step 2: Subscribe to updates
- ### Step 3: Unsubscribe
- ### Step 1: Create a private subscriber variable
- ### Step 2: Subscribe to updates
- ### Step 3: Unsubscribe
- ### Cancellable
- ### AsyncStream
- ### Non-blocking snapshot accessors {#non-blocking-snapshot-accessors}
- ## Logging events
- ## Handling on-click behavior
- ## Descartes únicos superiores a impresiones únicas {#unique-dismissals-higher-than-unique-impressions}
- ## Análisis de Content Cards faltantes {#missing-content-cards-analytics}
- ## ID de Content Card {#content-card-id}
- [Vinculación en profundidad en Content Cards](/docs/es/developer_guide/content_cards/deep_linking/index.md): En este momento, los vínculos profundos de Content Cards no son compatibles con el SDK Web de Braze.
- # Vinculación en profundidad en Content Cards {#deep-linking-in-content-cards}
- ## Prerequisites
- ## Creating a universal delegate
- ## Deep linking to app settings
- ## Customizing WebView activity {#CustomWebviewActivity}
- ## Troubleshooting
- ## Using Jetpack Compose
- ## Prerequisites
- ## Handling deep links
- ### Step 1: Register a scheme {#register-a-scheme}
- ### Step 2: Add a scheme allowlist
- ### Step 3: Implement a handler
- ## App Transport Security (ATS)
- ### Working with ATS
- ## Decoding URLs
- ## Deep linking to app settings
- ## Customization options {#customization-options}
- ### Default WebView customization
- ### Linking handling customization
- #### Universal links {#universal-links}
- ## Examples
- ### BrazeDelegate
- [Incrustar GIF en tarjetas de contenido](/docs/es/developer_guide/content_cards/embedding_gifs/index.md): Para los SDK de envoltura que no aparecen en la lista, utiliza el método nativo de Android o SWIFT correspondiente. Ten en cuenta que los SDK de Android y Swift Braze no admiten GIF animados de forma nativa, por lo que deberás implementar los GIF de las tarjetas de contenido utilizando herramientas de terceros.
- # Incrustar GIF en tarjetas de contenido
- ## About GIFs
- ## Integrating a custom image library
- ### Step 1: Creating the image loader delegate
- ### Fixing image loading for Android SDK 36.0.0 and later
- ### Step 2: Setting the image loader delegate
- ## Custom Image Loading with Jetpack Compose
- ## Prerequisites
- ## Integrating a custom image library
- ### Step 1: Integrate SDWebImage
- ### Step 2: Create a new Swift file
- ### Step 3: Add GIFViewProvider
- ### Step 4: Modify your AppDelegate.swift
- [Tutorial: Crear un buzón de entrada con Content Cards](/docs/es/developer_guide/content_cards/content_card_inbox/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK.
- # Tutorial: Crear un buzón de entrada con Content Cards {#tutorial-making-an-inbox-with-content-cards}
- ## Prerequisites
- ## Crear un buzón de entrada con Content Cards para Android (Compose) {#making-an-inbox-with-content-cards-for-android-compose}
- ### 1. Habilitar depuración (opcional) {#1-enable-debugging-optional}
- #### 2. Crear una vista de interfaz de usuario {#2-build-a-ui-view}
- #### 3. Suscribirse a las actualizaciones de Content Cards {#3-subscribe-to-content-card-updates}
- #### 4. Crear una interfaz de usuario personalizada para el buzón de entrada {#4-build-a-custom-inbox-ui}
- #### 5. Realizar el seguimiento de impresiones y clics {#5-track-impressions-and-clicks}
- ## Crear un buzón de entrada con Content Cards para Android (RecyclerView) {#making-an-inbox-with-content-cards-for-android-recyclerview}
- ### 1. Habilitar depuración (opcional)
- #### 2. Crear una vista de interfaz de usuario
- #### 3. Suscribirse a las actualizaciones de Content Cards
- #### 4. Crear una interfaz de usuario personalizada para el buzón de entrada
- #### 5. Realizar el seguimiento de impresiones y clics
- ## Prerequisites
- ## Crear un buzón de entrada con Content Cards para Swift {#making-an-inbox-with-content-cards-for-swift}
- ### 1. Habilitar depuración (opcional)
- #### 2. Crear una vista de interfaz de usuario
- #### 3. Suscribirse a las actualizaciones de Content Cards
- #### 4. Crear una interfaz de usuario personalizada para el buzón de entrada
- #### 5. Realizar el seguimiento de impresiones y clics
- ## Prerequisites
- ## Crear un buzón de entrada con Content Cards para Web {#making-an-inbox-with-content-cards-for-web}
- ### 1. Habilitar depuración (opcional)
- #### 2. Crear la interfaz de usuario {#2-build-the-ui}
- #### 3. Suscribirse a las actualizaciones de Content Cards
- #### 4. Crear los elementos del buzón de entrada {#4-build-the-inbox-elements}
- #### 5. Realizar el seguimiento de impresiones y clics
- [Mensajes dentro de la aplicación para el SDK de Braze](/docs/es/developer_guide/in_app_messages/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK. However, no additional setup is required.
- # Mensajes dentro de la aplicación
- ## Prerequisites
- ## Message types
- ## Prerequisites
- ## Message types
- ## Enabling in-app messages
- ### Step 1: Register BrazeInAppMessageManager
- ### Step 2: Update the manager's blocklist (optional)
- ## Prerequisites
- ## Message types
- ## Enabling in-app messages
- ### Step 1: Create an implementation of BrazeInAppMessagePresenter
- ### Step 2: Handle no matching triggers
- ## Prerequisites
- ## About TV and OTT support
- ## Prerequisites
- ## Message types
- ## Prerequisites
- ## Message types
- ## Enabling in-app messages
- ### Customizing the in-app message presenter on iOS
- ## Prerequisites
- ## Message types
- ## Data model
- ### Messages
- ### Buttons
- ## Prerequisites
- ## Message types
- ## Enabling in-app messages
- ### Step 1: Add an observer
- ### Step 2: Access triggered messages
- ## Message fields
- ### Handling
- ### Styling
- ### Buttons
- ## Prerequisites
- ## Enabling in-app messages
- ### Step 1: Create a new iOS app
- ### Step 2: Get your app's API key
- ### Step 3: Integrate BrazeKit
- ### Step 4: Create your custom UI
- ## Prerequisites
- ## Message types
- ## Prerequisites
- ## Message types
- ## Próximos pasos
- [Personalizar mensajes dentro de la aplicación para el SDK de Braze](/docs/es/developer_guide/in_app_messages/customization/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK.
- # Personalizar mensajes dentro de la aplicación
- ## Prerequisites
- ## Custom styles
- ### Setting a default style
- ### Customizing the z-index
- ## Customizing message dismissals
- ## Customizing display timing
- ## Opening links in a new tab
- ## Prerequisites
- ## Setting custom manager listeners
- ### Step 1: Implement the custom manager listener
- #### Step 1.1: Implement IInAppMessageManagerListener
- #### Step 1.2: Hook into IAM view lifecycle methods (optional)
- ### Step 2: Instruct Braze to use the custom manager listener
- #### Altering in-app messages before display
- ## Setting custom factories
- ### Step 1: Implement the factory
- ### Step 2: Instruct Braze to use the factory
- #### How it works
- ## Custom styles
- ### Setting a default style
- ### Customizing the font
- ## Message dismissals
- ### Swiping to dismiss slideup messages
- ### Disabling back button dismissals
- ### Enabling outside tap dismissals
- ## Customizing the orientation
- ## Disabling dark theme {#android-in-app-message-dark-theme-customization}
- ## Customizing the Google Play review prompt
- ## Prerequisites
- ## Setting up the UI delegate (required)
- ### Step 1: Implement the BrazeInAppMessageUIDelegate protocol
- ### Step 2: Assign the delegate object
- ## On-click behavior
- ### Click action types
- ### Customizing on-click behavior
- ### Handling the custom behavior
- ## Swiping to dismiss slideup messages
- ## Customizing modal dismissals
- ## Customizing message orientation
- ## Customizing display timing
- ## Hiding the status bar
- ## Disabling dark mode
- ## Customizing the app store review prompt
- ### Step 1: Set the in-app message delegate
- ### Step 2: Disable the default App Store review message
- ### Step 3: Create a deep link
- ### Step 4: Set custom on-click behavior
- ## Prerequisites
- ## Methods for logging
- ## Handling message data
- ### Overriding the default UI delegate
- ### Overriding the default native UI
- ## Customizing the display behavior
- ## Setting a custom listener
- [Desencadenar mensajes dentro de la aplicación a través del SDK de Braze](/docs/es/developer_guide/in_app_messages/triggering_messages/index.md): Los mensajes dentro de la aplicación se desencadenan cuando el SDK registra uno de los siguientes tipos de eventos personalizados: Session Start, Push Click, Any Purchase, Specific Purchase y Custom Event (los dos últimos contienen filtros de propiedades robustos).
- # Desencadenar mensajes dentro de la aplicación {#trigger-in-app-messages}
- ## Desencadenantes y entrega de mensajes {#message-triggers-and-delivery}
- ## Tipos de mensajes dentro de la aplicación {#types-of-in-app-messages}
- ### inapp (estándar) {#inapp-standard}
- ### templatediam (plantillado) {#templatediam-templated}
- ## Pares clave-valor {#key-value-pairs}
- ## Desactivación de los desencadenantes automáticos {#disabling-automatic-triggers}
- ## Encadenar dos mensajes dentro de la aplicación en una sesión {#chaining-two-in-app-messages-in-one-session}
- ## Anular el límite de velocidad predeterminado {#overriding-the-default-rate-limit}
- ## Activación manual de mensajes {#manually-triggering-messages}
- ### Uso de un evento del lado del servidor {#using-a-server-side-event}
- #### Paso 1: Crea una devolución de llamada push para recibir el push silencioso {#step-1-create-a-push-callback-to-receive-the-silent-push}
- #### Paso 2: Crea una campaña push {#step-2-create-a-push-campaign}
- #### Paso 3: Crea una campaña de mensajes dentro de la aplicación {#step-3-create-an-in-app-message-campaign}
- #### Paso 1: Manejar el push silencioso y los pares clave-valor {#step-1-handle-silent-push-and-key-value-pairs}
- #### Paso 2: Crea una campaña push silenciosa {#step-2-create-a-silent-push-campaign}
- #### Paso 3: Crea una campaña de mensajes dentro de la aplicación
- ### Mostrar un mensaje predefinido {#displaying-a-pre-defined-message}
- ### Mostrar un mensaje en tiempo real {#displaying-a-message-in-real-time}
- ## Causas de retrasos en los mensajes dentro de la aplicación {#causes-of-in-app-message-delays}
- ## Mensajes de intención de salida para Web {#exit-intent-messages-for-web}
- [Mensajes HTML dentro de la aplicación](/docs/es/developer_guide/in_app_messages/html_messages/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK.
- # Mensajes HTML dentro de la aplicación {#html-in-app-messages}
- ## Prerequisites
- ## About HTML messages
- ## Adding the interface to a WebView
- ## Embedding YouTube content
- ## Using deep links
- ## Prerequisites
- ## About HTML messages
- ## Adding the interface to a WebView
- ## Example: Logging a custom event
- [Vinculación en profundidad en mensajes dentro de la aplicación para el SDK de Braze](/docs/es/developer_guide/in_app_messages/deep_linking/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK.
- # Vinculación en profundidad en mensajes dentro de la aplicación {#in-app-message-deep-linking}
- ## Prerequisites
- ## Creating a universal delegate
- ## Deep linking to app settings
- ## Customizing WebView activity {#CustomWebviewActivity}
- ## Troubleshooting
- ## Using Jetpack Compose
- ## Prerequisites
- ## Handling deep links
- ### Step 1: Register a scheme {#register-a-scheme}
- ### Step 2: Add a scheme allowlist
- ### Step 3: Implement a handler
- ## App Transport Security (ATS)
- ### Working with ATS
- ## Decoding URLs
- ## Deep linking to app settings
- ## Customization options {#customization-options}
- ### Default WebView customization
- ### Linking handling customization
- #### Universal links {#universal-links}
- ## Examples
- ### BrazeDelegate
- [Incrustar GIF en mensajes dentro de la aplicación para el SDK de Braze](/docs/es/developer_guide/in_app_messages/gifs/index.md): Braze offers the ability to use a custom image library to display animated GIFs. Although the following example uses Glide, any image library that supports GIFs is compatible.
- # Incrustar GIF en mensajes dentro de la aplicación
- ## About GIFs
- ## Integrating a custom image library
- ### Step 1: Creating the image loader delegate
- ### Fixing image loading for Android SDK 36.0.0 and later
- ### Step 2: Setting the image loader delegate
- ## Custom Image Loading with Jetpack Compose
- ## Prerequisites
- ## Integrating a custom image library
- ### Step 1: Integrate SDWebImage
- ### Step 2: Create a new Swift file
- ### Step 3: Add GIFViewProvider
- ### Step 4: Modify your AppDelegate.swift
- [Registra los datos de los mensajes dentro de la aplicación a través del SDK de Braze.](/docs/es/developer_guide/in_app_messages/logging_message_data/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK.
- # Iniciar sesión en los datos de mensajes dentro de la aplicación
- ## Prerequisites
- ## Logging message data
- ## Prerequisites
- ## Logging message data
- ## Accessing message data
- ### Listen for in-app message data in the Dart layer
- ### Forward in-app message data from the native layer
- ### Replaying the callback for in-app messages (optional)
- ## Prerequisites
- ## Methods for logging
- ## Handling message data
- ### Overriding the default UI delegate
- ### Overriding the default native UI
- ## Prerequisites
- ## Logging message data
- ### Displayed messages
- ### Clicked messages
- ### Clicked buttons
- ### After processing a message
- ## Subscribing to in-app messages
- ## Parsing messages
- ## Logging message data
- [Envía un mensaje de prueba para el SDK de Braze.](/docs/es/developer_guide/in_app_messages/sending_test_messages/index.md): After you set up a test segment, you can use it to test any of your Braze messaging channels. When set up correctly, this only needs to be done a single time.
- # Sending test messages
- ## Sending a test message
- ### Step 1: Create a designated test segment
- ### Step 2: Send the message
- ## Test limitations
- [Tutoriales](/docs/es/developer_guide/in_app_messages/tutorials/index.md)
- [Tutorial: Mostrar mensajes dentro de la aplicación de forma condicional](/docs/es/developer_guide/in_app_messages/tutorials/conditionally_displaying_messages/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK. Sin embargo, no es necesario realizar ninguna configuración adicional.
- # Tutorial: Mostrar mensajes dentro de la aplicación de forma condicional {#tutorial-conditionally-displaying-in-app-messages}
- ## Prerequisites
- ## Visualización condicional de mensajes dentro de la aplicación para Web {#conditionally-displaying-in-app-messages-for-web}
- ### 1. Eliminar llamadas a automaticallyShowInAppMessages() {#1-remove-calls-to-automaticallyshowinappmessages}
- #### 2. Habilitar depuración (opcional) {#2-enable-debugging-optional}
- #### 3. Suscribirse a las actualizaciones de mensajes dentro de la aplicación {#3-subscribe-to-in-app-message-updates}
- #### 4. Crear lógica condicional {#4-create-conditional-logic}
- #### 5. Mostrar mensajes con showInAppMessage {#5-display-messages-with-showinappmessage}
- ## Prerequisites
- ## Visualización condicional de mensajes dentro de la aplicación para Android {#conditionally-displaying-in-app-messages-for-android}
- ### 1. Habilitar depuración (opcional) {#1-enable-debugging-optional}
- #### 2. Registrar las devoluciones de llamada del ciclo de vida de la actividad {#2-register-activity-lifecycle-callbacks}
- #### 3. Configurar un listener de mensajes dentro de la aplicación {#3-set-up-an-in-app-message-listener}
- #### 4. Crear lógica condicional
- #### 5. Devolver o descartar el mensaje {#5-return-or-discard-the-message}
- ## Prerequisites
- ## Visualización condicional de mensajes dentro de la aplicación para Swift {#conditionally-displaying-in-app-messages-for-swift}
- ### 1. Implementar el BrazeInAppMessageUIDelegate {#1-implement-the-brazeinappmessageuidelegate}
- #### 2. Habilitar depuración (opcional)
- #### 3. Configurar la interfaz de usuario de Braze y el delegado {#3-set-up-your-braze-ui-and-delegate}
- #### 4. Sobrescribir DisplayChoice con lógica condicional {#4-override-displaychoice-with-conditional-logic}
- [Tutorial: Personalización del estilo mediante pares clave-valor](/docs/es/developer_guide/in_app_messages/tutorials/customizing_message_styling/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK. Sin embargo, no es necesario realizar ninguna configuración adicional.
- # Tutorial: Personalización del estilo de los mensajes mediante pares clave-valor {#tutorial-customizing-message-styling-using-key-value-pairs}
- ## Prerequisites
- ## Personalización del estilo de los mensajes mediante pares clave-valor para Web {#customizing-message-styling-using-key-value-pairs-for-web}
- ### 1. Eliminar llamadas a automaticallyShowInAppMessages() {#1-remove-calls-to-automaticallyshowinappmessages}
- #### 2. Habilitar depuración (opcional) {#2-enable-debugging-optional}
- #### 3. Suscríbete al controlador de devolución de llamada de mensajes dentro de la aplicación {#3-subscribe-to-the-in-app-message-callback-handler}
- #### 4. Acceder a la propiedad message.extras {#4-access-the-messageextras-property}
- #### 5. Llamada condicional a showInAppMessage {#5-conditionally-call-showinappmessage}
- ## Prerequisites
- ## Personalización del estilo de los mensajes mediante pares clave-valor para Android {#customizing-message-styling-using-key-value-pairs-for-android}
- ### 1. Habilitar depuración (opcional) {#1-enable-debugging-optional}
- #### 2. Registrar las devoluciones de llamada del ciclo de vida de la actividad {#2-register-activity-lifecycle-callbacks}
- #### 3. Crear tu clase de fábrica de vistas personalizada {#3-create-your-custom-view-factory-class}
- #### 4. Delegar a la fábrica predeterminada de Braze {#4-delegate-to-brazes-default-factory}
- #### 5. Acceder a los pares clave-valor desde inAppMessage.extras {#5-access-key-value-pairs-from-inappmessageextras}
- #### 6. Implementar un IInAppMessageViewFactory personalizado {#6-implement-a-custom-iinappmessageviewfactory}
- ## Prerequisites
- ## Personalización del estilo de los mensajes mediante pares clave-valor para Swift {#customizing-message-styling-using-key-value-pairs-for-swift}
- ### 1. Implementar BrazeInAppMessageUIDelegate {#1-implement-brazeinappmessageuidelegate}
- #### 2. Habilitar depuración (opcional)
- #### 3. Preparar los mensajes antes de que se muestren {#3-prepare-messages-before-theyre-displayed}
- #### 4. Acceder a los pares clave-valor desde message.extras {#4-access-key-value-pairs-from-messageextras}
- #### 5. Actualizar los atributos de estilo del mensaje {#5-update-the-messages-styling-attributes}
- [Tutorial: Aplazamiento y restauración de mensajes desencadenados](/docs/es/developer_guide/in_app_messages/tutorials/deferring_triggered_messages/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK. Sin embargo, no es necesario realizar ninguna configuración adicional.
- # Tutorial: Aplazamiento y restauración de mensajes desencadenados {#tutorial-deferring-and-restoring-triggered-messages}
- ## Prerequisites
- ## Aplazamiento y restauración de mensajes desencadenados para Web {#deferring-and-restoring-triggered-messages-for-web}
- ### 1. Eliminar llamadas a automaticallyShowInAppMessages() {#1-remove-calls-to-automaticallyshowinappmessages}
- #### 2. Habilitar depuración (opcional) {#2-enable-debugging-optional}
- #### 3. Suscríbete al controlador de devolución de llamada de mensajes dentro de la aplicación {#3-subscribe-to-the-in-app-message-callback-handler}
- #### 4. Aplazar la instancia message {#4-defer-the-message-instance}
- #### 5. Recuperar un mensaje aplazado anteriormente {#5-retrieve-a-previously-deferred-message}
- #### 6. Mostrar el mensaje aplazado {#6-display-the-deferred-message}
- #### 7. Mostrar un mensaje inmediatamente {#7-display-a-message-immediately}
- ## Prerequisites
- ## Aplazamiento y restauración de mensajes desencadenados para Android {#deferring-and-restoring-triggered-messages-for-android}
- ### 1. Crear una instancia singleton de Application {#1-create-a-singleton-application-instance}
- #### 2. Habilitar depuración (opcional)
- #### 3. Registrar las devoluciones de llamada del ciclo de vida de la actividad {#3-register-activity-lifecycle-callbacks}
- #### 4. Configurar un listener de mensajes dentro de la aplicación {#4-set-up-an-in-app-message-listener}
- #### 5. Crear lógica condicional {#5-create-conditional-logic}
- #### 6. Crear un método para mostrar mensajes aplazados {#6-create-a-method-for-displaying-deferred-messages}
- #### 7. Desencadenar el método desde tu interfaz de usuario {#7-trigger-the-method-from-your-ui}
- ## Prerequisites
- ## Aplazamiento y restauración de mensajes desencadenados para Swift {#deferring-and-restoring-triggered-messages-for-swift}
- ### 1. Implementar el BrazeInAppMessageUIDelegate {#1-implement-the-brazeinappmessageuidelegate}
- #### 2. Habilitar depuración (opcional)
- #### 3. Configurar tu interfaz de usuario de Braze y el delegado {#3-set-up-your-braze-ui-and-delegate}
- #### 4. Sobrescribir DisplayChoice con lógica condicional {#4-override-displaychoice-with-conditional-logic}
- #### 5. Crear un método para mostrar mensajes aplazados {#5-create-a-method-to-show-deferred-messages}
- #### 6. Desencadenar el método desde tu interfaz de usuario {#5-trigger-the-method-from-your-ui}
- [Solución de problemas de mensajes dentro de la aplicación para el SDK de Braze](/docs/es/developer_guide/in_app_messages/troubleshooting/index.md): Antes de depurar, añádete como usuario de prueba y revisa Envío de mensajes de prueba.
- # Solución de problemas de mensajes dentro de la aplicación {#troubleshoot-in-app-messages}
- ## Empieza aquí: identifica tu síntoma {#start-here-match-your-symptom}
- ## Ruta de investigación estándar {#standard-investigation-path}
- ## Mensajes dentro de la aplicación en Canvas {#canvas-in-app-messages}
- ## El mensaje dentro de la aplicación no se mostró para un usuario {#in-app-message-not-shown-for-one-user}
- ## El mensaje dentro de la aplicación no se mostró en una plataforma {#in-app-message-not-shown-on-one-platform}
- ## El mensaje dentro de la aplicación no se mostró para todos los usuarios {#in-app-message-not-shown-for-all-users}
- ## Temporización y visualización retrasada {#timing-and-delayed-display}
- ## Solución de problemas de entrega {#delivery-troubleshooting}
- ### Solución de problemas de entrega {#troubleshooting-in-app-message-delivery}
- #### Comprueba si los mensajes se solicitan y se devuelven {#check-if-messages-are-requested-and-returned}
- ##### Solución de problemas de mensajes no solicitados {#troubleshoot-messages-not-being-requested}
- ##### Solución de problemas de mensajes no devueltos {#troubleshoot-messages-not-being-returned}
- ## Impresiones y análisis {#impressions-and-analytics}
- ## Solución de problemas de visualización específica por plataforma {#platform-specific-display-troubleshooting}
- ### Troubleshooting display {#troubleshooting-in-app-message-display}
- ### Troubleshooting display {#troubleshooting-in-app-message-display}
- ### Troubleshooting display {#troubleshooting-in-app-message-display}
- ### Troubleshooting asset loading (NSURLError code -1008) {#asset-loading}
- #### Domains
- #### Examples
- ##### Netfox
- ##### NetGuard
- ##### XNLogger
- [Notificaciones push para el SDK de Braze](/docs/es/developer_guide/push_notifications/index.md): Si Redirect to web URL con Open web URL inside app no está seleccionado, pero el enlace aún se abre dentro de la aplicación, es posible que la aplicación esté gestionando la URL (por ejemplo, con enlaces universales en iOS o App Links en Android). Para abrir el enlace en el navegador, confirma que tu aplicación delega la URL al navegador del sistema cuando el usuario toca la notificación, o ajusta la gestión de URL de tu aplicación para que la acción de clic coincida con la configuración del dashboard de Braze. Consulta la documentación push de tu plataforma para saber cómo se configuran las acciones de clic y la gestión de URL.
- # Notificaciones push {#push-notifications}
- ## Prerequisites
- ## Push protocols
- ## Setting up push notifications
- ### Step 1: Configure your service worker
- ### Step 2: Register the browser
- ### Step 3: Disable skipWaiting (optional)
- ## Unsubscribing a user
- ## Alternate domains
- ### Use cases
- ### Considerations
- ### Setting up an alternate push domain
- #### Step 1: Initiate prompting flow
- #### Step 2: Register for push
- #### Step 3: Communicate between domains (optional)
- ## Frequently Asked Questions (FAQ)
- ### Service workers
- #### What if I can't register a service worker in the root directory?
- #### Can I create a service worker using a Tag Manager?
- ### Site security
- #### Is HTTPS required?
- #### When is a site considered "secure"?
- #### What if a secure site is not available?
- ## Prerequisites
- ## Built-in features
- ## About the push notification lifecycle {#push-notification-lifecycle}
- ## Setting up push notifications
- ### Rate limits
- ### Step 1: Add Firebase to your project
- ### Step 2: Add Cloud Messaging to your dependencies
- ### Step 3: Enable the Firebase Cloud Messaging API
- ### Step 4: Create a service account {#service-account}
- ### Step 5: Generate JSON credentials {#json}
- ### Step 6: Upload your JSON credentials to Braze
- ### Step 7: Set up automatic token registration
- ### Step 8: Remove automatic requests in your application class
- ## Displaying notifications
- ### Step 1: Register Braze Firebase Messaging Service
- ### Step 2: Conform small icons to design guidelines
- ### Step 3: Configure notification icons {#configure-icons}
- #### Specifying icons in braze.xml
- #### Specifying icon accent color
- ### Step 4: Add deep links
- #### Enabling automatic deep link opening
- ## Handling foreground notifications
- ### How it works
- ### Customizing foreground behavior
- #### Creating custom deep links
- #### Adding deep links
- #### Customizing back stack behavior
- ### Step 5: Define notification channels
- ### Step 6: Test notification display and analytics
- #### Testing display
- #### Testing analytics
- #### Testing from command line
- ## Conversation push notifications
- ### Usage requirements
- ## FCM quota exceeded errors
- ### Best practices
- #### Request a rate limit increase from FCM
- #### Apply a workspace rate limit
- ## Rate limits
- ## Setting up push notifications
- ### Step 1: Upload your APNs token
- ### Step 2: Enable push capabilities
- ### Step 3: Set up push handling
- #### Step 3.1: Enable automation in the push property
- #### Step 3.2: Override individual configurations (optional)
- #### Step 3.1: Register for push notifications with APNs
- #### Step 3.2: Register push tokens with Braze
- #### Step 3.3: Enable push handling
- ##### Default push handling
- ##### Foreground push handling
- ## Testing notifications {#push-testing}
- ## Subscribing to push notifications updates
- ## Handling foreground notifications
- ### How it works
- ## Push primers {#push-primers}
- ## Dynamic APNs gateway management
- ### Prerequisites
- ### How it works
- ### Frequently asked questions
- #### Why was this feature introduced?
- #### How does this impact push delivery performance?
- #### Can I disable this feature?
- ## About push notifications for Android TV
- ## Prerequisites
- ## Setting up push notifications
- ## Testing Android TV push notifications
- ## Best practices
- ## Prerequisites
- ## Enabling push deep linking
- ## Disabling basic push notifications (iOS only)
- ## Prerequisites
- ## Setting up push notifications
- ### Step 1: Complete the initial setup
- #### Step 1.1: Register for push
- #### Step 1.2: Get your Google Sender ID
- #### Step 1.3: Update your braze.xml
- #### Step 1.1: Upload APNs certificates
- #### Step 1.2: Add push notification support to your app
- ### Step 2: Listen for push notification events (optional)
- #### Push notification event fields
- ### Step 3: Test displaying push notifications
- ## Prerequisites
- ## Setting up push notifications
- ### Step 1: Register for a Huawei developer account
- ### Step 2: Create a new Huawei app in the Braze dashboard
- ### Step 3: Integrate the Huawei messaging SDK into your app
- ### Step 4: Handle foreground notifications
- ### Step 5: Test your push notifications (optional)
- #### Step 5.1: Create a new push notification campaign
- #### Step 5.2: Send a test push
- #### Step 5.3: Set up Huawei segmentation (optional)
- ## Prerequisites
- ## Setting up push notifications {#setting-up-push-notifications}
- ### Step 1: Complete the initial setup
- #### Prerequisites
- #### Step 1.1: Update your app.json file
- #### Step 1.2: Add your Google Sender ID
- #### Step 1.3: Add the path to your Google Services JSON
- #### Step 1.1: Request for push permissions
- #### Step 1.2 (Optional): Migrate your push key
- ### Step 2: Request push notifications permission
- #### Step 2.1: Listen for push notifications (optional)
- ##### Push notification event fields
- ### Step 3: Enable deep linking (optional)
- #### Step 3.1: Store the push notification payload on app launch
- #### Step 3.2: Handle deep links from a closed state
- #### Step 3.1: Store the push notification payload on app launch {#step-3-1}
- #### Step 3.2: Handle deep links from a closed state
- #### Step 3.3: Enable Universal Links (optional)
- ### Step 4: Handle foreground notifications
- ### Step 5: Send a test push notification
- ## Using the Expo plugin
- ### Forwarding Android push to additional FMS
- ### Using app extensions with Expo Application Services {#app-extensions}
- ### Troubleshooting
- #### Push notifications stopped working {#troubleshooting-stopped-working}
- #### Device token won't register with Braze {#troubleshooting-token-registration}
- #### Deep links from push notifications don't open {#troubleshooting-deep-links}
- ## Prerequisites
- ## Setting up Safari push for mobile
- ### Step 1: Create a manifest file {#manifest}
- ### Step 2: Link the manifest file {#manifest-link}
- ### Step 3: Add a service worker {#service-worker}
- ### Step 4: Add to home screen {#add-to-homescreen}
- ### Step 5: Show the native push prompt {#push-prompt}
- ## Next steps
- ## Prerequisites
- ## Setting up push notification
- ### Step 1: Set up the platform
- #### Step 1.1: Enable Firebase
- #### Step 1.2: Set your Firebase credentials
- #### Step 1.1: Verify integration method
- #### Step 1.1: Enable ADM
- ### Step 2: Configure push notifications
- #### Step 2.1: Configure push settings {#unity_step-21-configure-push-settings}
- #### Step 2.1: Upload your APNs token
- #### Step 2.2: Enable automatic push
- #### Step 2.3: Enable background push (optional)
- #### Step 2.4: Disable automatic registration (optional)
- #### Step 2.1: Update AndroidManifest.xml
- #### Step 2.2: Store your ADM API key
- #### Step 2.3: Add ADM Jar
- #### Step 2.4: Add Client Secret and Client ID to your Braze dashboard
- ### Step 3: Set push listeners
- #### Step 3.1: Enable push received listener
- #### Step 3.2: Enable push opened listener
- #### Step 3.3: Enable push deleted listener
- #### Push listener example
- #### Step 3.1: Enable push received listener
- #### Step 3.2: Enable push opened listener
- #### Push listener example
- ## Optional configurations
- ### Deep linking to in-app resources
- #### Adding Braze push notification icons
- #### Push token callback
- ## Prerequisites
- ## Setting up push notifications
- ### Step 1: Update your project
- ### Step 2: Create your JSON credentials
- ### Step 3: Upload your JSON credentials
- ### Step 1: Complete the initial setup
- ### Step 2: Request push notifications permission
- [Personalizar las notificaciones push para el SDK de Braze](/docs/es/developer_guide/push_notifications/customization/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK. You'll also need to set up push notifications.
- # Personalizar las notificaciones push
- ## Prerequisites
- ## Using a callback for push events {#push-callback}
- ## Customizing notification display {#customization-display}
- ### Step 1: Create your custom notification factory
- ### Step 2: Set your custom notification factory
- ## Rendering multicolor text
- ### Supported HTML tags
- ## Rendering inline images
- ### How it works
- ### Compatibility
- ### Sending an inline image push
- ## Settings
- ### Notification ID {#notification-id}
- ### Firebase Messaging Delivery priority {#fcm-priority}
- ### Time to live (TTL) {#ttl}
- ### Summary text {#summary-text}
- ### Custom URIs {#custom-uri}
- ### Notification display priority {#notification-priority}
- ### Sounds {#sounds}
- ## Prerequisites
- ## Customizing action buttons {#push-action-buttons-integration}
- ### Manually registering action buttons
- #### Step 1: Adding Braze default push categories {#registering}
- #### Step 2: Enable interactive push handling {#enable-push-handling}
- ## Customizing push categories {#customizing-push-categories}
- ### Step 1: Register a category
- ### Step 2: Select your categories
- ### Example: Custom push category {#example-custom-push-category}
- ## Customizing badges
- ## Customizing sounds
- ### Step 1: Host the sound in your app
- #### Converting sound files
- ### Step 2: Provide a protocol URL for the sound
- ## Settings
- ### Key-value pairs
- ### Alert options
- ### Adding content-available flag
- ### Adding mutable-content flag
- ### Collapse ID
- ### Expiry
- ## Prerequisites
- ## Settings
- ### Time to live (TTL) {#ttl}
- ### Summary text {#summary-text}
- ### Custom URIs {#custom-uri}
- ### Notification display priority
- ### Sounds {#sounds}
- ## Prerequisites
- ## Push customization in React Native
- ### iOS customization
- ### Android customization
- [Vinculación en profundidad en notificaciones push para el SDK de Braze](/docs/es/developer_guide/push_notifications/deep_linking/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK.
- # Vinculación en profundidad en notificaciones push
- ## Prerequisites
- ## Creating a universal delegate
- ## Deep linking to app settings
- ## Customizing WebView activity {#CustomWebviewActivity}
- ## Troubleshooting
- ## Using Jetpack Compose
- ## Prerequisites
- ## Handling deep links
- ### Step 1: Register a scheme {#register-a-scheme}
- ### Step 2: Add a scheme allowlist
- ### Step 3: Implement a handler
- ## App Transport Security (ATS)
- ### Working with ATS
- ## Decoding URLs
- ## Deep linking to app settings
- ## Customization options {#customization-options}
- ### Default WebView customization
- ### Linking handling customization
- #### Universal links {#universal-links}
- ## Examples
- ### BrazeDelegate
- ## Prerequisites
- ## Implementing deep linking
- ### Step 1: Set up Flutter's built-in handling
- ### Step 2: Forward data to the Dart layer (optional)
- #### Example: Deep linking to an alert dialog
- ## Prerequisites
- ## Enabling push deep linking
- [Guía de vinculación en profundidad para iOS](/docs/es/developer_guide/push_notifications/ios_deep_linking_guide/index.md): Para obtener más información sobre la implementación, consulta Vinculación en profundidad. Para solucionar problemas, consulta Solución de problemas de vinculación en profundidad.
- # Guía de vinculación en profundidad para iOS {#ios-deep-linking-guide}
- ## Elegir un tipo de enlace {#choosing-a-link-type}
- ### Vínculos profundos con esquema personalizado {#custom-scheme-deep-links}
- ### Enlaces universales {#universal-links}
- ### "Abrir URL web dentro de la aplicación" {#open-web-url-inside-app}
- ## Lo que necesitas para cada tipo de enlace {#what-you-need-for-each-link-type}
- ### Vínculos profundos con esquema personalizado
- ### Enlaces universales
- ### "Abrir URL web dentro de la aplicación"
- ## Cuándo necesitas un archivo AASA {#when-aasa}
- ## Cuándo necesitas código de aplicación para gestionar enlaces {#when-app-code}
- ## Usar Branch con Braze {#branch}
- [Solución de problemas de vinculación en profundidad](/docs/es/developer_guide/push_notifications/deep_linking_troubleshooting/index.md): Si un vínculo profundo de esquema personalizado (por ejemplo, myapp://products/123) abre tu aplicación pero no navega a la pantalla deseada:
- # Solución de problemas de vinculación en profundidad {#deep-linking-troubleshooting}
- ## El vínculo profundo de esquema personalizado no abre la vista correcta {#custom-scheme-deep-link-doesnt-open-the-correct-view}
- ## El enlace universal se abre en Safari en lugar de en la aplicación {#universal-link-opens-in-safari-instead-of-the-app}
- ### Verifica el derecho de dominios asociados {#verify-the-associated-domains-entitlement}
- ### Valida el archivo AASA {#validate-the-aasa-file}
- ### Comprueba el AppDelegate {#check-the-appdelegate}
- ### Verifica la configuración del SDK de Braze {#verify-braze-sdk-configuration}
- ### Comprueba el problema de la pulsación prolongada {#check-for-the-long-press-issue}
- ## El vínculo profundo del correo electrónico no abre la aplicación {#deep-link-from-email-doesnt-open-the-app}
- ### Verifica el AASA del dominio de seguimiento de clics {#verify-click-tracking-domain-aasa}
- ### Comprueba la cadena de redireccionamiento {#check-the-redirect-chain}
- ## El vínculo profundo funciona desde push pero no desde mensajes dentro de la aplicación (o viceversa) {#deep-link-works-from-push-but-not-from-in-app-messages-or-vice-versa}
- ### Comprueba el BrazeDelegate {#check-the-brazedelegate}
- ### Habilita el registro detallado {#enable-verbose-logging}
- ### Comprueba si hay delegados de visualización personalizados {#check-for-custom-display-delegates}
- ## "Abrir URL web dentro de la aplicación" muestra una página en blanco o dañada {#open-web-url-inside-app-shows-a-blank-or-broken-page}
- ## Solución de problemas de Branch con Braze {#branch}
- ### Verifica que el BrazeDelegate enrute a Branch {#verify-the-brazedelegate-routes-to-branch}
- ### Comprueba el dominio de enlace de Branch {#check-branch-link-domain}
- ### Habilita el registro de ambos SDK {#enable-both-sdks-logging}
- ### Comprueba la configuración del dashboard de Branch {#check-branch-dashboard-configuration}
- ### Prueba los enlaces de Branch de forma independiente {#test-branch-links-independently}
- ## Consejos generales de depuración {#general-debugging-tips}
- ### Usa el registro detallado {#use-verbose-logging}
- ### Prueba los enlaces de forma aislada {#test-links-in-isolation}
- ### Prueba en un dispositivo físico {#test-on-a-physical-device}
- [Configura notificaciones push silenciosas para el SDK de Braze.](/docs/es/developer_guide/push_notifications/silent/index.md): Before you can use this feature, you'll need to integrate the Android Braze SDK. You'll also need to set up push notifications.
- # Notificaciones push silenciosas
- ## Prerequisites
- ## Setting up silent push notifications
- ## Prerequisites
- ## iOS limitations
- ## Setting up silent push notifications
- ## Sending silent push notifications
- ## Ignoring internal push notifications
- ### Step 1: Check your app for automatic actions
- ### Step 2: Use the internal push utility method
- ## Prerequisites
- ## Setting up silent push notifications
- [Configura notificaciones push enriquecidas para el SDK de Braze.](/docs/es/developer_guide/push_notifications/rich/index.md): Before you can use this feature, you'll need to integrate the Swift Braze SDK. You'll also need to set up push notifications.
- # Notificaciones push enriquecidas
- ## Prerequisites
- ## Setting up rich push notifications
- ### Step 1: Creating a service extension
- ### Step 2: Setting up the notification service extension
- ### Step 3: Adding an App Group
- ### Step 4: Integrating rich push notifications
- #### Adding the rich push framework to your app
- #### Using your own UNNotificationServiceExtension
- ### Step 5: Configuring the App Group in Braze
- ### Step 6: Creating a rich notification in your dashboard
- ## Prerequisites
- ## Setting up rich push notifications
- ### Step 1: Create a notification service extension
- ### Step 2: Add a new target
- ### Step 3: Reinstall your CocoaPods dependencies
- ## Prerequisites
- ## Using Expo to enable rich push notifications
- [Configurar historias push para el SDK de Braze](/docs/es/developer_guide/push_notifications/push_stories/index.md): Before you can use this feature, you'll need to integrate the Swift Braze SDK. You'll also need to set up push notifications, which includes implementing the UNNotification framework.
- # Historias push
- ## Prerequisites
- ## Setting up Push Stories
- ### Step 1: Adding the Notification Content Extension target {#notification-content-extension}
- ### Step 2: Enable capabilities {#enable-capabilities}
- #### Adding an App Group
- ### Step 3: Adding the Push Story framework to your app {#enable-capabilities}
- ### Step 4: Updating your notification view controller {#enable-capabilities}
- #### Custom handling push story events
- ### Step 5: Setting the Notification Content Extension plist {#notification-content-extension}
- ### Step 6: Updating the Braze integration in your main app {#update-braze}
- ## Prerequisites
- ## Setting up push stories
- ### Step 1: Create a notification content extension
- ### Step 2: Configure your push app group
- ### Step 3: Add a new target
- ### Step 4: Reinstall your CocoaPods dependencies
- ## Prerequisites
- ## Enabling push stories
- [Configurar avisos de push suave para el SDK de Braze](/docs/es/developer_guide/push_notifications/soft_push_prompts/index.md): Before you can use this feature, you'll need to integrate the Web Braze SDK. You'll also need to set up push notifications.
- # Mensajes de pulsación suave para la Web
- ## Prerequisites
- ## About soft push prompts
- ## Setting up soft push prompts
- ### Step 1: Create a push primer campaign
- ### Step 2: Remove calls
- ### Step 3: Update integration
- [Análisis push y registro de eventos personalizados](/docs/es/developer_guide/push_notifications/logging_message_data/index.md): Antes de empezar, completa la integración inicial de notificaciones push para tu plataforma:
- # Análisis push y registro de eventos personalizados {#push-analytics-and-custom-event-logging}
- ## Requisitos previos {#prerequisites}
- ## Análisis nativos de push vs. registro de eventos personalizados {#native-push-analytics-vs-custom-event-logging}
- ## Qué registra Braze automáticamente {#what-braze-logs-automatically}
- ## Preservar los análisis nativos de push con manejo personalizado de push {#preserving-native-push-analytics-with-custom-push-handling}
- ## Registrar datos personalizados a partir de cargas útiles push {#logging-custom-data-from-push-payloads}
- ### Opción A: Registrar con el punto de conexión /users/track {#option-a-log-with-the-userstrack-endpoint}
- ### Opción B: Registrar con métodos del SDK después del lanzamiento de la aplicación {#option-b-log-with-sdk-methods-after-app-launch}
- ## Registrar desde una extensión de contenido de notificación (Swift) {#logging-from-a-notification-content-extension-swift}
- ### Paso 1: Configurar grupos de aplicaciones en Xcode {#step-1-configure-app-groups-in-xcode}
- ### Paso 2: Elegir qué registrar {#step-2-choose-what-to-log}
- #### Guardar eventos personalizados {#saving-custom-events}
- #### Enviar eventos personalizados a Braze {#sending-custom-events-to-braze}
- #### Guardar atributos personalizados {#saving-custom-attributes}
- #### Enviar atributos personalizados a Braze {#sending-custom-attributes-to-braze}
- #### Guardar atributos de usuario {#saving-user-attributes}
- #### Enviar atributos de usuario a Braze {#sending-user-attributes-to-braze}
- #### Archivo auxiliar RemoteStorage {#remotestorage-helper-file}
- #### Archivo auxiliar UserAttribute {#userattribute-helper-file}
- #### Archivo auxiliar de diccionario EventName {#eventname-dictionary-helper-file}
- ## Analizar resultados {#analyzing-results}
- ## Referencias relacionadas {#related-references}
- [Enviar mensajes de prueba](/docs/es/developer_guide/push_notifications/sending_test_messages/index.md): After you set up a test segment, you can use it to test any of your Braze messaging channels. When set up correctly, this only needs to be done a single time.
- # Sending test messages
- ## Sending a test message
- ### Step 1: Create a designated test segment
- ### Step 2: Send the message
- ## Test limitations
- [Acerca de los estados de la suscripción push](/docs/es/developer_guide/push_notifications/subscription_states/index.md): A "Push Subscription State" in Braze identifies a user's global preference for their desire to receive push notifications. Because the subscription state is user-based, it is not specific to any individual app. Subscription states become helpful flags when deciding which users to target for push notifications.
- # Acerca de los estados de la suscripción push
- ## Push subscription states {#push-sub-states}
- ### Push registration and reachable users
- ### Updating push subscription states {#update-push-subscription-state}
- #### Automatic opt-in (default)
- #### SDK integration
- #### REST API
- ### Differences between push enablement and push subscription status
- ### Imported push tokens (iOS)
- ### Checking push subscription state
- [Solución de problemas con las notificaciones push para el SDK de Braze](/docs/es/developer_guide/push_notifications/troubleshooting/index.md): If you're experiencing issues after setting up push notifications, consider the following:
- # Solución de problemas con las notificaciones push {#troubleshoot-push-notifications}
- ## Troubleshooting
- ## Understanding the Braze push workflow
- ### Step 1: Configuring your Google Cloud API key
- ### Step 2: Devices register for FCM and provide Braze with push tokens
- ### Step 3: Launching a Braze push campaign
- ### Step 4: Removing invalid tokens
- ## Utilizing the push error logs
- ## Troubleshooting scenarios
- ### Push isn't sending
- ### No "push registered" users showing in the Braze dashboard (prior to sending messages)
- #### Incorrect sender ID
- #### Braze registration not occurring
- #### Google Play Services not present
- #### Device not connected to the internet
- ### Tapping push notification doesn't open the app
- ### Push notifications bounced
- #### Error: MismatchSenderID
- #### Error: InvalidRegistration
- #### Error: NotRegistered
- ### Push notifications sent but not displayed on users' devices
- #### Application was force quit
- #### BrazeFirebaseMessagingService not registered
- #### Firewall is blocking push
- #### Custom notification factory returning null
- ### "Push registered" users no longer enabled after sending messages
- #### Application was uninstalled
- #### Invalid Firebase Cloud Messaging server key
- ### Push clicks not logged
- ### Deep links not working
- #### Verify deep link configuration
- #### Verify custom handling logic
- #### Disable back stack behavior
- ## Understanding the Braze/APNs workflow
- ### Step 1: Configuring the push certificate and provisioning profile
- ### Step 2: Devices register for APNs and provide Braze with push tokens
- #### Considerations for push token generation
- ### Step 3: Launching a Braze push campaign
- ### Step 4: Removing invalid tokens
- ## Using the push error logs
- ### Message Activity Log errors
- #### Received unregistered sending to push token {#received-unregistered-sending}
- #### Device token not for topic
- #### BadDeviceToken sending to push token
- ## Push registration issues
- ### No push registration prompt
- ### No "push registered" users showing in the dashboard (prior to sending messages)
- ## Push notifications sent but not displayed on users’ devices
- ### "Push registered" users no longer enabled after sending messages
- #### Dashboard and app certificate mismatch
- #### Application was uninstalled
- #### Regenerating your provisioning profile
- ### Messages not delivered to "push registered" users
- #### App is foregrounded
- #### Test notification scheduled incorrectly
- ### User not "push registered" for the app being tested
- ## Push clicks not logged {#push-clicks-not-logged}
- ## Deep links not working
- ### Web links from push clicks not opening
- ### Deep links from push clicks not opening
- ## Understanding the Braze push workflow
- ### Step 1: Configuring your Google Cloud API key
- ### Step 2: Devices register for FCM and provide Braze with push tokens
- ### Step 3: Launching a Braze push campaign
- ### Step 4: Removing invalid tokens
- ## Utilizing the push error logs
- ## Troubleshooting scenarios
- ### Push isn't sending
- ### No "push registered" users showing in the Braze dashboard (prior to sending messages)
- #### Incorrect sender ID
- #### Braze registration not occurring
- #### Google Play Services not present
- #### Device not connected to the internet
- ### Tapping push notification doesn't open the app
- ### Push notifications bounced
- #### Error: MismatchSenderID
- #### Error: InvalidRegistration
- #### Error: NotRegistered
- ### Push notifications sent but not displayed on users' devices
- #### Application was force quit
- #### BrazeFirebaseMessagingService not registered
- #### Firewall is blocking push
- #### Custom notification factory returning null
- ### "Push registered" users no longer enabled after sending messages
- #### Application was uninstalled
- #### Invalid Firebase Cloud Messaging server key
- ### Push clicks not logged
- ### Deep links not working
- #### Verify deep link configuration
- #### Verify custom handling logic
- #### Disable back stack behavior
- ## Troubleshooting
- ### Push doesn't appear after app is closed from task switcher
- ### Custom notification factory not being set correctly
- ## Saltos de línea en las notificaciones push {#push-linebreaks}
- [Ejemplos avanzados de notificaciones push para el SDK de Braze](/docs/es/developer_guide/push_notifications/examples/index.md):
- # Guía del repositorio del SDK web {#web-sdk-repository-guide}
- ## Acerca del SDK web de Braze {#about-the-braze-web-sdk}
- ### Lo que puedes hacer {#what-you-can-do}
- ## Requisitos previos {#prerequisites}
- ### Obtener tus credenciales {#getting-your-credentials}
- ## Instalación {#installation}
- ## Inicio rápido {#quick-start}
- ## Referencia de configuración {#configuration-reference}
- ### Opciones de inicialización {#initialization-options}
- ## Características principales {#core-features}
- ### Inicialización y configuración {#initialization-setup}
- #### Inicialización básica {#basic-initialization}
- #### Opciones de inicialización avanzadas {#advanced-initialization-options}
- ### Gestión de usuarios {#user-management}
- #### Cambiar usuario {#change-user}
- #### Establecer atributos de usuario {#set-user-attributes}
- #### Establecer ubicación del usuario {#set-user-location}
- #### Alias de usuario y grupos de suscripción {#user-aliases-and-subscription-groups}
- #### Cierre de sesión del usuario {#user-logout}
- ### In-App Messages
- #### Visualización automática {#automatic-display}
- #### Visualización manual {#manual-display}
- #### Gestión personalizada de In-App Messages {#custom-in-app-message-handling}
- #### Registrar interacciones de In-App Messages {#log-in-app-message-interactions}
- #### In-App Messages HTML personalizados {#custom-html-in-app-messages}
- ### Content Cards
- #### Mostrar Content Cards {#display-content-cards}
- #### Suscribirse a actualizaciones de Content Cards {#subscribe-to-content-cards-updates}
- #### Registrar interacciones de Content Cards {#log-content-card-interactions}
- #### Filtrar Content Cards {#filter-content-cards}
- #### Solicitar actualización de Content Cards {#request-content-cards-refresh}
- #### Content Cards personalizadas {#custom-content-cards}
- ### Notificaciones push {#push-notifications}
- #### Solicitar permiso de push {#request-push-permission}
- #### Comprobar compatibilidad con push {#check-push-support}
- #### Cancelar registro de push {#unregister-push}
- ### Conmutadores de características {#feature-flags}
- #### Obtener un conmutador de características {#get-feature-flag}
- #### Suscribirse a actualizaciones de conmutadores de características {#subscribe-to-feature-flag-updates}
- #### Registrar impresiones de conmutadores de características {#log-feature-flag-impressions}
- #### Solicitar actualización de conmutadores de características {#request-feature-flags-refresh}
- ### Banners {#banners}
- #### Obtener y mostrar banners {#get-and-display-banners}
- #### Suscribirse a actualizaciones de banners {#subscribe-to-banner-updates}
- #### Solicitar actualización de banners {#request-banner-refresh}
- ### Análisis y eventos {#analytics-events}
- #### Registrar eventos personalizados {#log-custom-events}
- #### Registrar compras {#log-purchases}
- #### Solicitar envío inmediato de datos {#request-data-flush}
- ### Gestión de sesiones {#session-management}
- #### Abrir sesión {#open-session}
- #### Comprobar el estado del SDK {#check-sdk-status}
- #### Habilitar/deshabilitar el SDK {#enabledisable-sdk}
- ### Gestión de datos {#data-management}
- #### Borrar datos {#wipe-data}
- #### Destruir el SDK {#destroy-sdk}
- #### Obtener el ID de dispositivo {#get-device-id}
- #### Autenticación SDK {#sdk-authentication}
- #### Suscribirse a fallos de autenticación {#subscribe-to-authentication-failures}
- ## Patrones de integración {#integration-patterns}
- ### Frameworks SSR {#ssr-frameworks}
- ### Vite
- ### Framework Jest {#jest-framework}
- ### Definición de módulo asíncrono (AMD) {#asynchronous-module-definition-amd}
- #### Deshabilitar la compatibilidad con AMD {#disable-amd-support}
- #### Cargador de módulos {#module-loader}
- ### Páginas móviles aceleradas (AMP) {#accelerated-mobile-pages-amp}
- ### Electron
- ### Integración por CDN {#cdn-integration}
- ### Service worker (notificaciones push) {#service-worker-push-notifications}
- ### Gestores de etiquetas {#tag-managers}
- #### Tealium iQ
- #### Otros gestores de etiquetas {#other-tag-managers}
- ## Bibliotecas {#libraries}
- ## Navegadores compatibles {#supported-browsers}
- ## Depuración y solución de problemas {#debugging-troubleshooting}
- ## Font Awesome
- ## Recursos adicionales {#additional-resources}
- ## Contacto {#contact}
- [Guía del repositorio del Android SDK](/docs/es/developer_guide/sdk_repository_guides/android/index.md):
- # Guía del repositorio del Android SDK {#android-sdk-repository-guide}
- ## Acerca del Android SDK de Braze {#about-the-braze-android-sdk}
- ## Inicio rápido {#quickstart}
- ## Compatibilidad de versiones {#version-support}
- ## Módulos {#modules}
- ## Contacto {#contact}
- [Guía del repositorio del Swift SDK](/docs/es/developer_guide/sdk_repository_guides/swift/index.md):
- # Guía del repositorio del Swift SDK {#swift-sdk-repository-guide}
- ## Acerca del SDK Swift de Braze {#about-the-braze-swift-sdk}
- ## Inicio rápido {#quickstart}
- ## Compatibilidad de versiones {#version-support}
- ## Gestores de paquetes {#package-managers}
- ## Bibliotecas {#libraries}
- ## Ejemplos {#examples}
- ## Repositorios alternativos {#alternative-repositories}
- ## Contacto {#contact}
- [Guía del repositorio del JavaScript SDK](/docs/es/developer_guide/sdk_repository_guides/javascript/index.md):
- # Guía del repositorio del JavaScript SDK {#javascript-sdk-repository-guide}
- ## Acerca del JavaScript SDK de Braze {#about-the-braze-javascript-sdk}
- ### Resumen de la arquitectura {#architecture-overview}
- ## Inicio rápido {#quickstart}
- ## Requisitos previos {#prerequisites}
- ### Obtener tus credenciales {#getting-your-credentials}
- ## Integración {#integration}
- ### Llamar a la API {#calling-the-api}
- ### Conceptos principales {#core-concepts}
- #### Implementaciones requeridas {#required-implementations}
- #### Vaciado de datos {#data-flushing}
- ### Patrones de integración {#integration-patterns}
- #### Integración básica {#basic-integration}
- #### Implementación de almacenamiento personalizado {#custom-storage-implementation}
- #### Implementación de red personalizada {#custom-network-implementation}
- #### Manejo de errores {#error-handling}
- #### Gestión de suscripciones {#subscription-management}
- ### Casos de uso comunes {#common-use-cases}
- #### Identificación de usuarios y seguimiento de atributos {#user-identification-and-attribute-tracking}
- #### Registro de eventos y análisis {#event-logging-and-analytics}
- #### Manejo de mensajes dentro de la aplicación {#in-app-message-handling}
- ### Manejo de errores y casos límite {#error-handling-edge-cases}
- #### Condiciones de error comunes {#common-error-conditions}
- ### Notas importantes de implementación {#important-implementation-notes}
- ## Depuración / solución de problemas {#debugging-troubleshooting}
- ## Contacto {#contact}
- [Guía del repositorio del SDK de Cordova](/docs/es/developer_guide/sdk_repository_guides/cordova/index.md):
- # Guía del repositorio del SDK de Cordova {#cordova-sdk-repository-guide}
- ## Acerca del SDK de Braze para Cordova {#about-the-braze-cordova-sdk}
- ## Requisitos mínimos de versión {#minimum-version-requirements}
- ## Instalación del SDK {#installing-the-sdk}
- ## Ejecución de la aplicación de ejemplo {#running-the-sample-application}
- [Guía del repositorio del Flutter SDK](/docs/es/developer_guide/sdk_repository_guides/flutter/index.md):
- # Guía del repositorio del Flutter SDK {#flutter-sdk-repository-guide}
- ## Acerca del SDK de Flutter de Braze {#about-the-braze-flutter-sdk}
- ## Inicio rápido {#quickstart}
- ### Android
- ### iOS
- ### Dart
- ## Compatibilidad de versiones {#version-support}
- ## Aplicación de ejemplo {#sample-app}
- ## Contacto {#contact}
- [Guía del repositorio del SDK de React Native](/docs/es/developer_guide/sdk_repository_guides/react_native/index.md):
- # Guía del repositorio del SDK de React Native {#react-native-sdk-repository-guide}
- ## Acerca del SDK de React Native de Braze {#about-the-braze-react-native-sdk}
- ### Qué puedes hacer {#what-you-can-do}
- ## Requisitos previos {#prerequisites}
- ## Instalación {#installation}
- ## Inicio rápido {#quick-start}
- ## Configuración nativa {#native-setup}
- ### Android
- ### iOS
- ## Referencia de configuración {#configuration-reference}
- ### Android (braze.xml)
- ### iOS (Braze.Configuration)
- ## API de JavaScript / TypeScript {#javascript-typescript-api}
- ## Características principales {#core-features}
- ### Gestión de usuarios {#user-management}
- ### Mensajes dentro de la aplicación {#in-app-messages}
- ### Content Cards
- ### Banners
- ### Notificaciones push {#push-notifications}
- ### Conmutadores de características {#feature-flags}
- ### Análisis y compras {#analytics-and-purchases}
- ### Gestión de datos y estado del SDK {#data-management-and-sdk-state}
- ## Eventos {#events}
- ## Notas de integración {#integration-notes}
- ## - Jest: simula los módulos nativos de react-native o el Turbo module de Braze (consulta tests/jest.setup.js en este repositorio para ver patrones). {#jest-mock-react-native-native-modules-or-the-braze-turbo-module-see-testsjestsetupjs-in-this-repo-for-patterns}
- ## Compatibilidad de versiones {#version-support}
- ## Complemento Braze Expo {#braze-expo-plugin}
- ## Aplicación de ejemplo {#sample-app}
- ## Depuración y solución de problemas {#debugging-and-troubleshooting}
- ## Recursos adicionales {#additional-resources}
- ## Contacto {#contact}
- [Guía del repositorio del SDK de Roku](/docs/es/developer_guide/sdk_repository_guides/roku/index.md):
- # Guía del repositorio del SDK de Roku {#roku-sdk-repository-guide}
- ## Acerca del SDK de Roku de Braze {#about-the-braze-roku-sdk}
- ## Integración inicial del SDK {#initial-sdk-integration}
- ## Paso 1: Añadir archivos {#step-1-add-files}
- ## Paso 2: Añadir referencias {#step-2-add-references}
- ## Paso 3: Configurar {#step-3-configure}
- ## Paso 4: Inicializar Braze {#step-4-initialize-braze}
- ## Configuración de mensajes dentro de la aplicación {#in-app-message-setup}
- ## Integración básica del SDK completada {#basic-sdk-integration-complete}
- ## Referencia adicional {#additional-reference}
- [Guía del repositorio del SDK de Unity](/docs/es/developer_guide/sdk_repository_guides/unity/index.md):
- # Guía del repositorio del SDK de Unity {#unity-sdk-repository-guide}
- ## Acerca del SDK de Unity de Braze {#about-the-braze-unity-sdk}
- ## Configuración del plugin {#plugin-setup}
- ## Configuración de la integración {#integration-setup}
- ## Ponte en contacto {#contact}
- [Guía del repositorio del SDK .NET MAUI (Xamarin)](/docs/es/developer_guide/sdk_repository_guides/xamarin/index.md):
- # Guía del repositorio del SDK .NET MAUI (Xamarin) {#net-maui-xamarin-sdk-repository-guide}
- ## Acerca del SDK .NET MAUI (Xamarin) de Braze {#about-the-braze-net-maui-xamarin-sdk}
- ## Componentes {#components}
- ## Versionado {#versioning}
- ### Bindings nativos {#native-bindings}
- ### Xamarin y Xamarin.Forms {#xamarin-xamarinforms}
- ## ¿Tienes preguntas? {#questions}
- [Registros de cambios](/docs/es/developer_guide/changelogs/index.md): También puedes encontrar una copia del registro de cambios del SDK Web de Braze en GitHub.
- # Registros de cambios del SDK de Braze {#braze-sdk-changelogs}
- [Divulgaciones y cualificaciones](/docs/es/developer_guide/disclosures/index.md)
- [Divulgación de vulnerabilidades de seguridad](/docs/es/developer_guide/disclosures/security_and_vulnerability_disclosure/index.md):