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.
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.
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_id existe 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.
changeUser() e verificar as respostas do SDK.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.
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.
Search User (Dashboard)
Filtrar por user_id e 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.

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.


external_id, selecionar Select User e concluir o fluxoIniciar 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.

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.


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.
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_id dos usuários de teste.
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.
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.
Verificar que, ao iniciar o aplicativo, o push_token apareç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.
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.
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.
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.
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).
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.
Opcional para Universal Links: verificar a configuração de Universal/App Links em iOS/Android (arquivos apple-app-site-association e assetlinks.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.
Custom App Logs
Observar como o SDK trata o deep link e qual handler é invocado.
Antes de cada release em produção, verificar que as seguintes validações foram concluídas:
