Ugrás a tartalomhoz

Útmutató · Flutter

Építs affiliate- vagy ajánlói programot a Flutter-alkalmazásodba.

Az influto csomag iOS-en és Androidon felismeri az ajánlott telepítéseket, és fogadja a beírt ajánlókódokat. A vásárlások RevenueCat segítségével jutnak el az InfluTo-hoz, vagy közvetlenül az App Store-ból és a Google Play-ből az influto_iap társcsomaggal.

Frissítve: 2026. november 1.

Röviden

Futtasd a flutter pub add influto parancsot, hívd meg egyszer az InfluTo.instance.initialize-t induláskor, majd a checkAttribution és az identifyUser függvényt. RevenueCat esetén adj át egy revenueCatHook-ot, amely a Purchases.setAttributes-t hívja: Flutterben nincs automatikus megjelölés, így hook nélkül semmi sem állítja be az attribútumot. RevenueCat nélkül add hozzá az influto_iap-ot, és az initialize után engedélyezz egy InfluToPurchaseObservert. Ez jelenti az új vásárlásokat, és az in_app_purchase pluginen át pótolja a korábbiakat. Flutter 3.22+ és Dart 3.4+ szükséges. Számolj egy délutánnal, nagy része a vásárlási oldalra megy.

Mely csomagokra van szükséged

A pub.dev-en két csomag van, mindkettő MIT licencű, a forrás a github.com/influto/influto-flutter címen érhető el:

  • influto, mindig. Hozzárendelés, ajánlókódok, felhasználó-azonosítás, ingyenes hozzáférést adó kódok és kézi vásárlásjelentés. Csak az http és a shared_preferences függőségeket használja.

  • influto_iap, csak közvetlen áruházi esetben. Add hozzá, ha az appod nem RevenueCat-alapú, és az in_app_purchase pluginen át értékesít. Automatikusan rögzíti a vásárlásokat. A purchases_flutter-t használó RevenueCat-appoknak nincs rá szükségük.

Minden az InfluTo.instance-en keresztül megy, statikus hívások nincsenek. A telepítés:

flutter pub add influto
# optional: automatic store-direct purchase capture
flutter pub add influto_iap

1. lépés: inicializálás az első képkocka feltartása nélkül

Az initialize-t egyszer hívd meg induláskor, és várd meg, mielőtt bármi mást hívsz. Amíg nem sikerült, a checkAttribution és a reportPurchase InfluToException-t dob. Hiba esetén (rossz kulcs, nincs hálózat) maga is kivételt dob, ezért kapd el, naplózd, és menj tovább. A következő indításkor újra próbálkozik.

Ne blokkold rajta az első képkockát: állítsd be a RevenueCat-et, hívd meg a runApp-ot, majd indítsd az InfluTo-t unawaited-del, az alábbi módon. Az API-kulcsot (it_…, a Setup & SDK oldalon) build időben add át a --dart-define=INFLUTO_API_KEY=it_… kapcsolóval, és olvasd be a String.fromEnvironment-tel.

A checkAttribution ezután megmondja, hogy a telepítés ajánlott volt-e, és melyik kóddal. A válasz telepítésenként egyszer dől el, és az eszközön tárolódik. Hálózati hiba esetén attributed: false értéket ad vissza, és semmit sem tárol. Egy tipikus main.dart:

import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:influto/influto.dart';
import 'package:purchases_flutter/purchases_flutter.dart'; // only if you use RevenueCat

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Purchases.configure(PurchasesConfiguration('appl_…')); // RevenueCat apps: configure it first
  runApp(const MyApp());
  unawaited(startInfluTo());
}

Future<void> startInfluTo() async {
  try {
    await InfluTo.instance.initialize(InfluToConfig(
      apiKey: const String.fromEnvironment('INFLUTO_API_KEY'),
      appVersion: '1.4.0',
      revenueCatHook: (attrs) => Purchases.setAttributes(attrs),
    ));
  } catch (e) {
    debugPrint('InfluTo initialize failed: $e'); // retried on the next launch
    return;
  }
  final attribution = await InfluTo.instance.checkAttribution();
  await InfluTo.instance.identifyUser(await Purchases.appUserID);
}

2. lépés: engedd, hogy a felhasználók beírjanak egy kódot

Az applyCode(code) ellenőriz egy kódot, és ha érvényes, alkalmazza. A result.applied megmondja, megtörtént-e. A kódok szóközök nélkül, nagybetűsítve kerülnek feldolgozásra, az érvénytelen kód pedig valid: false értéket ad errorCode-dal, például CODE_NOT_FOUND vagy CODE_EXPIRED.

A kész megoldás a ReferralCodeInput widget (Material). Gépelés közben ellenőriz, koppintásra alkalmazza a kódot, linkről érkezett telepítésnél előre kitölti, és fogadja a lefordított szövegeidet. Az alkotó nevét csak akkor mutatja, ha beállítod a showReferrerName-et.

3. lépés: kösd be a vásárlásokat

Az InfluTo csak az áruház által ellenőrzött vásárlások után fizet jutalékot. Platformonként pontosan egy utat válassz:

  • RevenueCat (purchases_flutter): adj át egy revenueCatHook-ot az InfluToConfigban, amely a Purchases.setAttributes-t hívja, ahogy a fenti main.dart-ban. Az SDK egyszer hívja meg, amikor ajánlást talál vagy kódot alkalmaznak, influto_code és influto_referral értékekkel. Ezután kösd be a RevenueCat webhookot a Setup & SDK oldalon.

  • Közvetlen áruházi (in_app_purchase): add hozzá az influto_iap-ot, hozz létre egy InfluToPurchaseObservert, és engedélyezd, miután az initialize lefutott. Csak akkor működik, ha az app a Settings → Validation alatt közvetlen áruházi módra van állítva, így ugyanaz a build biztonságosan fut RevenueCat-appban is.

Hook nélkül semmi sem állítja be a RevenueCat attribútumot Flutterben; a React Native-dal ellentétben itt nincs automatikus címkézés. A checkAttribution előtt konfiguráld a RevenueCat-et, és hívd meg az identifyUser-t a RevenueCat app user ID-val. Az InfluTo ezt használja tartalékként, ha egy esemény az attribútum nélkül érkezik.

Mit csinál az observer az alkalmazásodban: lezárja a függő vásárlásokat (completePurchase), hogy az áruház ne kézbesítse újra vagy ne térítse vissza őket. Az utólagos feltöltés a restorePurchases()-t hívja, így a saját figyelőd is látja indításkor a visszaállított vásárlásokat (az enable(backSync: false) ezt kihagyja). iOS-en pedig az in_app_purchase-t StoreKit 2-re kapcsolja, amire a store-direct módnak szüksége van.

Az Android egyszeri termékek az observer oneTimeProductIds listájába kerülnek, nem az InfluToConfigba. Ha inkább magad jelented a vásárlásokat, állítsd az autoCapture-t false-ra, hagyd ki az observert, és hívd a reportPurchase-t a StoreKit 2 aláírt tranzakciójával vagy a Play purchaseToken-nel. Az observer beállítása:

import 'package:influto_iap/influto_iap.dart';

final observer = InfluToPurchaseObserver(
  oneTimeProductIds: {'coins_100', 'remove_ads'}, // Android one-time products; omit if you only sell subscriptions
);
final sync = await observer.enable(); // listens for new purchases + back-fills existing ones

4. lépés: teszteld végponttól végpontig

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

  1. 1

    Nézd meg a Setup & SDK oldalt. Az első sikeres initialize után megjelenik az „SDK connected” felirat a platformmal és az SDK verziójával. A debug: true minden lépést kiír a debugPrint-tel.

  2. 2

    Szimulálj egy vásárlást. A Setup & SDK oldalon a Simulate a purchase sandbox tesztvásárlást küld az InfluTo valódi folyamatán át. Add meg az egyik kódodat, és látni fogod, hogyan oldódik fel.

  3. 3

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

  4. 4

    Vásárolj a sandboxban. Használj TestFlight- vagy sandbox-tesztelőt (store-direct iOS-en előbb állítsd az Apple-környezetet Sandboxra), vagy Google Play licenctesztelőt. A Sandboxra váltott Integration log attribuálva mutatja a vásárlást. Az enable() hibakereséshez visszaadja a lekért, elküldött és sikertelen elemek számát.

A clearAttribution() visszaállítja a készüléket egy újabb próbához.

Flutter-tudnivalók

Három dolog, amiben a Flutter-integrációknál gyakran elakadnak:

  • A sorrend számít. Előbb konfiguráld a RevenueCat-et, utána hívd az initialize-t, végül a checkAttribution-t. Az influto_iap observert csak az initialize befejezése után kapcsold be, különben kikapcsolva marad.

  • const konfigurációk. Az InfluToConfig-nak van const konstruktora, de a closure nem konstans, ezért revenueCatHook átadásakor hagyd el a const-ot.

  • Egyszer azonosíts. Az identifyUser-t bejelentkezésenként egyszer hívd meg, lehetőleg a felhasználó első munkamenetében, ne a build-ből.

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

Kösd össze az InfluTo MCP-szerverét a Claude Code-dal, a Codexszel vagy a Cursorral, és kérd az integrációt. Az ügynök a Dart-projektet ehhez az SDK-hoz igazítja, megírja a kiválasztott ellenőrzési útvonalhoz tartozó kódot, és addig figyeli az influto_integration_status-t, amíg egy sandbox-vásárlás attribuálva meg nem érkezik.

Flutter affiliate SDK: válaszok.

Van affiliate SDK Flutterhez?

Igen. A pub.dev-en elérhető influto (MIT, forrás: github.com/influto/influto-flutter) felismeri az ajánlott telepítéseket, kezeli az ajánlókódokat, és attribuálja a vásárlásokat iOS-es és Android Flutter-alkalmazásokban. Flutter 3.22+ és Dart 3.4+ szükséges hozzá.

Mely ajánlói eszközök támogatják a Fluttert?

Több affiliate platform ad ki Flutter-csomagot. Az InfluToé lefedi az attribúciót, a típusos kódokat kész ReferralCodeInput widgettel, a RevenueCat-címkézést hookon át, és az automatikus store-direct rögzítést az influto_iap-pal. Ugyanazt az adatátviteli szerződést használja, mint az InfluTo iOS, Android, React Native és webes SDK-ja.

Működik a purchases_flutterrel (RevenueCat)?

Igen. Adj át egy revenueCatHookot, amely a Purchases.setAttributes-t hívja, előbb konfiguráld a RevenueCat-et, és kösd be a RevenueCat webhookot. A RevenueCat-et használó alkalmazásnak nincs szüksége az influto_iap-ra.

Zavarja az influto_iap a saját vásárlásfigyelőmet?

Lezárja a függő vásárlásokat, és indításkor visszaállítást futtat az utólagos feltöltéshez, így a figyelőd is látja a visszaállított vásárlásokat. Ha ezt nem szeretnéd, hívd az enable(backSync: false)-t. A tartalmat továbbra is a saját purchaseStream figyelődből szolgáltatod.

Mennyibe kerül?

Havi 0 $. Ellenőrzött vásárlásonként az általad megadott jutalékot fizeted, plusz ugyanennek a bevételnek a 10%-át (nagyobb forgalomná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 Stripe Connecten át 33 országban, amint összegyűlt 20 $.

Add ki az ajánlókódokat a következő Flutter-buildeddel.

Egy csomag, egy ellenőrzési útvonal, visszatéríthető letét. Havi 0 $; 10% csak az alkotók által hozott bevételből.

Kezdd el ingyen