Começar

Testes

Rode uma build de depuração, abra o app uma vez e confira o painel. Esta página explica o que conta como dispositivo de teste, como ver os dados dele e como testar deep links adiados sem publicar no Google Play.

Dispositivos de teste

Uma instalação marcada como dispositivo de teste envia dados reais, mas o painel os deixa fora dos seus números até você pedir para vê-los. Assim, seus próprios testes nunca inflam instalações, conversão ou receita.

PlataformaMarcado como dispositivo de teste quando
AndroidA build é depurável (o padrão nas builds de depuração), ou você passa UnolinkOptions(debug = true). Além disso, a partir do SDK 0.3.0, uma build de release que você mesmo instalou com adb ou pelo Android Studio, e os celulares do relatório de pré-lançamento do Google e do Firebase Test Lab.
iOSVocê passa UnolinkOptions(debug: true). Use #if DEBUG, já que uma biblioteca compilada não enxerga as configurações da sua build. A partir do SDK 0.3.0, builds do TestFlight e do Xcode são dispositivos de teste por conta própria.
React NativeVocê passa { debug: __DEV__ }, além das regras de iOS e Android acima.
FlutterVocê passa debug: kDebugMode, além das regras de iOS e Android acima.

Uma instalação que faz uma compra de sandbox no RevenueCat (TestFlight, testadores de licença no Google Play) também vira um dispositivo de teste, com tudo o que ela enviou.

As faixas de teste do Google Play (interna, fechada, aberta) não podem ser diferenciadas da versão da loja no celular. Marque essas builds você mesmo, por exemplo com uma variável definida na hora da build:

// React Native / Expo: set EXPO_PUBLIC_UNOLINK_TEST=1 only for testing-track builds
Unolink.configure("ulk_…", { debug: __DEV__ || process.env.EXPO_PUBLIC_UNOLINK_TEST === "1" })

Ver dados de teste no painel

Abra seu app → Funil ou Jornadas e ative Incluir dispositivos de teste. As instalações de teste passam a aparecer junto com as reais. Desative de novo antes de ler seus números reais.

Uma primeira abertura aparece poucos segundos depois de abrir o app. Os eventos são enviados em lotes a cada 15 segundos enquanto o app está aberto, e na hora quando ele vai para segundo plano: aperte o botão de início para enviá-los agora.

Logs de depuração

O SDK fica em silêncio quando tudo funciona: por padrão, ele registra só avisos e erros. Para ver cada passo, aumente o nível de log.

// Android: Logcat, tag "Unolink"
Unolink.configure(this, "ulk_…", UnolinkOptions(logLevel = LogLevel.DEBUG))
// iOS: Xcode console, prefix "[Unolink]"
Unolink.configure(apiKey: "ulk_…", options: UnolinkOptions(logLevel: .debug, debug: true))
// React Native: Xcode console or Logcat, tag "Unolink"
Unolink.configure("ulk_…", { debug: __DEV__, logLevel: "debug" })
// Flutter: Xcode console or Logcat, tag "Unolink"
await Unolink.configure('ulk_…', debug: kDebugMode, logLevel: UnolinkLogLevel.debug);

Volte ao padrão antes de lançar.

Simular um referrer de instalação do Play (Android)

O Google Play só passa um referrer de instalação em instalações reais feitas pelo Google Play. Para testar seu código de deep link adiado sem um, dê a uma build de depuração nativa do Android um referrer de mentira:

Unolink.configure(this, "ulk_…", UnolinkOptions(
    debugInstallReferrer = "unolink_click_id=clk_01JA0000000000000000000000&unolink_deep_link=%2Fpromo%2F3for2&unolink_p_offer=3for2",
))
  • Ele só é usado em builds depuráveis. Builds de release o ignoram e leem o referrer real.
  • Ele só é lido na primeira abertura, como o real. Desinstale o app, ou limpe os dados dele, antes de cada tentativa.
  • Seu listener de deep link adiado recebe deepLink = "/promo/3for2" e params = {offer=3for2} do referrer. O SDK registra um aviso dizendo que usou o referrer simulado.
  • A instalação em si não é atribuída a um link, a menos que o ID do clique seja um clique real em um dos links do seu app.

Essa opção faz parte do SDK nativo para Android. No React Native e no Flutter, teste com uma instalação real, como abaixo.

Testar com uma instalação real (Android)

  1. Envie uma build para Google Play Console → Testes → Teste interno e adicione você mesmo como testador.
  2. No celular, desinstale o app, depois abra um dos seus links do Unolink e instale pela página do Play que ele abrir.
  3. Abra o app. A instalação é atribuída a esse link, e o listener de deep link roda se o link tiver um deep link.

Mais em Deep links adiados no Android.

iPhone

No iPhone, instalações e eventos são contados, mas o seu app nunca fica sabendo em qual link a pessoa tocou: não existe deep link adiado, porque a Apple não tem referrer de instalação e o Unolink nunca faz fingerprinting. Mesmo assim, o painel associa as instalações no iPhone ao link delas, sem fingerprinting. Então, no iOS, teste se as instalações e os eventos chegam. Não há deep link para conferir no app.

Checklist

  • A primeira abertura aparece em Jornadas com Incluir dispositivos de teste ativado.
  • Cada chamada de funil aparece como uma etapa nessa instalação.
  • Com RevenueCat: uma compra de sandbox aparece na mesma instalação depois do setUserId.
  • Android: uma instalação do teste interno do Play a partir de um link mostra o link, e o deep link abre.
  • As builds de release são configuradas sem debug: true e com o nível de log padrão.

Falta alguma coisa? Veja Solução de problemas.