Das Unolink SDK
Links sagen dir, wer getippt hat. Das SDK sagt dir, was danach passiert ist: Installationen, Onboarding, Paywall-Aufrufe, Registrierungen, Testphasen und Käufe, pro Link und Kampagne. Außerdem öffnet es deine App nach einer Installation über einen Link auf dem richtigen Screen, unter Android.
Es ist Open Source, in etwa fünf Minuten eingebaut und ab dem Pro-Tarif verfügbar.
- Android: Kotlin oder Java, Android 6.0+.
- iOS: Swift oder Objective-C, iOS 13+.
- React Native und Expo: React Native 0.79+, Expo-Dev-Builds.
- Flutter: Flutter 3.22+, Android und iOS.
Quellcode: github.com/unolink-dev/unolink-sdk.
Schnellstart
Wähle deine Plattform. Folge den Schritten selbst oder kopiere einen Prompt in deinen KI-Coding-Assistenten. Im Dashboard (deine App → SDK) enthalten dieselben Schritte deinen echten Schlüssel, und die Statusprüfung wird grün, sobald deine erste Installation ankommt. Hier läuft eine Demo.
ulk_…aus deiner App → EinstellungenSchritt 1: Paket installieren
app/build.gradle.kts → dependencies { }Maven Central ist in jedem neuen Android-Projekt schon eingebunden, diese eine Zeile reicht also. Synchronisiere danach Gradle.
dependencies {Schritt 2: Mit deinem Schlüssel starten
Deine Application-Klasse → onCreate()Einmal konfigurieren, bevor irgendetwas anderes läuft. Noch keine Application-Klasse? Leg diese an und füge android:name=".MyApp" zu <application> in AndroidManifest.xml hinzu.
class MyApp : Application() { override fun onCreate() { super.onCreate() Unolink.configure(this, "ulk_…") } }Schritt 3: Die Schritte deines Funnels markieren
Eine Zeile an jedem wichtigen Moment. Daraus werden die Schritte in deinem Funnel und deinen Journeys.
Unolink.onboardingStep("goal") // as each onboarding screen appears Unolink.onboardingCompleted() Unolink.paywallViewed("onboarding") Unolink.signUp("email") // a new account Unolink.signIn("apple") // a returning user signed in Unolink.signUpSkipped() // "continue as guest" Unolink.connectRevenueCat { Purchases.sharedInstance.appUserID } // with RevenueCat, once Unolink.setUserId(user.id) // without RevenueCatAufrufFunnel-SchrittWannonboardingStep(step)Tab OnboardingSobald jeder Onboarding-Screen erscheint (nicht bei seinem Button). Zeigt, auf welchem Screen Leute abspringen. Kostenlos: zählt nicht zu deinen SDK-Events.onboardingCompleted()OnboardingDirekt nach dem letzten Onboarding-Screen, vor der Paywall oder Registrierung, die darauf folgtpaywallViewed(placement)PaywallJedes Mal, wenn eine Paywall erscheint. Das Placement sagt, welche („onboarding“, „settings“…)signUp(method)RegistrierungDirekt nachdem ein neues Konto erstellt wurdesignIn(method)WiederkehrendWenn sich jemand bei einem bereits vorhandenen Konto anmeldet (SDK 0.3.0+)signUpSkipped()Als Gast weiterWenn jemand statt eines Kontos „als Gast weiter“ tippt (SDK 0.3.2+)connectRevenueCat { } / setUserId(id)Verknüpft KäufeMit RevenueCat: connectRevenueCat, einmal beim Start (SDK 0.3.2+), hält die App-User-ID von RevenueCat aktuell, auch für Gäste. Sonst setUserId mit deiner eigenen User-ID, beim Abmelden nullNutzt du RevenueCat? Verbinde es unter Einstellungen → RevenueCat, ruf connectRevenueCat statt setUserId auf (SDK 0.3.2+) und lass die Aufrufe für Testphasen und Käufe weg. Testphasen, Käufe, Verlängerungen und Erstattungen kommen von selbst an.Schritt 4: Deep Links aus deinen Links öffnen
Deine erste Activity oder dort, wo du navigierstWenn jemand über einen Link mit Deep Link installiert, übergibt Unolink ihn dir beim ersten Öffnen. Schick die Person direkt dorthin.
Unolink.setDeferredDeepLinkListener { link -> // link.deepLink = "/promo/3for2", link.params["offer"] = "3for2" navigate(link.deepLink) Unolink.consumeDeferredDeepLink() }Schritt 5: Prüfen, ob es funktioniert
Starte einen Debug-Build auf einem Smartphone oder Emulator und öffne die App einmal. Innerhalb weniger Sekunden wird die Prüfung grün.
- Debug-Builds und Emulatoren zählen als Testgeräte: Aktiviere Testgeräte einbeziehen in Funnel und Journeys, um sie zu sehen.
- Nichts zu sehen? Konfiguriere mit
UnolinkOptions(logLevel = LogLevel.DEBUG)und such in den Logs nachUnolink.
So funktioniert es
- Du erstellst im Dashboard einen SDK-Schlüssel: deine App → Einstellungen → SDK-Schlüssel → Neuer Schlüssel. Der Schlüssel ist öffentlich: Er wird mit deiner App ausgeliefert und kann nur Daten für diese eine App melden.
- Beim ersten Start erzeugt das SDK eine zufällige Installations-ID und registriert die Installation. Unter Android liest es außerdem den Install-Referrer von Google Play, der sagt, über welchen Unolink-Link die Installation kam.
- Deine App ruft an jedem Funnel-Schritt eine Zeile auf: Onboarding abgeschlossen, Paywall gezeigt, Konto erstellt. Drei Events fügt das SDK selbst hinzu: erstes Öffnen, Sitzungsstart und App im Hintergrund.
- Events warten auf dem Gerät und werden im Hintergrund in kleinen Paketen gesendet. Offline? Dann warten sie und versuchen es erneut. Das SDK blockiert deine App nie und wirft nie Exceptions.
Wo die Daten erscheinen
Öffne deine App im Dashboard:
- Funnel: wie viele Installationen jeden Schritt erreicht haben, pro Link. Lege so viele Funnels an, wie du willst (Neuer Funnel), jeden mit eigenen Schritten; Journeys zeigt den, den du wählst.
- Journeys: jede Installation als anonymer Code, vom Link, der sie gebracht hat, bis zum Kauf. Filtere nach Plattform, Quelle und Ergebnis, oder tippe auf einen Schritt, um nur die Leute aufzulisten, die ihn erreicht haben. Ein grüner Punkt zeigt, wer gerade in der App ist (aktiv in den letzten 5 Minuten), mit der Anzahl oben.
- Bericht: was funktioniert, wo Leute verloren gehen und was du als Nächstes versuchen kannst. Feste Regeln auf deinen eigenen Zahlen, jeder Befund zeigt, wie er ermittelt wurde.
Debug-Builds, TestFlight- und Xcode-Builds, über Android Studio oder adb installierte Android-Builds, Installationen mit einem Sandbox-Kauf und Builds, die du als Test markierst, sind Testgeräte. Sie sind ausgeblendet, bis du Testgeräte einbeziehen einschaltest. Siehe Testen.
Käufe
Wenn deine App RevenueCat nutzt, verbinde es und sende keine Käufe aus der App: RevenueCat meldet
Testphasen, Käufe, Verlängerungen, Kündigungen und Erstattungen selbst. Melde RevenueCats eigene App-User-ID (auch für Gäste),
damit sie der richtigen Installation zugeordnet werden: connectRevenueCat erledigt das in einer Zeile (SDK 0.3.2 oder neuer),
oder ruf setUserId damit auf.
Ohne RevenueCat rufst du trialStarted und purchase selbst auf. Siehe Events.
Datenschutz
- Kein Fingerprinting, keine IDFA oder Google Advertising ID, keine Abfrage für App Tracking Transparency.
- IP-Adressen werden nie gespeichert. Das Land kommt vom Netzwerk-Edge.
- Deine Nutzer-IDs werden nur als Einweg-Hash gespeichert, der für jede deiner Apps anders ist.
- Im Datenschutzetikett des App Store sind die Daten des SDK Analysen, nicht mit der Identität verknüpft. Das iOS-Paket enthält ein Privacy Manifest.
Schreib nie Namen, E-Mail-Adressen oder andere personenbezogene Daten in Event-Eigenschaften.
Tarife und Limits
Das SDK gehört zu den Tarifen Pro und Studio. Die automatischen Events (erstes Öffnen, Sitzungsstart, App im Hintergrund), Onboarding-Screens und Käufe von RevenueCat sind kostenlos. Jedes andere Event, das deine App sendet, ob Standard oder eigenes, zählt zum monatlichen Event-Kontingent: 1 Million bei Pro, 5 Millionen bei Studio.