Testando a integração do SDK da Singular
Guia completo para validar as integrações do SDK da Singular e S2S usando o Console de testes, os Registros de exportação e os relatórios de Auditoria do SDK antes do lançamento em produção.
Depois de integrar o SDK da Singular ao seu aplicativo ou criar uma integração de servidor a servidor, é essencial verificar a transmissão de dados para a Singular antes do lançamento em produção.
| Público-alvo | Desenvolvedores, engenheiros de QA |
| Pré-requisitos |
|
Visão geral das ferramentas de teste
Métodos de teste disponíveis
A Singular oferece três ferramentas complementares para validação de integração, cada uma voltada para fases e requisitos de teste específicos.
| Ferramenta | Finalidade | Momento | Ideal para |
|---|---|---|---|
| Console de testes | Transmite dados em tempo real de dispositivos de teste para validação imediata de recursos durante a implementação | Tempo real | Desenvolvimento ativo e depuração |
| Registros de exportação | Baixa dados em nível de usuário para análise detalhada e verificação após os testes | ~3 horas de atraso | Análise de dados históricos |
| Auditoria do SDK | Identifica automaticamente problemas de integração com recomendações práticas para resolução | Dados dos últimos 3 dias | Validação abrangente |
Estratégia de teste: Use o Console de testes durante o desenvolvimento ativo para feedback imediato, os Registros de exportação para verificação detalhada e a Auditoria do SDK para validação abrangente final antes do lançamento em produção.
Console de testes
Ferramenta de teste em tempo real que transmite dados ao vivo de dispositivos de teste registrados para validação imediata da integração e depuração.
Pré-requisitos
Antes de usar o Console de testes
Certifique-se de atender aos seguintes requisitos antes de iniciar a validação no Console de testes:
- Dispositivo de teste limpo: Use um dispositivo no qual o aplicativo de teste nunca foi instalado para obter testes precisos de atribuição de instalação
- Plano de teste de eventos: Prepare uma lista de eventos e atributos para verificar durante a sessão de teste
- Conscientização sobre iOS ATT: Determine se o aviso do App Tracking Transparency (ATT) aparece, pois isso afeta o tipo de identificador (IDFV vs IDFA) para os testes
Limitação importante: O Console de testes não fornece relatórios históricos. Os eventos devem ocorrer enquanto o dispositivo está selecionado e o indicador 🟢 Ao vivo estiver ativo para aparecer no console.
Etapa 1: Adicionar dispositivo de teste
Registro do dispositivo
Registre o dispositivo de teste no Console de testes usando o identificador de dispositivo apropriado para transmissão de eventos em tempo real.
Etapas de registro
- Navegue até Ferramentas do desenvolvedor → Console de testes na plataforma Singular
- Clique no botão Adicionar dispositivo
-
Selecione o
Tipo de dispositivo
no menu suspenso:
- Android: Prefira o Google Advertising ID (GAID/aifa), AppSetID (asid) ou AndroidID (andi) nessa ordem
- iOS: Use o IDFA quando disponível (requer consentimento do ATT); caso contrário, use o IDFV
- Insira o ID do dispositivo capturado no dispositivo
- Forneça um nome de dispositivo distintivo para fácil identificação
- Clique em Salvar dispositivo para concluir o registro
Identificadores de dispositivo Android
Método recomendado: Use o aplicativo Singular Device Assist ( Android ) para obter o GAID/aifa.
Método alternativo: Ative o registro do SDK da Singular e capture o identificador no Android LogCat:
SingularConfig config = new SingularConfig(SdkKey, SdkSecret)
.withLoggingEnabled()
.withLogLevel(1);
Saída de exemplo do LogCat:
2023-06-01 15:48:32.224 27442-27560/com.singular.test D/Singular: DeviceInfo [worker] - andi : 8868adc2f7ffffff
2023-06-01 15:48:32.224 27442-27560/com.singular.test D/Singular: DeviceInfo [worker] - asid : 12dc3652-5e46-f2bb-a93a-b3c092ffffff
2023-06-01 15:48:32.224 27442-27560/com.singular.test D/Singular: DeviceInfo [worker] - aifa : 3bbc76b0-cebb-4a9f-b6ec-10ca1affffff
Identificadores de dispositivo iOS
Captura de IDFA: Use quando o framework ATT estiver implementado e o rastreamento autorizado.
Método 1: Aplicativo Singular Device Assist ( iOS ) — conceda permissão de rastreamento quando solicitado.
Método 2: Registre o IDFA no console de depuração do Xcode:
// Example in Swift
print("IDFA", ASIdentifierManager.shared().advertisingIdentifier.uuidString)
// Example in Objective-C
NSString *IDFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"IDFA: %@", IDFA);
Captura de IDFV: Use quando o ATT não estiver implementado ou o rastreamento não estiver autorizado.
// Example in Swift
print("IDFV", UIDevice.current.identifierForVendor!.uuidString)
// Example in Objective-C
NSString *IDFV = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"IDFV: %@", IDFV);
Etapa 2: Testar a inicialização do SDK
Validar o rastreamento de sessões
A primeira etapa de validação confirma que o SDK foi inicializado corretamente e está se comunicando com a plataforma Singular por meio da verificação da transmissão do evento de sessão.
Primeiro teste crítico: O evento de sessão representa a inicialização bem-sucedida do SDK e permite que a Singular rastreie a atribuição. Sem eventos de sessão, a atribuição não pode funcionar.
Etapas para testar a inicialização
- No Registro de eventos , selecione o nome do dispositivo no menu suspenso Dispositivos e confirme que o indicador 🟢 Ao vivo esteja visível
- Inicialize o aplicativo a partir da plataforma de teste ou abra-o no dispositivo
- Verifique se o evento session aparece no Registro de eventos, indicando a inicialização bem-sucedida do SDK
Etapa 3: Testar os recursos da integração
Validação por recurso específico
Após confirmar a inicialização do SDK, valide os recursos específicos implementados na integração usando o monitoramento em tempo real do Console de testes.
Finalidade
Validar que o ID de usuário personalizado é transmitido corretamente para a Singular para rastreamento de usuários entre dispositivos e análises.
Procedimento de teste
- Registre o dispositivo no Console de testes
- Abra o aplicativo no dispositivo de teste
- Acione a ação que envia o ID de usuário (p. ex., login) se não for enviado automaticamente
-
Expanda os detalhes do evento no Console de testes e verifique
se o campo
custom_user_idcontém o valor esperado
Solução de problemas
Se o ID de usuário personalizado não aparecer:
- Verifique se o método que define o ID de usuário é realmente chamado no momento apropriado no fluxo do aplicativo
- Adicione um evento do SDK da Singular chamado "setting_custom_user_id" para maior visibilidade no Console de testes
- Verifique os logs do SDK para confirmação da atribuição do ID de usuário
Finalidade
Verificar que a implementação do rastreamento de eventos envia eventos com os nomes e atributos corretos para a Singular.
Procedimento de teste
Para cada evento implementado na integração do SDK:
- Acione o evento no aplicativo e verifique se ele aparece no Console de testes com o nome correto
- Clique na linha do evento para expandir os detalhes e confirme que a seção Dados do evento contém os atributos esperados
Solução de problemas
Se o evento não aparecer:
- Verifique se o aplicativo foi aberto depois que o dispositivo foi completamente registrado no Console de testes
- Consulte os Registros de exportação para ver o evento (disponíveis após ~3 horas de atraso)
- Confirme que o código de acionamento do evento foi executado corretamente no aplicativo
Recursos adicionais
Finalidade
Validar que a implementação do rastreamento de receita reporta corretamente os valores de compra, a moeda e os detalhes adicionais de receita.
Procedimento de teste
Para cada tipo de evento de receita implementado:
- Acione o evento de receita no aplicativo e verifique se ele aparece no Console de testes
-
Expanda a linha do evento e confirme que os seguintes campos
estejam presentes:
-
pcc— Código de moeda (p. ex., USD, EUR) -
r— Valor da receita - Atributos adicionais do evento de receita se implementados
-
Nome padrão do evento de receita:
Se o evento de receita não recebeu um nome personalizado, aparece como
__iap__
(nome padrão do evento de receita).
Recursos adicionais
Finalidade
Verificar que a implementação de deep links lida corretamente com os Singular Links e direciona os usuários ao destino desejado dentro do aplicativo.
Pré-requisito: Este teste pressupõe que a organização usa Singular Links para rastreamento de campanhas.
1. Configurar destino de teste
- Navegue até Configurações → Aplicativos na plataforma Singular
- Encontre o aplicativo e clique para abrir a configuração
- Adicione um destino de deep link que corresponda ao código do manipulador de destino na integração do SDK
2. Criar link de teste
- Acesse Atribuição → Gerenciar links e selecione o aplicativo
- Clique em Criar link
- Em Tipo de link , selecione "Fonte personalizada" e em Nome da fonte , selecione "Email"
- Forneça um nome para o link
- Expanda a seção Configurações do link e redirecionamentos
- Selecione o destino de teste no menu suspenso Deep Link
- Insira a URL do site no campo Destino alternativo para outras plataformas
- Clique em Gerar e copie o link do campo Link de rastreamento de cliques
3. Testar a funcionalidade do link
- Certifique-se de que o aplicativo esteja instalado no dispositivo de teste
- Envie o link copiado para o dispositivo de teste por e-mail
- No dispositivo, abra o e-mail e clique no link — o aplicativo deve abrir exibindo a página ou o conteúdo desejado
- No Console de testes, verifique se o valor do Deep Link aparece nos argumentos da sessão
Alternativa para testes no Android
Teste deep links do Android usando ADB (Android Debug Bridge) para validação pela linha de comando.
Pré-requisitos:
- Instale o ADB (incluído nas ferramentas de plataforma do SDK do Android)
- Ative as Opções do desenvolvedor e a depuração USB no dispositivo
- Conecte o dispositivo ao computador via USB
Comando de teste:
adb shell am start -W -a android.intent.action.VIEW -d "https://yourdomain.sng.link/xxxxx?_dl=yourapp://deeplink"
Solução de problemas
Problema: O deep link abre uma nova instância do aplicativo em vez de alternar para a instância existente.
Solução: Adicione o seguinte à atividade no AndroidManifest.xml:
android:launchMode="singleTask"
Consulte a documentação do <activity> do Google para ver as opções de launchMode.
Finalidade
Verificar que os deep links diferidos lidam corretamente com links clicados antes da instalação do aplicativo, direcionando os usuários ao destino desejado no primeiro lançamento.
Procedimento de teste
- Verifique o evento de sessão no Console de testes para confirmar que os deep links diferidos estão ativados
- Configure o destino de teste e o link seguindo as etapas de deep link acima
- Desinstale o aplicativo do dispositivo de teste
- Redefina o identificador de publicidade do dispositivo
- Adicione o novo identificador ao Console de testes
- Envie o deep link para o dispositivo por e-mail e clique no link a partir do dispositivo
- O link deve redirecionar para a loja de aplicativos — instale o aplicativo (para builds locais, faça o sideload pelo Android Studio ou Xcode em vez da versão da loja)
- Após a instalação, abra o aplicativo — ele deve exibir a página ou o conteúdo especificado no deep link
- No Console de testes, verifique se o valor do deep link diferido aparece no primeiro evento de sessão
Finalidade
Validar que a implementação do rastreamento de desinstalações detecta e reporta corretamente as desinstalações do aplicativo para análise de abandono.
Complexidade do teste: A validação do rastreamento de desinstalações é mais complexa do que outras funções do SDK, pois a Singular depende dos serviços do Google/iOS para reportar desinstalações. Não é possível ver o evento de desinstalação em tempo real nem usar o Console de testes para validação.
Pré-requisitos
Antes de testar, verifique:
- Token FCM/APNS enviado para a Singular (consulte SDK do Android: Rastreamento de desinstalações e SDK do iOS: Rastreamento de desinstalações )
- Chave do servidor FCM (Android) ou Certificado de push do iOS inserido na página de configuração do aplicativo
Procedimento de teste
- Instale o aplicativo em um dispositivo real (não emulador)
- Abra o aplicativo para que a instalação seja registrada na Singular
- Desinstale o aplicativo do dispositivo
-
Verifique o evento de desinstalação usando um dos seguintes métodos:
- Exporte os registros de atribuição e encontre o evento de desinstalação (pode levar alguns dias para aparecer)
- Se os postbacks estiverem configurados para o sistema BI interno, receba o postback sobre a desinstalação
- Entre em contato com o Suporte da Singular ou com o Customer Success Manager para assistência na validação
Importante: Enquanto aguarda a validação do evento de desinstalação, não redefina o ID do dispositivo nem reinstale o aplicativo — isso invalida os resultados do teste.
Solução de problemas no Console de testes
Problemas comuns
Causas comuns
Se o dispositivo estiver registrado e nenhum evento aparecer no Registro de eventos, verifique o seguinte:
- Monitoramento ao vivo necessário: O Console de testes só mostra eventos ao vivo quando o dispositivo está selecionado e o indicador 🟢 Ao vivo está visível. Não recupera eventos históricos
- Aplicativo aberto: Certifique-se de que o aplicativo foi aberto no dispositivo de teste para gerar o evento de sessão
- Eventos acionados: Se estiver testando eventos específicos, certifique-se de ter realizado as ações de acionamento no aplicativo
- Precisão do ID do dispositivo: Verifique se o ID do dispositivo inserido no Console de testes está correto
- Tipo do ID do dispositivo: Para iOS sem aviso ATT, não é possível usar o IDFA — deve-se usar o IDFV em vez disso
SDK versão 12.0.0 ou posterior
A partir do SDK da Singular 12.0.0, não é necessário testar o evento
_InstallReferrer
. Depois que o aplicativo é publicado na loja, o SDK coloca os dados
do _InstallReferrer na primeira sessão automaticamente. Basta
verificar se a sessão aparece no Console de testes.
SDK versão <12.0.0>
Para versões mais antigas do SDK do Android, ainda é necessário
verificar o evento
_InstallReferrer
no Console de testes para a atribuição correta de instalação.
Etapas de verificação
Verifique a precisão do IDFA:
- Use o aplicativo Singular Device Assist (iOS) com permissão de rastreamento concedida
- Registre o IDFA no console de depuração do Xcode
- Verifique os Registros de exportação (após 1+ hora) com o campo "Status do App Tracking Transparency" — o valor 0 (Não determinado) significa que o aviso ATT não foi exibido
Verificações de configuração
- Configurações do dispositivo: Verifique se Configurações → Privacidade → Rastreamento mostra "Permitir que apps solicitem o rastreamento" ativado
- Aviso ATT: Confirme se o aviso ATT foi exibido durante o teste — se não foi, o IDFA não foi rastreado
- Redefinir IDFA: Se o dispositivo foi usado anteriormente, redefina o identificador de publicidade em Configurações → Privacidade → Rastreamento
- Versão do SDK: Verifique se a versão mais recente do SDK da Singular está integrada corretamente
- Inicialização do SDK: Confirme se o SDK foi inicializado no AppDelegate ou SceneDelegate conforme a documentação
- Verificar erros: Revise o console do Xcode em busca de erros de inicialização do SDK ou de rastreamento
Se o problema persistir após seguir essas etapas, consulte a documentação do Apple ATT ou entre em contato com o engenheiro de integração da Singular.
Processo de exclusão
- Clique no ícone de edição ao lado do dispositivo no Console de testes
- Na barra lateral exibida, clique em Excluir dispositivo
- A exclusão apaga todos os registros de eventos e remove os dados de atribuição do dispositivo da Singular
Veja também: Como redefinir o dispositivo para testes de atribuição de instalação
Requisitos para redefinição
Para testar novamente a integração do SDK com o mesmo dispositivo, remova os dados em cache local do dispositivo e limpe a atribuição do dispositivo na plataforma Singular.
Etapas de redefinição no Android
- Feche o aplicativo e confirme que não está em execução (use Forçar parada se disponível)
- Acesse o menu Configurações
- Navegue até Aplicativos , mantenha pressionado o aplicativo e selecione Informações do app
- Selecione Armazenamento e clique em Limpar cache e Limpar dados
- No Console de testes, selecione o dispositivo, clique no ícone de edição e em Excluir dispositivo para remover a atribuição
Etapas de redefinição no iOS
- Feche o aplicativo e desinstale-o do dispositivo
- No Console de testes, encontre o dispositivo, clique no ícone de edição e em Excluir dispositivo para remover a atribuição
Teste de reengajamento: Os dispositivos de teste (com o ícone de olho ativado no Console de testes) estão isentos do requisito de período de inatividade , facilitando os testes de atribuição de reengajamento sem precisar aguardar o período de inatividade.
Interface do Registro de eventos
Após registrar o dispositivo e enviar os eventos, eles aparecem no Registro de eventos do Console de testes com atualizações em tempo real.
Detalhes do evento
Clique na linha do evento para expandir e ver os detalhes completos do evento conforme enviado pelo aplicativo, incluindo todos os parâmetros e atributos.
Limitação do iOS TestFlight: O Console de testes não suporta aplicativos iOS TestFlight. As builds do TestFlight redefinem o IDFV a cada lançamento, impedindo a captura de eventos ao vivo.
Registros de exportação
Baixe dados em nível de usuário para validação detalhada da integração após os testes, com aproximadamente 1 hora de atraso a partir da ocorrência do evento.
Visão geral dos Registros de exportação
Finalidade e tempo
O recurso Registros de exportação permite o download manual de dados em nível de usuário, incluindo conversões (instalações), eventos, sessões e detalhes de atribuição para verificação abrangente da integração.
Melhores práticas:
- Seleção de data: Verifique se a Data, o Aplicativo e o Site selecionados estão corretos antes de baixar os dados
- Atraso dos dados: Os dados dos Registros de exportação estão aproximadamente 3 horas atrasados em relação ao tempo real — aguarde o tempo suficiente após os testes antes da validação
- Documentação: Para as instruções completas de uso dos Registros de exportação, consulte Perguntas frequentes sobre Registros de exportação e dados em nível de usuário
Usando os Registros de exportação
Processo de recuperação de dados
- Navegue até Atribuição → Registros de exportação na plataforma Singular
- Selecione o intervalo de datas que cobre o período de teste
- Escolha o aplicativo e o site para exportação de dados
- Selecione o tipo de dados (Conversões, Eventos, Sessões, etc.)
- Configure as colunas para incluir os campos relevantes para a validação
- Clique em Baixar para receber um arquivo CSV com dados em nível de usuário
Casos de uso para validação
O que verificar
- Rastreamento de eventos: Confirme que todos os eventos acionados aparecem com os nomes e carimbos de data/hora corretos
- Atributos de eventos: Verifique se os atributos dos eventos foram transmitidos corretamente com os valores esperados
- Rastreamento de receita: Valide os valores de receita, os códigos de moeda e os detalhes de compra
- ID de usuário personalizado: Verifique se o ID de usuário personalizado está corretamente associado ao dispositivo
- Identificadores de dispositivo: Verifique se o identificador de dispositivo correto (IDFA, IDFV, GAID) foi capturado
- Dados de atribuição: Confirme se a fonte de atribuição e os parâmetros de campanha estão corretos
Relatório de Auditoria do SDK
Ferramenta de validação automatizada da integração que identifica problemas de implementação com recomendações práticas para resolução antes do lançamento em produção.
Visão geral da Auditoria do SDK
Finalidade e escopo
O Relatório de Auditoria do SDK analisa os dados recebidos dos aplicativos nos últimos 3 dias, detectando automaticamente problemas de integração e fornecendo orientação para sua resolução.
Verificações da auditoria:
- Rastreamento de sessões: Verifica se o aplicativo está reportando sessões de usuário (funcionalidade fundamental do SDK/S2S que habilita a atribuição)
- Rastreamento de eventos: Confirma se o aplicativo está reportando eventos in-app e receita corretamente
- Melhores práticas de receita: Valida se o rastreamento de receita segue os padrões de implementação recomendados
- Deep link diferido: Verifica o status de ativação do DDL
- Recursos opcionais: Identifica recursos opcionais ausentes que podem aprimorar as capacidades de rastreamento
Executando a Auditoria do SDK
Etapas para executar a auditoria
| 1 |
Executar o Relatório de auditoria
|
| 2 |
Revisar e resolver problemas
Priorização de problemas: Nem todos os problemas são críticos ou relevantes dependendo dos recursos implementados. Revise o Nome de validação para determinar se é um recurso opcional que você optou por não implementar — nesse caso, é seguro ignorar a mensagem de erro. |
Entendendo o Relatório de auditoria
Estrutura do relatório
O Relatório de Auditoria do SDK apresenta uma lista de problemas de integração com informações contextuais para solução de problemas e resolução.
| Coluna | Descrição |
|---|---|
| Nome do app | Nome do aplicativo conforme configurado na plataforma Singular |
| Bundle do app | Identificador do bundle do aplicativo (p. ex., com.example.appname) |
| Plataforma | iOS, Android ou Amazon |
| Versão do app | Número de versão do aplicativo se disponível |
| Nome de validação | Área de integração onde o problema foi encontrado (p. ex., "ID de usuário personalizado", "Eventos de receita") |
| Tipo |
Nível de gravidade do problema:
|
| Descrição do erro | Informações detalhadas do problema e etapas recomendadas para resolução |
Diretrizes de resolução de problemas
Níveis de prioridade
Prioridade de resolução
Devem ser resolvidos antes do lançamento em produção — esses problemas impedem a funcionalidade principal.
Problemas de Erro comuns
- Nenhuma sessão recebida: O SDK não está inicializado ou não está enviando dados para a Singular
- Chaves do SDK inválidas: Chave do SDK ou secret configurados incorretamente
- Incompatibilidade de plataforma: O aplicativo está reportando um identificador de plataforma incorreto
Abordagem de resolução
- Revise a Descrição do erro para obter orientação específica
- Consulte o guia de integração do SDK para a plataforma afetada
- Verifique a configuração e o código de inicialização do SDK
- Teste novamente usando o Console de testes após as correções
- Execute uma nova Auditoria do SDK para confirmar a resolução
Prioridade de resolução
Devem ser resolvidos para seguir as melhores práticas — a integração funciona, mas melhorias são recomendadas.
Problemas de Aviso comuns
- Sem ID de usuário personalizado: O ID de usuário personalizado não está implementado para rastreamento entre dispositivos
- Problemas de rastreamento de receita: Os eventos de receita não seguem as melhores práticas
- Atributos de eventos ausentes: Os eventos são rastreados sem os atributos recomendados
Abordagem de resolução
- Avalie o impacto nos negócios do recurso ausente
- Revise a documentação de implementação do recurso
- Implemente se o recurso estiver alinhado com os requisitos
- Teste a implementação usando o Console de testes
Prioridade de resolução
Revisar e decidir — recursos opcionais que podem não se aplicar ao caso de uso específico.
Problemas de Informação comuns
- Deep link diferido desativado: DDL pode não ser relevante para a estratégia de marketing
- Rastreamento de desinstalações não configurado: O rastreamento de desinstalações é opcional com base nos requisitos
- Recursos opcionais do SDK: Recursos adicionais não críticos para a funcionalidade básica
Abordagem de resolução
- Revise o Nome de validação para identificar o recurso opcional
- Determine se o recurso é relevante para os requisitos do negócio
- Se não for relevante, ignore o problema com segurança
- Se for relevante, implemente seguindo a documentação do SDK
Recursos adicionais
Documentação completa para integração, teste e solução de problemas do SDK.
Documentação relacionada
- Referência da API do Console de testes [BETA] — Acesso programático ao Console de testes
- Como verificar a atribuição do dispositivo — Procedimentos de verificação de atribuição
- Perguntas frequentes sobre Registros de exportação e dados em nível de usuário — Guia de uso dos Registros de exportação
- Primeiros passos com SDK/S2S da Singular — Pré-requisitos para integração inicial