Escrito por Obed Cavanzo (Solutions Architect)
Uma boa integração não termina quando o código é enviado. Ela termina quando tudo funciona como deveria, no mundo real.
Este guia foi pensado para equipes que utilizam o Braze em aplicativos móveis (iOS e Android) e querem garantir que as bases estejam bem estabelecidas antes de cada release. Ele percorre passo a passo o processo de QA para validar que a integração do SDK esteja funcionando corretamente — especificamente para os canais de push notifications e in-app messages.
Cada seção deve ser executada separadamente para iOS e Android, sempre com usuários de teste distintos por dispositivo. Nossa recomendação: documentar cada resultado em um checklist compartilhado. Isso garante rastreabilidade, organização e um histórico claro do que foi validado e quando.
1. Identificação de Usuários
Objetivo
Verificar que a transição de usuário anônimo para identificado preserve o histórico de sessões, atribua corretamente o número da sessão e reatribua tokens (push, device) de forma adequada. Essa validação é crítica para personalização, atribuição de campanhas e gestão de limites de envio.
Procedimento de Validação
-
Iniciar o aplicativo e completar o fluxo de criação de usuário.
É importante utilizar um usuário diferente para cada tipo de dispositivo de teste. -
Verificar que o método
changeUser(external_id)seja chamado no fluxo de login, imediatamente após o registro bem-sucedido. -
Confirmar no Dashboard do Braze (por meio do Search User) que o novo
external_idexiste e está corretamente associado.
Caso o usuário não apareça no dashboard, revisar os logs do SDK do Braze para confirmar que a chamada da função está sendo executada sem erros e com um parâmetro (external_id) válido. -
Iniciar o aplicativo e completar o fluxo de login.
É importante utilizar um usuário diferente para cada tipo de dispositivo de teste. -
Realizar a mesma validação descrita nos passos anteriores.
Ferramentas de Diagnóstico
SDK Logs / Braze Logger
- Ativar logs verbose no ambiente de QA para visualizar a chamada
changeUser()e verificar as respostas do SDK. - Documentação: Android – Swift
Search User (Dashboard)
- Confirmar a existência do usuário juntamente com as propriedades associadas.
- Documentação
SDK Debugger (Dashboard)
- Opcional: criar uma sessão de debug para capturar tráfego e erros durante a troca de usuário.
- Documentação
2. Ingestão e Atualização de Atributos de Usuário
Objetivo
Validar que os atributos de usuário (email, nome, atributos personalizados) sejam criados e atualizados corretamente, mantenham tipos de dados válidos, respeitem a precedência por timestamp e não corrompam segmentos nem personalizações. Essa validação impacta diretamente a segmentação de audiências e o conteúdo dinâmico das campanhas.
Procedimento de Validação
Na seção anterior, você deve ter executado o fluxo que cria todos os atributos de um usuário a partir do SDK (atributos padrão usando funções como setFirstName, setEmail, ou atributos customizados usando setCustomAttribute) ou via API (/users/track).
Após isso, deve-se:
-
Verificar no dashboard que os atributos sejam exibidos corretamente, com a mesma nomenclatura definida e o tipo de dado correto para cada atributo.
-
Validar de forma independente para as plataformas iOS e Android.
-
Enviar atributos com formatos ou tipos de dados incorretos (data mal formatada, string em campo numérico) e documentar como o Braze normaliza ou rejeita esses valores.
Ferramentas de Diagnóstico
-
Search User (Dashboard)
Filtrar poruser_ide revisar os writes de atributos: quem os enviou, quais valores e quando. -
SDK Logs / Braze Logger
Identificar possíveis erros locais ao definir atributos no cliente.

3. Tracking de Eventos Personalizados e de Purchase
Objetivo
Garantir que os eventos personalizados e de purchase, junto com suas propriedades, cheguem com o esquema correto, sirvam para segmentação de audiências e disparem corretamente campanhas em Canvas e Campaigns. Sem eventos confiáveis, os triggers e a análise de comportamento não funcionam.
Requisitos
- Ter um Internal Group criado com a permissão “User Events”, assim como um usuário de teste pertencente a esse grupo.
Isso permitirá visualizar logs no dashboard do Braze para os eventos executados por usuários de teste definidos.- Caso não exista um Internal Group, criá-lo em Settings > Internal Groups.O Internal Group deve ter habilitada a opção “User Events”.

- Adicionar o usuário de teste selecionando o Internal Group recém-criado e clicando em “Add test users”.

- Buscar o usuário de teste pelo
external_id, selecionar Select User e concluir o fluxo
- Caso não exista um Internal Group, criá-lo em Settings > Internal Groups.O Internal Group deve ter habilitada a opção “User Events”.
Procedimento de Validação
-
Iniciar sessão com o usuário de teste (criado no Internal Group). Executar todos os eventos definidos no tracking plan, junto com suas propriedades de evento de diferentes tipos: strings, números, booleanos e datas.
-
Verificar a aparição no Dashboard → Events e no Event User Log. Revisar os logs do usuário de teste e os detalhes de cada evento para confirmar a ingestão correta: nomenclatura do evento, propriedades e tipos de dados.
-

Ferramentas de Diagnóstico
-
Event User Log
Inspecionar o evento, suas propriedades e origem (SDK ou API). Útil para verificar se um evento chegou, mas não foi considerado para uma campanha. -
SDK Debugger / SDK Logs
Verificar se o evento foi enfileirado/enviado e identificar erros no cliente.


4. Entrega e Visualização de Mensagens In-App
Objetivo
Validar que as mensagens in-app sejam exibidas com a lógica, aparência e ações esperadas (botões, links, deep links). É importante testar diferentes layouts, personalização e condições de exibição para garantir uma experiência correta ao usuário.
Procedimento de Validação
-
Utilizar Preview e Send Test no composer (Dashboard → Campaigns) para validar o aspecto visual da mensagem.
-
Criar triggers condicionais (exemplo: evento X + atributo Y) e verificar que a mensagem in-app apareça apenas quando a lógica definida for atendida.
-
Para isso, é necessário publicar uma campanha e incluir no segmento os
external_iddos usuários de teste.
Ferramentas de Diagnóstico
-
Message Activity Log
Revisar erros de entrega de in-app, problemas de renderização ou falhas específicas da campanha. -
SDK Debugger / SDK Logs
Verificar chamadas de fetch de in-app e/ou erros de renderização no cliente.
5. Entrega e Visualização de Push Notifications
Objetivo
Comprovar o registro de tokens, a entrega via APNs/FCM, o comportamento em diferentes estados do aplicativo (foreground, background, encerrado), payloads (deep link, ações, rich media) e métricas de desempenho (delivered/opened). Essa validação é crítica para a entrega efetiva e a experiência do usuário em dispositivos móveis.
Procedimento de Validação
-
Verificar que, ao iniciar o aplicativo, o
push_tokenapareça corretamente no perfil do usuário no Braze. -
Enviar um Send Test push a partir do Dashboard para o dispositivo de teste.
-
Testar nos três estados: foreground, background e aplicativo encerrado.
-
Testar diferentes payloads: title, body, custom keys, deeplink, badge, sound e rich media.
-
Tocar a notificação e verificar se a navegação (deep link) funciona corretamente.
-
Validar métricas de entrega comparando sends → delivered → opened no Dashboard e rastrear erros de APNs/FCM.
Ferramentas de Diagnóstico
-
Message Activity Log
Revisar erros de envio (APNs/FCM), entregas falhas e motivos específicos. -
SDK Logs
Confirmar o registro do token e o recebimento da notificação no cliente.
6. Navegação por Web Links
Objetivo
Garantir que os links em mensagens (email, in-app, SMS) redirecionem corretamente, preservem UTMs e parâmetros de tracking, e que o click tracking não quebre cookies nem a experiência do usuário. Essa validação impacta diretamente a atribuição de conversões e a análise de campanhas.
Procedimento de Validação
-
Enviar mensagens com links que incluam UTMs e parâmetros personalizados.
-
Verificar que, ao clicar, os parâmetros cheguem intactos ao destino.
-
Validar se o link abre em WebView (gerenciado pelo handler do Braze) ou no navegador, e confirmar que esse é o comportamento esperado.
Ferramentas de Diagnóstico
-
Custom App Logs
Logar informações customizadas que permitam determinar se o web link está chegando corretamente e se o app está se comportando como esperado (abrir WebView ou iniciar outra Activity).
7. Navegação por Deep Links
Objetivo
Testar que Universal Links (iOS), App Links (Android) e custom schemes abram o aplicativo e naveguem para o conteúdo correto com os parâmetros intactos. Essa validação é essencial para fluxos de conversão, como abrir um produto específico a partir de uma notificação.
Procedimento de Validação
-
Opcional para Universal Links: verificar a configuração de Universal/App Links em iOS/Android (arquivos
apple-app-site-associationeassetlinks.json) e que o Braze esteja configurado para utilizá-los. -
Enviar deep links em push/in-app/email e testar com o aplicativo instalado: deve abrir diretamente.
-
Verificar que os parâmetros (exemplo:
?product_id=123) sejam entregues ao aplicativo e que a navegação interna funcione corretamente. -
Forçar deep links com dados inválidos para verificar se o aplicativo lida corretamente com fallback sem crash.
Ferramentas de Diagnóstico
-
Custom App Logs
Observar como o SDK trata o deep link e qual handler é invocado.
Apêndice: Checklist Rápido de Pré-Release
Antes de cada release em produção, verificar que as seguintes validações foram concluídas:
- Identificação de usuários funcionando corretamente em ambas as plataformas
- Atributos de usuário ingeridos com nomenclatura e tipos corretos
- Eventos personalizados aparecendo no Dashboard e ativando segmentos
- Mensagens in-app exibidas conforme as condições configuradas
- Push notifications entregues em todos os estados do aplicativo
- Web links preservando UTMs e redirecionando corretamente
- Deep links navegando corretamente e tratando erros



