Přejít na obsah

Návod · Android (Kotlin)

Přidejte affiliate nebo referral program do své aplikace pro Android.

InfluTo Android SDK je napsané pro Kotlin a korutiny. Řekne vám, který tvůrce instalaci doporučil, přijímá ručně zadané referral kódy a zajistí ověření každého nákupu — přes RevenueCat, nebo přímo z Google Play Billing.

Aktualizováno 1. listopadu 2026

Ve zkratce

Přidejte to.influ:android-sdk z Maven Central, jednou zavolejte InfluTo.initialize v Application.onCreate (je to suspend funkce) a pak checkAttribution a identifyUser. S RevenueCat není v kódu co dalšího zapojovat: SDK RevenueCat najde samo a předplatitele označí. Bez RevenueCat přidejte to.influ:android-sdk-billing; přináší Play Billing Library 9.0.0, nákupy zachytává automaticky a každý nákup přijme i z vašeho vlastního PurchasesUpdatedListeneru. Vyžaduje minSdk 24 a toolchain Javy 17. Počítejte s odpolednem práce, většinu zabere strana nákupů.

Krok 1: přidejte potřebné artefakty

SDK je rozdělené do tří artefaktů na Maven Central, všechny ve stejné verzi, takže mezi repozitáři musíte mít mavenCentral(). Přidejte jen to, co potřebujete: každý doplněk si přibalí jádro a jádro i billing artefakt mají vlastní pravidla R8/ProGuard.

// build.gradle.kts
dependencies {
    implementation("to.influ:android-sdk:1.1.1")
    // optional: Compose code field (InfluToReferralCodeInput)
    implementation("to.influ:android-sdk-ui:1.1.1")
    // optional: store-direct purchase auto-capture
    implementation("to.influ:android-sdk-billing:1.1.1")
}
ArtefaktKdy ho přidatCo přináší
android-sdkVždySDK; přidá oprávnění INTERNET
android-sdk-uiChcete hotové pole pro kód v ComposeInfluToReferralCodeInput (Material 3)
android-sdk-billingAplikace komunikuje přímo s obchodem (bez RevenueCat)Automatické zachytávání nákupů; přidá Google Play Billing Library 9.0.0 (billing-ktx) a oprávnění com.android.vending.BILLING

Krok 2: inicializace v Application.onCreate

initialize je suspend funkce. Zavolejte ji jednou při startu a počkejte na výsledek; dokud neuspěje, checkAttribution a reportPurchase vyhazují InfluToError.NotInitialized. Při selhání (špatný klíč, chybějící síť) vyhodí výjimku: zachyťte ji, zalogujte a pokračujte.

Použijte Application.onCreate nebo scope platný pro celou aplikaci, ne onCreate aktivity, který se spouští znovu při každé změně konfigurace. Nejste v korutině? Každá síťová metoda má variantu s callbackem; callbacky běží na vedlejším vlákně, takže před prací s UI přepněte na hlavní vlákno.

Klíč API (it_…, v části Setup & SDK) platí pro vývoj i produkci. Uložte ho do pole BuildConfig, které se plní z vlastnosti Gradle v local.properties nebo z tajných proměnných vašeho CI. Typický start u aplikace s RevenueCat:

class MyApp : Application() {
    private val appScope = MainScope()

    override fun onCreate() {
        super.onCreate()
        // RevenueCat apps: configure it first
        Purchases.configure(PurchasesConfiguration.Builder(this, "goog_…").build())

        appScope.launch {
            try {
                InfluTo.initialize(this@MyApp, InfluToConfig(
                    apiKey = BuildConfig.INFLUTO_API_KEY,
                    appVersion = BuildConfig.VERSION_NAME,
                ))
            } catch (e: Exception) {
                Log.w("InfluTo", "initialize failed", e) // retried on the next launch
                return@launch
            }
            val attribution = InfluTo.checkAttribution()
            InfluTo.identifyUser(Purchases.sharedInstance.appUserID)
        }
    }
}

Krok 3: referral kódy a pole v Compose

applyCode(code) je suspend volání, které kód ověří a pokud je platný, použije ho. Kódy se ořežou o mezery a převedou na velká písmena; neplatný kód vrátí valid = false s errorCode: INVALID_FORMAT, CODE_NOT_FOUND, CODE_EXPIRED, NETWORK_ERROR nebo UNKNOWN.

S android-sdk-ui máte k dispozici InfluToReferralCodeInput, composable v Material 3, který kód ověřuje už při psaní, po klepnutí ho použije, předvyplní ho u instalace přiřazené podle odkazu a převezme vaše přeložené texty. Jméno tvůrce zobrazí, jen když zapnete showReferrerName.

Krok 4: propojení nákupů

InfluTo vyplácí provizi jen z nákupů ověřených u obchodu. Pro Android vyberte jednu cestu:

  • RevenueCat: v kódu není co zapojovat. Když se najde doporučení nebo se použije kód, SDK najde RevenueCat SDK a nastaví influto_code a influto_referral; chcete-li to udělat výslovně, předejte revenueCatAttributeSetter. Nejdřív nakonfigurujte RevenueCat a android-sdk-billing nepřidávejte.

  • Přímo přes obchod (Play Billing): přidejte android-sdk-billing. V aplikaci napojené přímo na obchod initialize spustí observer s vlastním připojením k Play Billing, který hlásí nové nákupy a při každém startu projde i ty stávající. Odesílají se jen nákupy ve stavu PURCHASED, každý jednou, podle purchase tokenu.

Jednorázové a spotřební produkty potřebují productId plus price a currency: bez productId se nákup ověřuje jako předplatné a selže, bez ceny se zapíše za 0 $. Uveďte je v oneTimeProductIds a automatické zachytávání doplní obojí. Kód 409 znamená, že jednorázový nákup stále čeká na dokončení.

Většina aplikací má vlastní BillingClient. Předejte modulu každý nákup i ze svého PurchasesUpdatedListeneru, aby se nahlásil ve chvíli, kdy nastane. Modul sdílí stejnou deduplikaci, takže se nic nenahlásí dvakrát:

override fun onPurchasesUpdated(result: BillingResult, purchases: MutableList<Purchase>?) {
    if (result.responseCode != BillingClient.BillingResponseCode.OK || purchases == null) return
    scope.launch {
        for (purchase in purchases) {
            InfluToBilling.report(context, purchase) // subscriptions
            // one-time products: InfluToBilling.report(context, purchase, oneTime = true, price = 4.99, currency = "EUR")
        }
    }
}

Krok 5: přidejte servisní účet Google Play

Přímé ověřování přes obchod vyžaduje přístup pro čtení do Google Play Developer API. InfluTo jen čte, ve vaší Play Console nikdy nic nemění.

  1. 1

    Zapněte API. V Google Cloud zapněte Google Play Android Developer API a vytvořte servisní účet s klíčem JSON.

  2. 2

    Udělte přístup v Play Console. V části Uživatelé a oprávnění pozvěte e-mail servisního účtu a přidělte mu pro danou aplikaci oprávnění Zobrazit finanční údaje, objednávky a odpovědi v průzkumech o zrušení.

  3. 3

    Nahrajte, ověřte, přepněte. Nahrajte klíč JSON v Nastavení → Ověření a stiskněte Uložit a ověřit. Jakmile kontrola zezelená, nastavte Android na Google — přímo.

Nová oprávnění Googlu se k API mohou dostat až za 48 hodin; InfluTo mezitím zobrazuje „šíří se“. Dokud nepřepnete, hlášení nákupů končí chybou 400, takže SDK můžete bezpečně vydat jako první.

Krok 6: otestujte s testerem licencí

Testovací nákupy nikdy nepřesouvají peníze ani neovlivňují vaše statistiky:

  1. 1

    Nasimulujte nákup. Simulovat nákup na stránce Nastavení a SDK pošle testovací nákup ze sandboxu skutečným zpracováním InfluTo. Zadejte jeden ze svých kódů a uvidíte, jak se rozpozná.

  2. 2

    Nainstalujte přes odkaz doporučení. Zapojte se do své kampaně druhým účtem tvůrce, otevřete jeho odkaz na testovacím zařízení, nainstalujte testovací build a spusťte ho. Nejspolehlivější test je ručně zadat kód.

  3. 3

    Kupte jako tester licencí. Kupte jako tester licencí Google Play. Log integrace přepnutý na Sandbox ukáže nákup přiřazený k vašemu kódu; s debug = true SDK zapisuje každý krok do Logcatu pod značkou InfluTo.

clearAttribution() vynuluje zařízení pro další pokus; čistší začátek zajistí vymazání úložiště aplikace nebo přeinstalace.

Poznámky k Androidu

Pár detailů platformy:

  • Nejdřív korutiny. Síťové metody jsou suspend funkce; getReferralCode(), getPrefilledCode() a clearAttribution() jsou běžné funkce.

  • Oprávnění. Jádro přidává INTERNET; android-sdk-billing přidává com.android.vending.BILLING. Co uvést ve formuláři Zabezpečení dat v Google Play, najdete v dokumentaci k ochraně soukromí.

  • Verze Play Billing. android-sdk-billing zpřístupňuje Play Billing Library 9.0.0, kterou Gradle sloučí s vaší vlastní závislostí na Billing.

  • Žádné reklamní ID. InfluTo nepoužívá reklamní ID, nesleduje uživatele napříč aplikacemi a nikdy nepáruje podle vlastností zařízení.

Nebo to nechte udělat kódovacího agenta

Připojte MCP server InfluTo ke Claude Code, Codex nebo Cursoru a požádejte o integraci: agent napíše řádky pro Gradle i startovací kód, pošle vám odkaz, kam sami nahrajete JSON servisního účtu, spustí kontrolu přihlašovacích údajů a potvrdí přiřazený testovací nákup.

Affiliate SDK pro Android: odpovědi.

Existuje affiliate SDK pro Android aplikace psané v Kotlinu?

Ano. to.influ:android-sdk na Maven Central (MIT, zdrojový kód na github.com/influto/influto-android) přidává do nativních Android aplikací rozpoznání instalací z doporučení, referral kódy a přiřazení nákupů. Vyžaduje minSdk 24 a toolchain Java 17 a jádro závisí jen na kotlinx-coroutines.

Potřebuji Google Play Billing Library?

Jen při přímém ověřování přes obchod. android-sdk-billing přidává Play Billing Library 9.0.0 (billing-ktx) a oprávnění BILLING. Aplikace s RevenueCat si vystačí se samotným jádrem SDK.

Funguje to s RevenueCat na Androidu?

Ano. SDK RevenueCat samo najde a nastaví předplatiteli influto_code a influto_referral, nebo můžete explicitně předat revenueCatAttributeSetter. Webhook RevenueCat pak posílá InfluTo každý nákup, obnovení i vrácení peněz.

Zvládne spotřební a jednorázové nákupy?

Ano. Uveďte jejich ID produktů v oneTimeProductIds, aby se zachycené nákupy ověřovaly jako jednorázové, a pokud váš kód pro platby cenu neposkytuje, hlaste je i s cenou a měnou. Jednorázová vrácení peněz v Google Play se rozpoznají a provize se stornuje.

Kolik to stojí?

0 $ měsíčně. Za každý ověřený nákup platíte provizi, kterou nastavíte, plus 10 % ze stejné tržby (7 %, 5 % nebo 3 % při vyšším objemu). Předplacená peněženka začíná na 50 $ a je vratná; InfluTo vyplácí tvůrce měsíčně přes Stripe Connect ve 33 zemích, jakmile vydělají 20 $.

Vydejte referral kódy hned v příštím release.

Jeden řádek v Gradle, jedna cesta ověření, vratná záloha. 0 $ měsíčně; 10 % jen z tržeb, které přivedou tvůrci.

Začít zdarma