Como testar sua integração singular do SDK

Depois de integrar o Singular SDK/S2S ao seu aplicativo, é importante garantir que ele funcione corretamente antes de lançar a nova versão do aplicativo.

Guia para Desenvolvedores
Pré-requisitos
  • Ter o Singular SDK ou S2S implementado em um aplicativo.
  • Para usar o Console de teste, você precisará de um dispositivo móvel para testar.

A Singular oferece três ferramentas principais para testar sua integração:

  • o Testing Console, que permite testar manualmente diferentes recursos à medida que você os implementa em tempo real,
  • os Logs de exportação, que permitem o download de dados no nível do usuário após um atraso,
  • o Relatório de auditoria, que identifica automaticamente quaisquer problemas em sua integração.

 

Como usar o console de teste

1

Adicionar um dispositivo de teste

Para adicionar um dispositivo ao console:

  1. Na plataforma Singular, vá para Developer Tools > Testing Console.
  2. Clique em Add Device (Adicionar dispositivo).

  3. Forneça seu tipo de dispositivo. Para Android, quando disponível, recomendamos o Google Advertising ID (GAID/aifa), AppSetID (asid) ou AndroidID(andi), nessa ordem. Para dispositivos iOS, recomendamos o uso do IDFV, quando disponível. Você pode usar o IDFA, mas não conseguirá fazer com que o console "esqueça" os dados do seu dispositivo.
  4. Forneça o ID do dispositivo.

    Capturando a ID do dispositivo

    Para Android, recomendamos o uso da ID de publicidade do Google (GAID/aifa). O aplicativo Singular Device Assist(Android) pode ajudá-lo a encontrá-lo.

    O aifa também é encontrado no LogCat do Android quando o registro para a configuração do Singular está ativado.

    SingularConfig config = new SingularConfig(SdkKey, SdkSecret)
    .withLoggingEnabled()
    .withLogLevel(1);

    Exemplo de saída 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

    No iOS, você pode usar o IDFAquando a estrutura ATT estiver em vigor e o rastreamento for permitido. Certifique-se de que a opção Wait For Tracking Authorization With Timeout Interval também esteja implementada. Para todas as outras instâncias, use o IDFV.

    O IDFA pode ser capturado usando um dos métodos listados abaixo:

    • Use o aplicativo Singular Device Assist(iOS) da App Store. Certifique-se de dar permissão para o rastreamento.
    • Registro do IDFA no console de depuração do Xcode
      // Exemplo em Swift
      print("IDFA", ASIdentifierManager.shared().advertisingIdentifier.uuidString)
                      
      // Exemplo em Objective-C
      NSString *IDFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
      NSLog(@"IDFA: %@", IDFA);

    O IDFV pode ser capturado no console de depuração do Xcode.

      // Exemplo em Swift
      print("IDFV", UIDevice.current.identifierForVendor!.uuidString)
                      
      // Exemplo em Objective-C
      NSString *IDFV = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
      NSLog(@"IDFV: %@", IDFV);
  5. Adicione um nome de dispositivo distinto e clique em Save Device (Salvar dispositivo).

    tc_01.png

2

Teste de inicialização

A primeira coisa a ser testada é se a integração do SDK foi inicializada com êxito e se é capaz de enviar informações para a Singular. Isso permite que a Singular comece a rastrear a atribuição para este aplicativo!

Para testar a inicialização:

  1. No Registro de eventos, selecione o nome do seu dispositivo no menu suspenso Dispositivos. Procure o indicador 🟢 Live.

  2. Inicialize o aplicativo em sua plataforma de teste/abra o aplicativo.
  3. Quando você vir um evento de sessão, significa que o Singular SDK foi inicializado com sucesso.

    tc_02.png

Como faço para ler o registro de eventos?

Depois de registrar um dispositivo e enviar alguns eventos, os eventos começam a aparecer no log de eventos na página do Console de teste.

tc_04.png

Clique em uma linha para mostrar os detalhes completos do evento, conforme enviado pelo aplicativo.

events_details.png

Por que nenhum evento está aparecendo no registro de eventos?

Se você registrou um dispositivo de teste e está seguindo o guia para testar a integração do SDK, mas nenhuma linha está aparecendo no Registro de eventos, verifique novamente o seguinte:

  • Certifique-se de ter aberto o aplicativo no dispositivo de teste (para ver uma sessão de usuário).
  • Certifique-se de ter criado alguns eventos no aplicativo (se quiser testar seus eventos).
  • O Console de teste só mostra eventos ao vivo, ou seja, quando você está na página com um dispositivo selecionado e o indicador 🟢 Ao vivo. Ele não procura eventos históricos do dispositivo.
  • Certifique-se de ter selecionado seu dispositivo no menu suspenso:

device_dropdown.png

 

Por que o evento _InstallReferrer está ausente ao testar um aplicativo com o Singular SDK 12.0.0 e superior?

A partir do Singular SDK 12.0.0, você não precisa testar o evento _InstallReferrer. Quando seu aplicativo for enviado para a loja, nosso SDK colocará os dados _InstallReferrer na primeira sessão. Você só precisa verificar se a sessão aparece no Console de teste.

Se estiver usando versões mais antigas do SDK do Android, ainda será necessário verificar o evento _InstallReferrer no Console de teste.

Como faço para excluir/remover um dispositivo do console?

Exclusão de um dispositivo

Para excluir um dispositivo da Lista de Rastreamento, clique no ícone Editar e, na prateleira que aparece, clique em Excluir dispositivo. Isso limpará todos os registros de eventos da página, e o Singular excluirá os dados internos sobre a atribuição do dispositivo.

Consulte também: Como faço para redefinir um dispositivo e limpar suas informações de atribuição para que eu possa usá-lo para testar a atribuição de instalação novamente?

Como faço para redefinir um dispositivo e limpar suas informações de atribuição para que eu possa usá-lo para testar a atribuição de instalação novamente?

Se você quiser testar novamente a integração do SDK com o mesmo dispositivo, será necessário remover todos os dados armazenados em cache localmente do dispositivo, além de limpar a atribuição do dispositivo na plataforma Singular.

Etapas para dispositivos Android

  1. Feche o aplicativo e confirme que ele não está em execução (use Forçar parada no menu Configurações, se tiver essa opção).
  2. Acesse o menu Configurações tocando no ícone de roda em sua janela de notificação ou no menu Aplicativos.
  3. Vá para Apps, selecione o aplicativo que está testando, pressione e segure o aplicativo e selecione App Info.
  4. Selecione Armazenamento e, em seguida, Limpar cache e Limpar dados.
  5. No Console de teste Singular, selecione o dispositivo no menu suspenso e clique no ícone Editar (Lápis). Na janela que se abre, clique em Excluir dispositivo para que nosso sistema exclua a atribuição desse dispositivo.

     

    device_dropdown.png

    device_delete.png

Etapas para dispositivos iOS

  1. Feche o aplicativo e, em seguida, desinstale-o.
  2. Abra o Console de teste, localize seu dispositivo no menu suspenso e clique no ícone Editar. Na janela que se abre, clique em Excluir dispositivo para que nosso sistema exclua a atribuição desse dispositivo.

     

Dica: Testes com janelas de inatividade de reengajamento

A janela de inatividadeé uma configuração que determina quanto tempo o usuário deve ficar inativo antes de se qualificar para a atribuição de reengajamento. Se você estiver testando a atribuição de reengajamento antes de lançar campanhas, uma janela de inatividade dificultará as coisas para você. É por isso que os dispositivos de teste (dispositivos que foram adicionados ao Console de teste e têm o ícone de olho ativado) estão isentos da janela de inatividade.

3

Recursos específicos de teste

[iOS] Teste o referenciador do Apple iAd

Em dispositivos iOS, a Singular deve estar recebendo os dados de atribuição do iAd. Para validar isso, depois de adicionar um dispositivo ao console e instalar o aplicativo nele, verifique o Console de teste e confirme se o evento "__iAd_Attribution__" aparece.

 test7.png

Observações:

  • Esse evento é exibido somente quando o aplicativo está instalado. Se o aplicativo estiver instalado há algum tempo, siga as instruções para redefinir o dispositivo. Em seguida, adicione novamente o dispositivo ao console e reinstale o aplicativo nele.
  • Se o evento não aparecer, é possível que o aplicativo tenha sido aberto antes de o dispositivo ter sido completamente registrado no console de teste. Se você integrou a biblioteca estática Singular, certifique-se de que está importando o iAD.framework. Se estiver usando o CocoaPods, ele já está incluído.
Teste o ID de usuário personalizado

Se a integração do SDK enviar uma ID de usuário personalizada para a Singular, veja como testá-la.

  1. Registre o dispositivo no console de teste.
  2. Abra o aplicativo.
  3. Se necessário, em seu aplicativo, acione uma ação que envie o ID de usuário (como fazer login). A natureza da ação depende de sua implementação.
  4. No próximo evento enviado à Singular, expanda os detalhes do evento no Console de teste e verifique se os detalhes incluem um valor para "custom_user_id".

     test8.png

Se o ID do usuário não for exibido:

  • Verifique se o método que define o ID do usuário está realmente sendo chamado em seu aplicativo quando você deseja que ele seja.
  • Talvez você queira adicionar um evento Singular SDK e chamá-lo de "setting custom user id" para que o evento apareça no Console de teste.
Eventos de teste

Se você implementou o rastreamento de eventos ou o rastreamento de receita na integração do SDK, siga as instruções abaixo para testá-los.

Para saber mais sobre eventos, consulte:

Para cada evento que você implementou em sua integração do SDK:

  1. Acione o evento a partir do aplicativo e verifique se ele aparece no registro de eventos com o nome que você deu ao evento.

     test9.png

  2. Se estiver enviando dados adicionais com o evento, clique na linha do evento no Console de teste para expandir os detalhes do evento e verifique se os dados estão incluídos em "event_data".

     events_details_field.png

Se o evento não for exibido, é possível que o aplicativo tenha sido aberto antes de o dispositivo ter sido completamente registrado no Console de teste. Verifique os registros de atribuiçãodo evento.

Receita de teste

Para cada tipo de evento de receita que você implementou na integração do SDK:

  1. Acione o evento de receita no aplicativo e verifique o registro de eventos. Deve aparecer uma linha com o nome do evento.

    Observação: se você não deu ao evento um nome personalizado, ele receberá o nome padrão para eventos de receita, "__iap__".

  2. Clique na linha para expandi-la e verifique se a moeda ("pcc"), o valor ("r") e quaisquer outros detalhes do evento foram recebidos.

     events_details_field.png

Teste o Deep Linking

Se você implementou o deep linking na integração do SDK, siga as instruções abaixo para testar a funcionalidade do deep linking.

Observação: este artigo pressupõe que sua organização esteja usando o Singular Links.

1.Configure um destino de teste

Na plataforma Singular, vá para Configurações > Aplicativos, localize o aplicativo e adicione um destino de deep link.

O destino deve ser um dos destinos de deep link que o código do manipulador em sua integração do SDK pode reconhecer e manipular.

 test12.png

2. Crie um link para teste

Agora que você tem um destino para o qual criar um link, pode criar um deep link.

  1. Vá para Attribution > Manage Linkse selecione o aplicativo na barra lateral.
  2. Clique em Create Link (Criar link).
  3. Em Link Type (Tipo de link), selecione "Custom Source" (Fonte personalizada) e, em Source Name (Nome da fonte), selecione "Email" (E-mail).
  4. Dê um nome ao link.
  5. Clique na seção Link Settings and Redirectspara expandi-la.
  6. Selecione o destino que você acabou de criar na lista suspensa Deep Link.
  7. Na caixa de texto Fallback Destination for Other Platforms (Destino alternativo para outras plataformas), digite o URL de um site.
  8. Clique em Generate (Gerar ) e copie o link do campo Click-Through Tracking Link (Link de rastreamento de cliques).

     test13.gif

3. Teste o link

Para testar o link:

  1. Certifique-se de que o aplicativo esteja instalado em seu dispositivo de teste.
  2. Envie por e-mail o link copiado para seu dispositivo de teste.
  3. No dispositivo, abra o e-mail e clique no link. O aplicativo deve abrir e exibir a página ou o conteúdo desejado.

Maneira alternativa de testar o link (somente Android):

Abra um terminal de linha de comando em seu computador para acionar um deep link:

 test14.png

Solução de problemas

"Quando meu aplicativo já está em execução, um deep link abre uma nova instância do aplicativo em vez de alternar para a existente." Para evitar isso, edite seu arquivo de manifesto e adicione o seguinte à sua atividade:

android:launchMode="singleTask"

Consulte a documentação <activity> do Googlepara obter mais informações sobre as opções de launchMode.

Teste o Deep Linking diferido

Para confirmar que o deferred deep linkingestá ativado:

  1. Verifique o evento da sessão no Console de teste.

     test15. png

  2. Configure um destino de teste e um link, conforme explicado acima em Test Deep Linking.
  3. Desinstale o aplicativo do seu dispositivo de teste.
  4. Envie o link direto por e-mail para o dispositivo e abra-o no dispositivo. O link deve levá-lo à loja de aplicativos. Depois de instalar o aplicativo e abri-lo, você deverá ver a página ou o conteúdo desejado.

     테스트16.gif

Rastreamento de desinstalação de teste

Se você implementou o rastreamento de desinstalação na integração do SDK, siga as instruções abaixo para testá-lo.

Testar o rastreamento de desinstalação é mais complicado do que testar outras funções do SDK, porque o Singular depende dos serviços do Google/iOS para relatar a desinstalação, e o processo leva algum tempo. Você não pode ver o evento de desinstalação na plataforma Singular em tempo real e não pode usar o Console de teste para isso.

Antes de testar, certifique-se de que está enviando seu token FCM/APNS para a Singular (consulte Android SDK:Rastreamento de desinstalaçõese SDK do iOS: Rastreamento de desinstalações).

Além disso, verifique novamente se você inseriu sua FCM Server Key (para Android) ou seu iOS Push Certificate na página App Configuration (Configuração do aplicativo ).

Para testar o rastreamento de desinstalação:

  1. Usando um dispositivo real (não um emulador), instale o aplicativo no dispositivo.
  2. Abra o aplicativo para que a instalação seja registrada.
  3. Desinstale o aplicativo.
  4. Para verificar se o Singular recebeu o evento de desinstalação, você tem várias opções:

    • Exporte os logs de atribuição(logs de eventos) e localize o evento de desinstalação. Pode levar alguns dias para que ele apareça nos logs.
    • Se você tiver configurado postbackspara serem enviados ao seu sistema interno de BI, poderá receber um postback sobre a desinstalação.
    • Você pode entrar em contato com o suporte da Singularou comseu Customer Success Manager para ajudá-lo a validar o rastreamento da desinstalação.

Observação: enquanto estiver aguardando a validação do evento de desinstalação, não redefina a ID do dispositivo e não reinstale o aplicativo.

Observação: o console de teste não é compatível com aplicativos iOS TestFlight. Uma compilação do TestFlight redefine o IDFV em cada inicialização de aplicativo e os eventos ao vivo não podem ser capturados.

Uso dos registros de exportação

Você também pode usar Atribuição > Exportar registros para verificar os resultados do teste com um atraso. O recurso Export Logs permite fazer o download manual de dados no nível do usuário, como Conversões (instalações), Eventos, etc.

Práticas recomendadas:

  • Antes de obter os dados, verifique novamente se a Data, o Aplicativo e o site estão selecionados adequadamente.
  • Os dados nos registros de exportação têm um atraso de aproximadamente 3 horas.
  • Para obter mais ajuda, consulte esta FAQ.

Execução de uma auditoria de SDK

A Singular oferece um relatório de auditoria de SDK que testa suas integrações de SDK e S2S para verificar se estão implementadas corretamente. A auditoria gera uma lista de todos os problemas encontrados, com dicas de como resolvê-los. Para usar o relatório de auditoria do SDK:

1

Execute um relatório de auditoria do SDK

Vá para Developer Tools > Testing Console e clique em Run Audit no canto superior direito.

tc_03.png

2

Faça o download do relatório e corrija os problemas relevantes

Quando o relatório terminar de ser executado, você poderá baixá-lo no formato CSV.

O relatório é uma lista de problemas encontrados em suas integrações de SDK e S2S. Nem todos os problemas são críticos ou relevantes, dependendo dos recursos que você implementou.

Examine os problemas no relatório e corrija-os de acordo com as dicas no campo Descrição do erro.

Para problemas do tipo aviso/informação: Verifique o Nome da validação e veja se esse é um recurso opcional do SDK que você optou por não implementar, como o deferred deep linking (DDL). Se for o caso, você pode ignorar a mensagem de erro.

Como funciona a auditoria do SDK e em quais dados ela é executada?

A auditoria do SDK analisa os dados recebidos de seus aplicativos nos últimos 3 dias. Ela verifica se os dados estão de acordo com o esperado, por exemplo:

  • Se o aplicativo está relatando sessões de usuários (essa é a funcionalidade mais básica de uma integração SDK/S2S e é o que permite que a Singular rastreie a atribuição)
  • Se o aplicativo está relatando eventos e receitas in-app
  • Se a receita é relatada usando as práticas recomendadas
  • Se o deferred deep linking está habilitado
Como posso ler o relatório de auditoria do SDK?

 Screen_Shot_2021-11-11_at_18.28.27.png

O relatório é uma lista de problemas que foram encontrados em suas integrações de SDK e S2S.

Coluna Descrição
App Name O nome do aplicativo conforme configurado no Singular.
App Bundle O pacote de aplicativos conforme configurado no Singular, por exemplo, com.example.appname.
Platform iOS, Android ou Amazon.
App Version O número da versão do aplicativo, se houver.
Validation Name A área da integração na qual foi encontrado um problema, por exemplo, "ID de usuário personalizado" ou "Eventos de receita".
Type

A gravidade do problema:

  • Erro: Esse problema impede que a integração funcione e você precisa corrigi-lo antes de colocar o aplicativo no ar. Por exemplo, a Singular não está recebendo sessões de usuário do aplicativo. Sem sessões de usuário, não podemos realizar a atribuição.
  • Aviso: A integração pode funcionar sem isso, mas você deve corrigi-lo se quiser seguir as práticas recomendadas e obter o máximo do rastreador de atribuição Singular. Por exemplo, seu aplicativo não está enviando um ID de usuário personalizado. O ID de usuário personalizado é um recurso opcional, mas altamente recomendado.
  • Informações: Esse problema diz respeito à funcionalidade opcional que você pode ter optado por não implementar em sua integração. Por exemplo, o deferred deep linking (DDL) não está ativado em seu aplicativo. O DDL pode simplesmente não ser relevante para sua estratégia de marketing.
Error Description Mais informações sobre o problema e como você pode corrigi-lo.