Inizia

L’SDK Unolink

I link ti dicono chi ha toccato. L’SDK ti dice cosa è successo dopo: installazioni, onboarding, visualizzazioni del paywall, registrazioni, prove e acquisti, per link e per campagna. Su Android apre anche la tua app sulla schermata giusta dopo un’installazione da un link.

È open source, si aggiunge in circa cinque minuti ed è disponibile dal piano Pro in su.

Codice sorgente: github.com/unolink-dev/unolink-sdk.

Avvio rapido

Scegli la tua piattaforma. Segui i passaggi da solo, oppure copia un unico prompt nel tuo assistente di programmazione AI. Nella dashboard (la tua app → SDK), gli stessi passaggi contengono la tua chiave vera e il controllo di stato diventa verde quando arriva la tua prima installazione. Qui mostra una demo.

Android 6.0+ (minSdk 23)Linguaggio Kotlin o JavaDa Maven CentralLa tua chiave ulk_…dalla tua app → Impostazioni
  1. Passaggio 1: Installa il pacchetto

    app/build.gradle.kts → dependencies { }

    Maven Central è già presente in ogni nuovo progetto Android, quindi basta questa riga. Poi sincronizza Gradle.

    dependencies {
        
  2. Passaggio 2: Avvialo con la tua chiave

    La tua classe Application → onCreate()

    Configura una sola volta, prima che venga eseguito qualsiasi altro codice. Non hai ancora una classe Application? Crea questa e aggiungi android:name=".MyApp" a <application> in AndroidManifest.xml.

    class MyApp : Application() {
        override fun onCreate() {
            super.onCreate()
            Unolink.configure(this, "ulk_…")
        }
    }
  3. Passaggio 3: Segna i passaggi del tuo funnel

    Una riga in ogni momento importante. Diventano i passaggi del tuo Funnel e dei tuoi Percorsi.

    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 RevenueCat
    onboardingStep(step)Scheda OnboardingQuando appare ogni schermata di onboarding (non sul suo pulsante). Mostra in quale schermata le persone abbandonano. Gratis: non conta nei tuoi eventi SDK.
    onboardingCompleted()OnboardingSubito dopo l’ultima schermata di onboarding, prima del paywall o della registrazione che segue
    paywallViewed(placement)PaywallOgni volta che appare un paywall. Placement indica quale ("onboarding", "settings"…)
    signUp(method)RegistrazioneSubito dopo la creazione di un nuovo account
    signIn(method)Di ritornoQuando qualcuno accede a un account che aveva già (SDK 0.3.0+)
    signUpSkipped()Continuato come ospiteQuando qualcuno tocca «continua come ospite» invece di creare un account (SDK 0.3.2+)
    connectRevenueCat { } / setUserId(id)Collega acquistiCon RevenueCat: connectRevenueCat, una volta all’avvio (SDK 0.3.2+), tiene aggiornato l’app user ID di RevenueCat, ospiti compresi. Altrimenti setUserId con il tuo ID utente, null al logout
    Usi RevenueCat? Collegalo in Impostazioni → RevenueCat, chiama connectRevenueCat invece di setUserId (SDK 0.3.2+) e salta le chiamate per prove e acquisti. Prove, acquisti, rinnovi e rimborsi arrivano da soli.
  4. Passaggio 4: Apri i deep link dei tuoi link

    La tua prima Activity, o dove gestisci la navigazione

    Quando qualcuno installa da un link che ha un deep link, Unolink te lo passa alla prima apertura. Mandalo direttamente lì.

    Unolink.setDeferredDeepLinkListener { link ->
        // link.deepLink = "/promo/3for2", link.params["offer"] = "3for2"
        navigate(link.deepLink)
        Unolink.consumeDeferredDeepLink()
    }
  5. Passaggio 5: Verifica che funzioni

    Esegui una build di debug su un telefono o un emulatore e apri l’app una volta. Entro pochi secondi il controllo diventa verde.

    • Le build di debug e gli emulatori contano come dispositivi di test: attiva Includi dispositivi di test in Funnel e Percorsi per vederli.
    • Non vedi nulla? Configura con UnolinkOptions(logLevel = LogLevel.DEBUG) e cerca Unolink nei log.
Cosa succede dopo il rilascio
In attesa della tua prima installazione…
Installazioni0
Onboarding0
Paywall0
Registrazione0
Prova0

Come funziona

  1. Crei una chiave SDK nella dashboard: la tua app → Impostazioni → Chiavi SDK → Nuova chiave. La chiave è pubblica: viene distribuita dentro la tua app e può solo inviare dati per quell’unica app.
  2. Al primo avvio l’SDK crea un ID di installazione casuale e registra l’installazione. Su Android legge anche il referrer di installazione di Google Play, che dice da quale link Unolink è arrivata l’installazione.
  3. La tua app chiama una riga a ogni passaggio del funnel: onboarding finito, paywall mostrato, account creato. L’SDK aggiunge da solo tre eventi: prima apertura, inizio sessione e app in background.
  4. Gli eventi aspettano sul dispositivo e partono in piccoli lotti in background. Sei offline? Aspettano e riprovano. L’SDK non blocca mai la tua app e non lancia mai eccezioni.

Dove compaiono i dati

Apri la tua app nella dashboard:

  • Funnel: quante installazioni hanno raggiunto ogni passaggio, per link. Crea tutti i funnel che vuoi (Nuovo funnel), ognuno con i suoi passaggi; Percorsi mostra quello che scegli.
  • Percorsi: ogni installazione come codice anonimo, dal link che l’ha portata all’acquisto. Filtra per piattaforma, sorgente ed esito, oppure tocca un passaggio per vedere solo le persone che l’hanno raggiunto. Un punto verde mostra chi è nell’app in questo momento (attivo negli ultimi 5 minuti), con il totale in alto.
  • Report: cosa funziona, dove si perdono persone e cosa provare dopo. Regole fisse sui tuoi numeri; ogni risultato mostra come è stato calcolato.

Le build di debug, le build TestFlight e Xcode, le build Android installate da Android Studio o adb, le installazioni che hanno fatto un acquisto sandbox e le build che segni come test sono dispositivi di test. Restano nascosti finché non attivi Includi dispositivi di test. Vedi Test.

Acquisti

Se la tua app usa RevenueCat, collegalo e non inviare acquisti dall’app: RevenueCat riporta da solo prove, acquisti, rinnovi, cancellazioni e rimborsi. Riporta l’app user ID di RevenueCat (anche per gli ospiti), così vengono collegati all’installazione giusta: connectRevenueCat lo fa in una riga (SDK 0.3.2 o successivo), oppure chiama setUserId con esso.

Senza RevenueCat, chiama tu trialStarted e purchase. Vedi Eventi.

Privacy

  • Niente fingerprinting, niente IDFA o Google Advertising ID, nessuna richiesta di App Tracking Transparency.
  • Gli indirizzi IP non vengono mai salvati. Il paese viene ricavato dall’edge della rete.
  • I tuoi ID utente vengono salvati solo come hash unidirezionale, diverso per ognuna delle tue app.
  • Nell’etichetta privacy dell’App Store, i dati dell’SDK sono analisi, non collegate all’identità. Il pacchetto iOS include un privacy manifest.

Non mettere mai nomi, email o altri dati personali nelle proprietà degli eventi.

Piani e limiti

L’SDK fa parte dei piani Pro e Studio. Gli eventi automatici (prima apertura, inizio sessione, app in background), le schermate di onboarding e gli acquisti in arrivo da RevenueCat sono gratuiti. Ogni altro evento inviato dalla tua app, standard o personalizzato, conta nella quota mensile di eventi: 1 milione con Pro, 5 milioni con Studio.