Testar integração

Antes de começar

Para concluir com sucesso os testes neste documento, você deve:

Teste a integração do SDK para Android

O teste consiste em:

  1. Simular um clique de anúncio e uma conversão.
  2. Inspecionando os dados de conversão da instalação.

Simulate a conversion

Simule um usuário clicando em um anúncio e instalando o aplicativo.

Etapa 1: simular o clique no anúncio
Simule um clique no anúncio por meio de um link de atribuição. Estruture o link de atribuição da seguinte forma:

https://app.appsflyer.com/<app_id>?pid=<media_source>
&advertising_id=<registered_device_gaid>

Onde:

  • app_id é o ID do aplicativo da AppsFlyer.
  • pid é a fonte de mídia à qual a instalação deve ser atribuída.
  • advertising_id é o GAID do dispositivo registrado.

The advertising_id é necessário para atribuir por meio da correspondência de ID. Se omitida, a atribuição ocorrerá probabilisticamente.

Por exemplo, se sua ID do aplicativo for com.my.app, the attribution link might look like this:

https://app.appsflyer.com/com.my.app?pid=devtest&c=test1

ou, com o GAID:

https://app.appsflyer.com/com.my.app?pid=devtest&c=test1&advertising_id=********-****-****-****-************

👍

Dica

Geralmente, os testes que usam links de atribuição são realizados mais de uma vez. É por isso que é recomendável usar um dos parâmetros de atribuição para "versionar" seus testes. Isso facilita a compreensão de qual link acionou qual conversão.

In the above example, the value of c is test1. In consecutive tests, increment the value of c to test2, test3, and so on.

Etapa 2: instalar o aplicativo
Ative o modo de depuração e instale o aplicativo em um dispositivo de teste registrado.

Etapa 3: executar o teste
Continue inspecionando os dados de conversão.

Inspect conversion data

Depois de simular uma conversão, siga estas etapas para inspecionar os dados de conversão da instalação.

Etapa 1: recupere o UID de instalação
Depois que o aplicativo estiver instalado, procure os logs de depuração para conversions.appsflyer

Etapa 2: inspecionar os dados de conversão
Vá para a API de teste de dados de conversão e preencha os campos obrigatórios:

  1. app-id: o ID do seu aplicativo
  2. device_id: paste the value of uid from step 1.
  3. af_request_epoch_ms - Carimbo de data/hora da época atual. Você pode obtê-lo aqui
  4. The af_sig é criado concatenando os valores dos seguintes campos:
    Concatene o valor de af_request_epoch_ms com device_id and app_id, separado por um caractere invisível \u2063.
    (ex.: 1661969117203 1591184059153-1591377216180180185 com.zzkko)

O HMAC é gerado usando SHA256 e usa a DevKey como a chave secreta da assinatura. Para recuperar a DevKey, no painel da AppsFlyer, acesse Configuração > Configurações do aplicativo.

Você pode encontrar aqui uma calculadora HMAC para ajudar no cálculo desse token.

Em seguida, clique em Experimentar! para executar o teste.

Resultado esperado
Uma resposta 200 contendo os dados de conversão da instalação (truncados para facilitar a leitura):

{
  ...
  "campaign": "test1",
  ...
  "media_source": "devtest",
  ...
  "af_status": "Non-organic"
  ...
}

📘

Observação

Pode levar até 30 minutos para que a instalação apareça no painel.

Identificação e solução de problemas da integração do SDK para Android

Instalação sempre atribuída a orgânica

Cenário
Você está testando a atribuição usando links de atribuição. Você implementou o ouvinte de conversão do SDK, mas o registro sempre mostra que a instalação é orgânica. Além disso, nenhuma instalação não orgânica é registrada no painel.

Possíveis causas

  1. A chave do desenvolvedor está incorreta - se você especificar uma chave do desenvolvedor incorreta, a instalação não pode ser atribuída.
  2. O link de atribuição que você está usando está incorreto. Veja o nosso guia sobre links de atribuição.
  3. Certifique-se de que o dispositivo no qual você está testando está registrado.
  4. Um canal incorreto foi definido no manifesto.

Instalação não detectada ou atribuída

Cenário
Você está testando a atribuição de instalações, mas o registro não mostra nenhum dado sobre a instalação, por exemplo, tipo, primeira inicialização, etc.

Possíveis causas

  1. Certifique-se de que os métodos start and init são chamados na classe Application class.
  2. Certifique-se de que o dispositivo no qual você está testando está registrado.

Estou recebendo um 404 em Gravação de instalações ou eventos

Cenário
Você está testando eventos in-app para ver se foram atribuídos à fonte de mídia correta. No entanto, o registro exibe a resposta 404 para instalações e para envio de eventos in-app. Nem as instalações nem os eventos in-app aparecem no painel.

Possíveis causas


A resposta 404 indica que a ID do aplicativo está incorreta. Certifique-se de que a ID do aplicativo no parâmetro applicationId em build.gradle seja igual à ID que está em seu painel.

A receita não é registrada corretamente

Cenário
Você está testando eventos in-app com receita. Os eventos aparecem no painel, mas a receita não foi registrada.

Possíveis causas


O parâmetro da receita não foi formatado corretamente. NÃO formate o valor de receita de forma alguma. Ele não deve conter separadores de vírgula, símbolo de moeda ou texto. Um evento de receita deve ser semelhante a 1234,56, por exemplo.

O registro mostra "O SDK do AppsFlyer não consegue enviar eventos sem a DevKey" quando testo eventos in-app

Cenário
Você está tentando ver eventos in-app no registro. Ao acionar eventos, o registro mostra somente "O SDK do AppsFlyer não consegue enviar eventos sem a DevKey".

Possíveis causas


Você chama o método start sem passar a chave do desenvolvedor como um parâmetro. Passe a chave do desenvolvedor para o método.

O registro mostra "O envio de dados ainda não foi realizado. Aguardando chave do desenvolvedor" no registro quando testo eventos in-app

Cenário
Você está tentando testar eventos in-app no registro. Ao acionar eventos, o registro mostra somente "O envio de dados ainda não foi realizado. Aguardando chave do desenvolvedor".

Possíveis causas


Você chama o método init e passa a chave do desenvolvedor como uma string vazia. Passe a chave do desenvolvedor para o método.

Obtenho a resposta 400 quando testo eventos in-app

Cenário
Você está tentando testar eventos in-app. Quando você aciona eventos, você vê um erro 400 nos registros.

Possíveis causas


Isso pode indicar um problema com a chave do desenvolvedor. Verifique se a chave do desenvolvedor é a correta. Além do mais, certifique-se de que a chave do desenvolvedor contenha somente caracteres alfanuméricos.

O registro mostra "AVISO: o Google Play Services está ausente"

Cenário
O LogCat mostra a mensagem de aviso "AVISO: o Google Play Services está ausente".

Possíveis causas


As dependências do Google Play Services estão ausentes no aplicativo. Isso pode impedir que o SDK colete o GAID, o que pode causar problemas com a atribuição.

Adicione as seguintes dependências ao nível do aplicativo build.gradle file:

implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'

Recebo resposta 403 em Gravação de instalações ou eventos

Cenário
Você está tentando testar instalações e outros eventos de conversão no log. Ao disparar esses eventos, você verá a resposta 403 (proibido) nos logs.

Possíveis causas


This might be because you have the Zero package, which does not include attribution data; only data on clicks and impressions. To start receiving attribution data, learn more about the different AppsFlyer packages, and update as needed. You can also contact our customer engagement team at [email protected] if you have questions about our packages.

Como criar um aplicativo de depuração para Android

OPCIONAL
Você pode utilizar as variantes de compilação do Android Studio para configurar um aplicativo de depuração fácil de usar para fins de teste.

Todos os testes podem ser realizados para aplicativos de produção e depuração.

Etapa 1: configure o tipo de construção do Gradle debug
no seu arquivo no nível do aplicativo, build.gradle configure o debug tipo de construção e configure applicationIdSuffix ao nome do aplicativo de teste (neste caso, .debug).

android {
    // ...
    buildTypes {
        // Prevents a signing error when building the production app
        release {
            signingConfig signingConfigs.debug
        } 
        debug {
            applicationIdSuffix ".debug"
        }
    }
}

Etapa 2: adicionar um novo aplicativo à AppsFlyer
Use o nome do pacote resultante como o ID do aplicativo ao adicionar o aplicativo ao painel da AppsFlyer ou peça a um membro da equipe com acesso ao painel para adicioná-lo.

Por exemplo, se você tiver um aplicativo com o nome do pacote com.your.app e você usa a configuração do Gradle acima, o nome do aplicativo de teste será com.your.app.debug. Passe esse nome como a ID do aplicativo ao adicionar o aplicativo à AppsFlyer.