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 a Braze e a Branch permite oferecer melhores experiências aos seus clientes, pois você pode atribuir adequadamente o início da jornada do usuário e conectá-los por deep links ao local pretendido.
Para ajuda na escolha da abordagem de deep linking mais adequada ao seu caso de uso, consulte o guia de deep linking para iOS.
Integração
Siga o guia de integração de SDK da Branch para configurar sua integração. Consulte os casos de uso adicionais a seguir.
Suporte a links universais do iOS
Para dar suporte ao envio de links universais do iOS como deep links na Braze:
Etapa 1: Configurar links universais da Branch
Siga a documentação da Branch para configurar links universais. Como parte dessa configuração, a Branch hospeda automaticamente o arquivo AASA no domínio do seu link Branch (por exemplo, yourapp.app.link).
Etapa 2: Configurar Associated Domains
No Xcode, acesse o target do seu app > Signing & Capabilities e adicione o domínio do seu link Branch em Associated Domains:
1
2
applinks:yourapp.app.link
applinks:yourapp-alternate.app.link
Se você usa um domínio Branch personalizado, adicione-o também.
Etapa 3: Encaminhar links universais na Braze
Defina forwardUniversalLinks como true na configuração do SDK da Braze para que o SDK encaminhe links universais ao AppDelegate do seu app:
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];
Etapa 4: Rotear links da Branch com BrazeDelegate
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:
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;
}
Substitua yourdomain.com pelo seu domínio Branch personalizado, se aplicável.
Deep linking em e-mails
Consulte a documentação sobre links universais e links de app ou veja a documentação da Branch para configurar deep linking a partir de e-mails enviados pela Braze.
O vínculo a números de telefone (anexando tel a href) não é compatível com o app Gmail para iOS, a menos que o usuário conceda permissões de chamada ao app.
Dependendo do seu ESP, 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 específico. Você também pode consultar as seguintes referências para saber mais:
Solução de problemas
Se os links da Branch não estiverem funcionando como esperado em Campaigns da Braze, siga estas etapas.
Verificar se o link funciona fora da Braze
Abra o link da Branch pelo app Notas em um dispositivo iOS físico. Se ele não abrir seu app:
- O problema está na configuração da Branch ou do AASA, não na Braze.
- Valide o AASA da Branch em
https://yourapp.app.link/.well-known/apple-app-site-association. - Verifique se o Bundle ID e o Team ID correspondem no dashboard da Branch.
Ativar registro duplo
- Braze: Ative o registro detalhado e procure por entradas
Opening '<URL>':. Isso confirma que o SDK recebeu o link. - Branch: Ative o modo de teste da Branch e verifique os eventos de clique no link no dashboard da Branch.
- Compare: Se a Braze registra o link, mas a Branch não detecta um clique, a lógica de roteamento do
BrazeDelegateprovavelmente não está interceptando o link corretamente. Verifique se a correspondência de domínio emshouldOpenURLinclui o domínio da Branch.
Problemas comuns
| Sintoma | Causa provável | Correção |
|---|---|---|
| O link da Branch abre no Safari | AASA inválido ou ausente no domínio da Branch | Verifique os Associated Domains e o arquivo AASA |
| O link da Branch abre, mas direciona para a tela errada | Dados do link da Branch mal configurados | Verifique as regras de roteamento no dashboard da 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 ESP; consulte Configuração de e-mail |
shouldOpenURL nunca é acionado para links da Branch |
forwardUniversalLinks não ativado |
Defina configuration.forwardUniversalLinks = true |
| O link da Branch funciona pelo Notas, mas não pela Braze | BrazeDelegate retornando true para URLs da Branch |
Verifique a correspondência de domínio em shouldOpenURL com o domínio da Branch |
Para mais cenários de solução de problemas com deep linking, consulte Solução de problemas de deep linking.