Ir al contenido

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.

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.

Para admitir el envío de enlaces universales de iOS como vínculos profundos desde Braze:

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.

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];

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.

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

  1. Braze: Habilita el registro detallado y busca entradas del tipo Opening '<URL>':. Esto confirma que el SDK recibió el enlace.
  2. Branch: Habilita el modo de prueba de Branch y revisa el panel de Branch en busca de eventos de clic en enlaces.
  3. Compara: Si Braze registra el enlace pero Branch no detecta un clic, es probable que la lógica de enrutamiento de BrazeDelegate no esté interceptando el enlace correctamente. Verifica que la coincidencia de dominio en shouldOpenURL incluya 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.

New Stuff!