Ugrás a tartalomhoz

Útmutató · Android (Kotlin)

Adj affiliate- vagy ajánlói programot az Android-alkalmazásodhoz.

Az InfluTo Android SDK Kotlinra és coroutine-okra készült. Megmondja, melyik alkotó ajánlott egy telepítést, fogadja a beírt ajánlókódokat, és minden vásárlást ellenőriztet — RevenueCaten keresztül vagy közvetlenül a Google Play Billingből.

Frissítve: 2026. november 1.

Röviden

Add hozzá a to.influ:android-sdk-t a Maven Centralból, hívd meg egyszer az InfluTo.initialize-t az Application.onCreate-ben (ez suspend függvény), utána jön a checkAttribution és az identifyUser. RevenueCat esetén a kódban nincs más teendő: az SDK magától megtalálja a RevenueCatet, és megjelöli az előfizetőt. RevenueCat nélkül add hozzá a to.influ:android-sdk-billing-et: ez hozza a Play Billing Library 9.0.0-t, automatikusan rögzíti a vásárlásokat, és a saját PurchasesUpdatedListeneredből is átveszi őket. minSdk 24 és Java 17 toolchain kell hozzá. Számolj egy délutánnal, a nagyobbik része a vásárlási oldalra megy.

1. lépés: add hozzá a szükséges artifactokat

Az SDK három artifactra oszlik a Maven Centralon, mind ugyanazon a verzión, ezért a mavenCentral()-nak szerepelnie kell a repositories között. Csak azt add hozzá, amire szükséged van: minden kiegészítő magával hozza az alapot, az alap és a billing artifact pedig saját R8/ProGuard-szabályokat tartalmaz.

// 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")
}
ArtifactMikor add hozzáMit hoz
android-sdkMindigAz SDK; hozzáadja az INTERNET engedélyt
android-sdk-uiKész Compose kódmezőt szeretnélInfluToReferralCodeInput (Material 3)
android-sdk-billingAz alkalmazásod közvetlenül a storeral dolgozik (RevenueCat nélkül)Automatikus vásárlásrögzítés; hozzáadja a Google Play Billing Libraryt 9.0.0 (billing-ktx) és a com.android.vending.BILLING engedélyt

2. lépés: inicializálás az Application.onCreate-ben

Az initialize suspend függvény. Indításkor egyszer hívd meg, és várd meg. Amíg nem sikerül, a checkAttribution és a reportPurchase InfluToError.NotInitialized hibát dob. Ha az initialize hibázik (rossz kulcs, nincs hálózat), kivételt dob: kapd el, naplózd, és menj tovább.

Az Application.onCreate-et vagy egy alkalmazásszintű scope-ot használd, ne egy activity onCreate-jét, mert az minden konfigurációváltásnál újra lefut. Nem coroutine-ban vagy? Minden hálózati metódusnak van callbackes változata. A callbackek háttérszálon futnak, ezért a felület módosítása előtt válts a főszálra.

Az API-kulcs (it_…, a Setup & SDK oldalon) fejlesztéshez és éles használathoz is jó. Tartsd egy BuildConfig mezőben, amelyet a local.properties-ben vagy a CI titkaiban megadott Gradle-tulajdonságból töltesz fel. Tipikus indítás egy RevenueCat-es alkalmazásban:

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

3. lépés: ajánlókódok és a Compose mező

Az applyCode(code) suspend hívás: ellenőrzi a kódot, és ha érvényes, alkalmazza. A kódokból levágja a szóközöket, és nagybetűssé alakítja őket. Érvénytelen kódnál valid = false érték jön vissza errorCode-dal: INVALID_FORMAT, CODE_NOT_FOUND, CODE_EXPIRED, NETWORK_ERROR vagy UNKNOWN.

Az android-sdk-ui-val az InfluToReferralCodeInput egy Material 3 composable: gépelés közben ellenőriz, koppintásra alkalmazza a kódot, linkről érkező telepítésnél előtölti, és fogadja a lefordított szövegeidet. Az alkotó nevét csak akkor mutatja, ha bekapcsolod a showReferrerName-et.

4. lépés: vásárlások összekötése

Az InfluTo csak a store által ellenőrzött vásárlások után fizet jutalékot. Androidon válassz egy utat:

  • RevenueCat: a kódban nincs mit bekötni. Ha találat van egy ajánlásra, vagy alkalmaztak egy kódot, az SDK megkeresi a RevenueCat SDK-t, és beállítja az influto_code és az influto_referral attribútumot. A revenueCatAttributeSetter átadásával ezt kifejezetten is megadhatod. Előbb a RevenueCatet konfiguráld, és ne add hozzá az android-sdk-billing-et.

  • Közvetlen store (Play Billing): add hozzá az android-sdk-billing-et. Közvetlen store-os alkalmazásnál az initialize elindít egy observert saját Play Billing-kapcsolattal, amely jelenti az új vásárlásokat, és minden induláskor átnézi a meglévőket. Csak a PURCHASED állapotú vásárlások mennek el, mindegyik egyszer, a purchase token alapján.

Az egyszeri és a fogyasztható termékekhez productId, valamint price és currency kell. productId nélkül a vásárlást előfizetésként ellenőrzi, és hibázik, price nélkül pedig 0 $-ral rögzíti. Sorold fel őket a oneTimeProductIds-ben, és az automatikus rögzítés mindkettőt hozzáadja. A 409 azt jelenti, hogy egy egyszeri vásárlás még függőben van.

A legtöbb alkalmazásnak saját BillingClientje van. Add át minden vásárlást a modulnak a PurchasesUpdatedListeneredből is, hogy a jelentés abban a pillanatban megtörténjen. Ugyanazt a duplikáció-szűrést használja, így semmi nem kerül kétszer jelentésre:

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

5. lépés: add hozzá a Google Play szolgáltatásfiókot

A közvetlen áruházi mód olvasási hozzáférést kér a Google Play Developer API-hoz. Az InfluTo csak olvas, a Play Console-ban soha nem módosít semmit.

  1. 1

    Engedélyezd az API-t. A Google Cloudban engedélyezd a Google Play Android Developer API-t, és hozz létre egy szolgáltatásfiókot JSON-kulccsal.

  2. 2

    Adj hozzáférést a Play Console-ban. A Felhasználók és engedélyek résznél hívd meg a szolgáltatásfiók e-mail-címét, és add meg neki az alkalmazáshoz a „Pénzügyi adatok, rendelések és lemondási felmérések válaszainak megtekintése” jogosultságot.

  3. 3

    Töltsd fel, ellenőrizd, kapcsold át. Töltsd fel a JSON-kulcsot a Beállítások → Ellenőrzés oldalon, és nyomd meg a Mentés és ellenőrzés gombot. Ha az ellenőrzés zöld, állítsd az Androidot a Google — közvetlen értékre.

Az új Google-jogosultságok akár 48 órába is telhetnek, mire elérik az API-t. Addig az InfluTo „propagálás folyamatban” üzenetet mutat. Amíg nem kapcsolsz át, a vásárlásjelentések 400-as hibát kapnak, ezért az SDK-t nyugodtan kiadhatod előbb.

6. lépés: tesztelés licenctesztelővel

A tesztvásárlások soha nem mozgatnak pénzt, és nem módosítják a statisztikáidat:

  1. 1

    Szimulálj egy vásárlást. A Beállítás és SDK oldalon a Vásárlás szimulálása egy sandbox tesztvásárlást küld végig az InfluTo valódi folyamatán. Add meg az egyik kódodat, és nézd meg, felismeri-e.

  2. 2

    Telepíts ajánlói linken keresztül. Csatlakozz a kampányodhoz egy második alkotói fiókkal, nyisd meg a linkjét egy tesztkészüléken, telepítsd a teszt buildet, és indítsd el. A kód beírása a legmegbízhatóbb teszt.

  3. 3

    Vásárolj licenctesztelőként. Vásárolj Google Play licenctesztelőként. Az Integrációs napló Sandbox nézetben mutatja a kódodhoz rendelt vásárlást. Ha a debug = true, az SDK minden lépést naplóz a Logcatbe, InfluTo címkével.

A clearAttribution() visszaállítja a készüléket egy újabb futtatáshoz. Az alkalmazásadatok törlésével vagy újratelepítéssel tisztább az indulás.

Androidos megjegyzések

Néhány platformspecifikus részlet:

  • Elsősorban korutinok. A hálózati metódusok suspend függvények. A getReferralCode(), a getPrefilledCode() és a clearAttribution() hagyományos függvények.

  • Engedélyek. A mag az INTERNET engedélyt adja hozzá, az android-sdk-billing pedig a com.android.vending.BILLING-et. Az adatvédelmi dokumentáció leírja, mit kell megadnod a Play adatbiztonsági űrlapján.

  • Play Billing verzió. Az android-sdk-billing a Play Billing Library 9.0.0-t teszi elérhetővé, amelyet a Gradle a saját Billing-függőségeddel együtt old fel.

  • Nincs hirdetési azonosító. Az InfluTo nem használja a hirdetési azonosítót, nem követi a felhasználókat alkalmazások között, és soha nem párosít készülékjellemzők alapján.

Vagy bízd a kódoló ügynökre

Csatlakoztasd az InfluTo MCP-szerverét a Claude Code-hoz, a Codexhez vagy a Cursorhoz, és kérd az integrációt. Az ügynök megírja a Gradle-sorokat és az indítási kódot, ad egy linket, ahol magad töltheted fel a szolgáltatásfiók JSON-ját, lefuttatja a hitelesítő adatok ellenőrzését, és visszaigazol egy hozzárendelt tesztvásárlást.

Androidos affiliate SDK, válaszokkal.

Van affiliate SDK Kotlinban írt Android-alkalmazásokhoz?

Igen. A Maven Centralon elérhető to.influ:android-sdk (MIT, forrás: github.com/influto/influto-android) ajánlott telepítések felismerését, ajánlókódokat és vásárlás-hozzárendelést ad a natív Android-alkalmazásokhoz. minSdk 24 és Java 17 eszközlánc kell hozzá, a mag pedig csak a kotlinx-coroutines-tól függ.

Kell a Google Play Billing Library?

Csak a közvetlen áruházi úton. Az android-sdk-billing hozzáadja a Play Billing Library 9.0.0-t (billing-ktx) és a BILLING engedélyt. A RevenueCat-et használó alkalmazások csak a core SDK-t használják.

Működik RevenueCat-tel Androidon?

Igen. Az SDK magától megtalálja a RevenueCat SDK-t, és beállítja az influto_code és az influto_referral attribútumot az előfizetőn. Megadhatod a revenueCatAttributeSetter-t is kifejezetten. Ezután a RevenueCat webhookja minden vásárlást, megújítást és visszatérítést elküld az InfluTo-nak.

Kezeli a fogyóeszközöket és az egyszeri vásárlásokat?

Igen. Sorold fel a termékazonosítókat a oneTimeProductIds-ben, hogy a rögzített vásárlásokat egyszeri vásárlásként ellenőrizze a rendszer. Ha a számlázási kódod nem adja meg az árat, jelentsd őket árral és pénznemmel. A Google Play egyszeri visszatérítéseit észleljük, és a jutalék visszavonásra kerül.

Mennyibe kerül?

Havi 0 $. Minden ellenőrzött vásárlás után a beállított jutalékot fizeted, plusz ugyanennek a bevételnek a 10%-át (nagyobb volumennél 7%, 5% vagy 3%). Az előre feltöltött egyenleg 50 $-tól indul, és visszatéríthető. Az InfluTo havonta fizet az alkotóknak a Stripe Connecten keresztül 33 országban, amint elérték a 20 $-t.

Add ki az ajánlókódokat a következő verzióban.

Egy Gradle-sor, egy ellenőrzési út, visszatéríthető letét. Havi 0 $, és 10% csak az alkotók hozta bevétel után.

Kezdd el ingyen