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.
Sobre la integración
La integración de Braze y Branch te permite ofrecer mejores experiencias a tus clientes, ya que te permite atribuir correctamente el inicio de su viaje de usuario y conectarlos a través de vínculos profundos a su ubicación prevista.

Para obtener ayuda a la hora de 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 de SDK de Branch para poner en marcha tu integración de Branch. Consulta a continuación otros casos de uso.
Compatibilidad con enlaces universales de iOS
Para admitir el envío de enlaces universales de iOS como vínculos profundos desde Braze:
Paso 1: Configurar 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: Configurar 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:
1
2
applinks:yourapp.app.link
applinks:yourapp-alternate.app.link
Si utilizas un dominio personalizado de Branch, añádelo también.
Paso 3: Reenviar 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:
1
2
3
let configuration = Braze.Configuration(apiKey: "<BRAZE_API_KEY>", endpoint: "<BRAZE_ENDPOINT>")
configuration.forwardUniversalLinks = true
let braze = Braze(configuration: configuration)
1
2
3
4
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
endpoint:@"<BRAZE_ENDPOINT>"];
configuration.forwardUniversalLinks = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
Paso 4: Enrutar los enlaces de Branch con BrazeDelegate
Implementa BrazeDelegate para interceptar los enlaces de Branch antes de que Braze los gestione. Esto garantiza que Branch pueda procesar el enlace y realizar su propio enrutamiento:
1
2
3
4
5
6
7
8
9
10
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
}
1
2
3
4
5
6
7
8
- (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 el correo electrónico
Consulta la documentación sobre enlaces universales y enlaces de aplicación o consulta la documentación de Branch para configurar la vinculación en profundidad desde los correos electrónicos enviados a través de Braze.
La vinculación a números de teléfono (añadir tel a href) no es compatible con 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 describe en nuestro artículo específico. 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 desde las campañas 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 tu 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 dashboard de Branch.
Habilitar el registro dual
- Braze: Habilita el registro detallado y busca entradas
Opening '<URL>':. Esto confirma que el SDK recibió el enlace. - Branch: Habilita el modo de prueba de Branch y comprueba en el dashboard de Branch los 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. Comprueba 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 no válido o ausente en el dominio de Branch | Verifica los dominios asociados y el archivo AASA |
| El enlace de Branch se abre pero lleva a la pantalla incorrecta | Datos del enlace de Branch mal configurados | Comprueba las reglas de enrutamiento en el dashboard 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 los enlaces de Branch |
forwardUniversalLinks no está habilitado |
Establece configuration.forwardUniversalLinks = true |
| El enlace de Branch funciona desde Notas pero no desde Braze | BrazeDelegate devuelve true para las 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 vinculación en profundidad, consulta Solución de problemas de vinculación en profundidad.