Ir para o conteúdo

Branch para deep linking

A Branch é uma plataforma de vinculação móvel usada para adquirir, engajar e medir em dispositivos, canais e plataformas, fornecendo uma visão holística dos pontos de contato do usuário.

Essa integração é mantida pela Branch.

Sobre a integração

A integração entre Braze e Branch permite oferecer experiências melhores aos seus clientes, possibilitando a atribuição adequada do início da jornada do usuário e a conexão por meio de deep links ao destino desejado.

Integração

Siga o guia de integração do SDK da Branch para configurar sua integração com a Branch. Consulte as seções a seguir para casos de uso adicionais.

Para dar suporte ao envio de links universais do iOS como deep links a partir da Braze:

Siga a documentação da Branch para configurar links universais. Como parte dessa configuração, a Branch hospeda o arquivo AASA no domínio do link da Branch (por exemplo, yourapp.app.link) automaticamente.

Etapa 2: Configurar Associated Domains

No Xcode, acesse o target do seu app > Signing & Capabilities e adicione o domínio do link da Branch em Associated Domains:

applinks:yourapp.app.link
applinks:yourapp-alternate.app.link

Se você usar um domínio personalizado da Branch, adicione-o também.

Defina forwardUniversalLinks como true na configuração do SDK da Braze para que o SDK encaminhe links universais para o AppDelegate do seu app:

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

Implemente o BrazeDelegate para interceptar links da Branch antes que a Braze os processe. Isso garante que a Branch possa processar o link e realizar seu próprio roteamento:

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

Substitua yourdomain.com pelo seu domínio personalizado da Branch, se aplicável.

Deep linking em e-mails

Consulte a documentação sobre Links universais e App Links ou veja a documentação da Branch para configurar deep linking em e-mails enviados pela Braze.

Links para números de telefone (adicionando tel ao href) não são compatíveis com o app do Gmail para iOS, a menos que o usuário conceda permissões de chamada ao app.

Dependendo do seu provedor de serviços de e-mail, pode ser necessária uma personalização adicional para dar suporte a links universais com rastreamento de cliques. Essas informações estão descritas em nosso artigo dedicado. Você também pode consultar as referências a seguir para saber mais:

Solução de problemas

Se os links do Branch não estiverem funcionando como esperado nas Campaigns da Braze, siga estas etapas.

Abra o link do Branch no app Notas em um dispositivo iOS físico. Se ele não abrir seu app:

  • O problema está na configuração do Branch ou do AASA, não na Braze.
  • Valide seu AASA do Branch em https://yourapp.app.link/.well-known/apple-app-site-association.
  • Verifique se o Bundle ID e o Team ID correspondem no dashboard do Branch.

Ativar registro duplo

  1. Braze: Ative o registro detalhado e procure entradas Opening '<URL>':. Isso confirma que o SDK recebeu o link.
  2. Branch: Ative o modo de teste do Branch e verifique no dashboard do Branch os eventos de clique no link.
  3. Compare: Se a Braze registra o link, mas o Branch não detecta um clique, a lógica de roteamento do BrazeDelegate provavelmente não está interceptando o link corretamente. Verifique se a correspondência de domínio em shouldOpenURL inclui seu domínio do Branch.

Problemas comuns

Sintoma Causa provável Correção
O link do Branch abre no Safari AASA inválido ou ausente no domínio do Branch Verifique os Associated Domains e o arquivo AASA
O link do Branch abre, mas direciona para a tela errada Dados do link do Branch mal configurados Verifique as regras de roteamento no dashboard do Branch
O link funciona via push, mas não por e-mail Domínio de rastreamento de cliques sem AASA Hospede o AASA no domínio de rastreamento de cliques do seu provedor de serviços de e-mail; consulte Configuração de e-mail
shouldOpenURL nunca é acionado para links do Branch forwardUniversalLinks não ativado Defina configuration.forwardUniversalLinks = true
O link do Branch funciona no Notas, mas não na Braze BrazeDelegate retornando true para URLs do Branch Verifique a verificação de domínio em shouldOpenURL para garantir que corresponda ao seu domínio do Branch

Para mais cenários de solução de problemas com deep linking, consulte Solução de problemas de deep linking.

New Stuff!