Branch para la vinculación en profundidad
Branch es una plataforma de enlace móvil utilizada para adquirir, interactuar y medir a través de dispositivos, canales y plataformas, proporcionando una visión holística de los puntos de intervención del usuario.
Esta integración está mantenida por Branch.
Acerca de la integración
La integración de Braze y Branch te permite ofrecer mejores experiencias a tus clientes al permitirte atribuir correctamente el inicio de su recorrido de usuario y conectarlos a través de vínculos profundos con la ubicación deseada.

Si necesitas ayuda para elegir el enfoque de vinculación en profundidad adecuado para tu caso de uso, consulta la guía de vinculación en profundidad de iOS.
Integración
Sigue la guía de integración del SDK de Branch para configurar tu integración con Branch. Consulta lo siguiente para ejemplos adicionales.
Compatibilidad con enlaces universales de iOS
Para admitir el envío de enlaces universales de iOS como vínculos profundos desde Braze:
Paso 1: Configura los enlaces universales de Branch
Sigue la documentación de Branch para configurar los enlaces universales. Como parte de esta configuración, Branch aloja el archivo AASA en tu dominio de enlace de Branch (por ejemplo, yourapp.app.link) de forma automática.
Paso 2: Configura los dominios asociados
En Xcode, ve al objetivo de tu aplicación > Signing & Capabilities y añade tu dominio de enlace de Branch en Associated Domains:
applinks:yourapp.app.link
applinks:yourapp-alternate.app.link
Si usas un dominio personalizado de Branch, añádelo también.
Paso 3: Reenvía los enlaces universales en Braze
Establece forwardUniversalLinks en true en la configuración de tu SDK de Braze para que el SDK reenvíe los enlaces universales al AppDelegate de tu aplicación:
let configuration = Braze.Configuration(apiKey: "<BRAZE_API_KEY>", endpoint: "<BRAZE_ENDPOINT>")
configuration.forwardUniversalLinks = true
let braze = Braze(configuration: configuration)
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
endpoint:@"<BRAZE_ENDPOINT>"];
configuration.forwardUniversalLinks = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
Paso 4: Enruta los enlaces de Branch con BrazeDelegate
Implementa BrazeDelegate para interceptar los enlaces de Branch antes de que Braze los gestione. Esto asegura que Branch pueda procesar el enlace y realizar su propio enrutamiento:
func braze(_ braze: Braze, shouldOpenURL context: Braze.URLContext) -> Bool {
if let host = context.url.host,
host.contains("app.link") || host.contains("yourdomain.com") {
// Let Branch handle this link
Branch.getInstance.handleDeepLink(context.url)
return false
}
// Let Braze handle all other links
return true
}
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
NSString *host = context.url.host;
if (host && ([host containsString:@"app.link"] || [host containsString:@"yourdomain.com"])) {
[[Branch getInstance] handleDeepLink:context.url];
return NO;
}
return YES;
}
Sustituye yourdomain.com por tu dominio personalizado de Branch, si corresponde.
Vinculación en profundidad en correo electrónico
Consulta la documentación sobre enlaces universales y App Links o revisa la documentación de Branch para configurar la vinculación en profundidad desde correos electrónicos enviados a través de Braze.
Los enlaces a números de teléfono (añadir tel a href) no son compatibles en la aplicación de Gmail para iOS, a menos que el usuario conceda permisos de llamada a la aplicación.
Dependiendo de tu ESP, puede ser necesaria una personalización adicional para admitir enlaces universales con seguimiento de clics. Esta información se detalla en nuestro artículo dedicado. También puedes consultar las siguientes referencias para obtener más información:
Solución de problemas
Si los enlaces de Branch no funcionan como se espera en las Campaigns de Braze, sigue estos pasos.
Verificar que el enlace funciona fuera de Braze
Abre el enlace de Branch desde la aplicación Notas en un dispositivo iOS físico. Si no abre tu aplicación:
- El problema está en la configuración de Branch o AASA, no en Braze.
- Valida tu AASA de Branch en
https://yourapp.app.link/.well-known/apple-app-site-association. - Comprueba que tu Bundle ID y Team ID coinciden en el panel de Branch.
Habilitar registro dual
- Braze: Habilita el registro detallado y busca entradas del tipo
Opening '<URL>':. Esto confirma que el SDK recibió el enlace. - Branch: Habilita el modo de prueba de Branch y revisa el panel de Branch en busca de eventos de clic en enlaces.
- Compara: Si Braze registra el enlace pero Branch no detecta un clic, es probable que la lógica de enrutamiento de
BrazeDelegateno esté interceptando el enlace correctamente. Verifica que la coincidencia de dominio enshouldOpenURLincluya tu dominio de Branch.
Problemas comunes
| Síntoma | Causa probable | Solución |
|---|---|---|
| El enlace de Branch se abre en Safari | AASA inválido o faltante en el dominio de Branch | Verifica Associated Domains y el archivo AASA |
| El enlace de Branch se abre pero llega a la pantalla incorrecta | Datos del enlace de Branch mal configurados | Revisa las reglas de enrutamiento en el panel de Branch |
| El enlace funciona desde push pero no desde correo electrónico | Falta AASA en el dominio de seguimiento de clics | Aloja el AASA en el dominio de seguimiento de clics de tu ESP; consulta Configuración de correo electrónico |
shouldOpenURL nunca se activa para enlaces de Branch |
forwardUniversalLinks no habilitado |
Establece configuration.forwardUniversalLinks = true |
| El enlace de Branch funciona desde Notas pero no desde Braze | BrazeDelegate devuelve true para URL de Branch |
Verifica la comprobación de dominio en shouldOpenURL para que coincida con tu dominio de Branch |
Para más escenarios de solución de problemas de vínculos profundos, consulta Solución de problemas de vínculos profundos.