Testen
Starte einen Debug-Build, öffne die App einmal und schau ins Dashboard. Diese Seite erklärt, was als Testgerät zählt, wie du seine Daten siehst und wie du Deferred Deep Links testest, ohne bei Google Play zu veröffentlichen.
Testgeräte
Eine Installation, die als Testgerät markiert ist, sendet echte Daten, aber das Dashboard hält sie aus deinen Zahlen heraus, bis du danach fragst. So blähen deine eigenen Tests nie Installationen, Conversion oder Umsatz auf.
| Plattform | Als Testgerät markiert, wenn |
|---|---|
| Android | Der Build debuggable ist (Standard bei Debug-Builds) oder du UnolinkOptions(debug = true) übergibst. Außerdem, ab SDK 0.3.0, ein Release-Build, den du selbst mit adb oder Android Studio installiert hast, sowie die Smartphones aus Googles Pre-Launch-Bericht und Firebase Test Lab. |
| iOS | Du UnolinkOptions(debug: true) übergibst. Nutze #if DEBUG, da eine kompilierte Bibliothek deine Build-Einstellungen nicht sehen kann. Ab SDK 0.3.0 sind TestFlight- und Xcode-Builds von selbst Testgeräte. |
| React Native | Du { debug: __DEV__ } übergibst, plus die iOS- und Android-Regeln oben. |
| Flutter | Du debug: kDebugMode übergibst, plus die iOS- und Android-Regeln oben. |
Eine Installation, die einen Sandbox-Kauf über RevenueCat macht (TestFlight, Lizenztester bei Google Play), wird ebenfalls zum Testgerät, mit allem, was sie gesendet hat.
Testtracks von Google Play (intern, geschlossen, offen) lassen sich auf dem Smartphone nicht vom Store-Release unterscheiden. Markiere diese Builds selbst, zum Beispiel mit einer Variablen zur Build-Zeit:
// 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" })
Testdaten im Dashboard sehen
Öffne deine App → Funnel oder Journeys und schalte Testgeräte einbeziehen ein. Testinstallationen erscheinen dann neben echten. Schalte es wieder aus, bevor du deine echten Zahlen liest.
Ein erstes Öffnen erscheint wenige Sekunden nach dem Start der App. Events werden alle 15 Sekunden gebündelt gesendet, solange die App offen ist, und sofort, wenn sie in den Hintergrund geht: Drück Home, um sie jetzt zu senden.
Debug-Logs
Das SDK ist still, wenn alles funktioniert: Standardmäßig loggt es nur Warnungen und Fehler. Um jeden Schritt zu sehen, erhöh das Log-Level.
// 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);
Stell es vor dem Release wieder auf den Standard zurück.
Install-Referrer simulieren (Android)
Google Play übergibt einen Install-Referrer nur bei echten Installationen über Google Play. Um deinen Code für Deferred Deep Links ohne einen zu testen, gib einem nativen Android-Debug-Build einen vorgetäuschten Referrer:
Unolink.configure(this, "ulk_…", UnolinkOptions(
debugInstallReferrer = "unolink_click_id=clk_01JA0000000000000000000000&unolink_deep_link=%2Fpromo%2F3for2&unolink_p_offer=3for2",
))
- Er wird nur in debuggable Builds genutzt. Release-Builds ignorieren ihn und lesen den echten Referrer.
- Er wird nur beim ersten Start gelesen, wie der echte. Deinstalliere die App oder lösche ihren Speicher vor jedem Versuch.
- Dein Listener für Deferred Deep Links bekommt aus dem Referrer
deepLink = "/promo/3for2"undparams = {offer=3for2}. Das SDK loggt eine Warnung, dass es den simulierten Referrer genutzt hat. - Die Installation selbst wird keinem Link zugerechnet, außer die Klick-ID ist ein echter Klick auf einen der Links deiner App.
Diese Option gehört zum nativen Android SDK. In React Native und Flutter testest du mit einer echten Installation wie unten.
Mit echter Installation testen (Android)
- Lade einen Build in die Google Play Console → Testen → Interner Test hoch und füge dich als Tester hinzu.
- Deinstalliere die App auf dem Smartphone, öffne dann einen deiner Unolink-Links und installiere über den Play-Eintrag, der sich öffnet.
- Öffne die App. Die Installation wird diesem Link zugerechnet, und der Deeplink-Listener läuft, wenn der Link einen Deeplink hat.
Mehr dazu unter Deferred Deep Links unter Android.
iPhone
Auf dem iPhone werden Installationen und Events gezählt, aber deine App erfährt nie, welcher Link angetippt wurde: Es gibt keinen Deferred Deep Link, weil Apple keinen Install-Referrer hat und Unolink nie Fingerprinting nutzt. Das Dashboard ordnet iPhone-Installationen trotzdem ihrem Link zu, ohne Fingerprinting. Teste unter iOS also, dass Installationen und Events ankommen. In der App gibt es keinen Deeplink zu prüfen.
Checkliste
- Das erste Öffnen erscheint in Journeys, wenn Testgeräte einbeziehen an ist.
- Jeder Funnel-Aufruf erscheint als Schritt bei dieser Installation.
- Mit RevenueCat: Ein Sandbox-Kauf erscheint nach
setUserIdbei derselben Installation. - Android: Eine Installation über einen Link aus dem internen Test von Google Play zeigt den Link, und der Deeplink öffnet sich.
- Release-Builds sind ohne
debug: trueund mit dem Standard-Log-Level konfiguriert.
Fehlt etwas? Siehe Fehlerbehebung.