Testen

Draai een debugbuild, open de app één keer en kijk in het dashboard. Deze pagina legt uit wat als testapparaat telt, hoe je de gegevens ervan ziet, en hoe je uitgestelde deep links test zonder te publiceren in Google Play.

Testapparaten

Een installatie die als testapparaat is gemarkeerd, stuurt echte gegevens, maar het dashboard houdt ze buiten je cijfers tot je erom vraagt. Zo blazen je eigen tests nooit je installaties, conversie of omzet op.

PlatformGemarkeerd als testapparaat als
AndroidDe build debuggable is (standaard voor debugbuilds), of je UnolinkOptions(debug = true) meegeeft. Ook, vanaf SDK 0.3.0, een releasebuild die je zelf hebt geïnstalleerd met adb of Android Studio, en de telefoons van Google’s pre-launch report en Firebase Test Lab.
iOSJe UnolinkOptions(debug: true) meegeeft. Gebruik #if DEBUG, want een gecompileerde bibliotheek kan je build-instellingen niet zien. Vanaf SDK 0.3.0 zijn TestFlight- en Xcode-builds vanzelf testapparaten.
React NativeJe { debug: __DEV__ } meegeeft, plus de iOS- en Android-regels hierboven.
FlutterJe debug: kDebugMode meegeeft, plus de iOS- en Android-regels hierboven.

Een installatie die een sandbox-aankoop doet in RevenueCat (TestFlight, licentietesters op Google Play), wordt ook een testapparaat, met alles wat hij heeft verstuurd.

Testtracks van Google Play (intern, gesloten, open) zijn op de telefoon niet te onderscheiden van de release in de store. Markeer die builds zelf, bijvoorbeeld met een variabele tijdens het bouwen:

// 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" })

Testgegevens bekijken in het dashboard

Open je app → Funnel of Trajecten en zet Testapparaten meetellen aan. Testinstallaties verschijnen dan naast echte. Zet het weer uit voordat je je echte cijfers bekijkt.

Een eerste keer openen verschijnt binnen een paar seconden nadat je de app start. Events worden elke 15 seconden in batches verstuurd zolang de app open is, en meteen als hij naar de achtergrond gaat: druk op de thuisknop om ze nu te versturen.

Debuglogs

De SDK is stil als alles werkt: standaard logt hij alleen waarschuwingen en fouten. Wil je elke stap zien, verhoog dan het logniveau.

// 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);

Zet het terug op de standaardwaarde voordat je een release uitbrengt.

Een Play-install referrer simuleren (Android)

Google Play geeft alleen een install referrer mee bij echte installaties uit Google Play. Om je code voor uitgestelde deep links te testen zonder die referrer, geef je een native Android-debugbuild een nep-referrer:

Unolink.configure(this, "ulk_…", UnolinkOptions(
    debugInstallReferrer = "unolink_click_id=clk_01JA0000000000000000000000&unolink_deep_link=%2Fpromo%2F3for2&unolink_p_offer=3for2",
))
  • Hij wordt alleen gebruikt in debuggable builds. Releasebuilds negeren hem en lezen de echte referrer.
  • Hij wordt alleen bij de eerste keer openen gelezen, net als de echte. Verwijder de app, of wis de opslag ervan, vóór elke poging.
  • Je listener voor uitgestelde deep links krijgt deepLink = "/promo/3for2" en params = {offer=3for2} uit de referrer. De SDK logt een waarschuwing dat hij de gesimuleerde referrer heeft gebruikt.
  • De installatie zelf wordt niet aan een link toegeschreven, tenzij de klik-ID een echte klik is op een van de links van je app.

Deze optie hoort bij de native Android-SDK. In React Native en Flutter test je met een echte installatie, zoals hieronder.

Testen met een echte installatie (Android)

  1. Upload een build naar Google Play Console → Testen → Interne tests en voeg jezelf toe als tester.
  2. Verwijder op de telefoon de app, open dan een van je Unolink-links en installeer via de Play-vermelding die opent.
  3. Open de app. De installatie wordt aan die link toegeschreven, en de deeplink-listener draait als de link een deeplink heeft.

Meer in Uitgestelde deep links op Android.

iPhone

Op iPhone worden installaties en events geteld, maar je app krijgt nooit te horen op welke link is getikt: er is geen uitgestelde deep link, omdat Apple geen install referrer heeft en Unolink nooit aan fingerprinting doet. Het dashboard koppelt iPhone-installaties toch aan hun link, zonder fingerprinting. Test op iOS dus of installaties en events binnenkomen. Er is geen deeplink om in de app te controleren.

Checklist

  • De eerste keer openen verschijnt in Trajecten met Testapparaten meetellen aan.
  • Elke funnelaanroep verschijnt als stap bij die installatie.
  • Met RevenueCat: een sandbox-aankoop verschijnt bij dezelfde installatie na setUserId.
  • Android: een installatie via interne tests in Play vanaf een link toont de link, en de deeplink opent.
  • Releasebuilds zijn geconfigureerd zonder debug: true en met het standaard logniveau.

Ontbreekt er iets? Zie Problemen oplossen.