Průvodce · Flutter
Přidejte affiliate nebo referral program do aplikace Flutter.
Balíček influto rozpozná doporučené instalace a na iOS i Androidu přijímá ručně zadané referral kódy. Nákupy se do InfluTo dostanou přes RevenueCat, nebo přímo z App Store a Google Play pomocí doplňkového balíčku influto_iap.
Aktualizováno 1. listopadu 2026
Ve zkratce
Spusťte flutter pub add influto, při startu jednou zavolejte InfluTo.instance.initialize, potom checkAttribution a identifyUser. S RevenueCat předejte revenueCatHook, který volá Purchases.setAttributes: Flutter nemá automatické označování, takže bez hooku atribut nenastaví nic. Bez RevenueCat přidejte influto_iap a po initialize zapněte InfluToPurchaseObserver. Ten hlásí nové nákupy a zpětně doplní dřívější přes plugin in_app_purchase. Vyžaduje Flutter 3.22+ a Dart 3.4+. Počítejte s odpolednem práce, většinou na straně nákupů.
Které balíčky potřebujete
Na pub.dev jsou dva balíčky, oba s licencí MIT, zdrojový kód je na github.com/influto/influto-flutter:
influto, vždy. Přiřazení, referral kódy, identifikace uživatele, kódy pro bezplatný přístup a ruční hlášení nákupů. Jeho jedinými závislostmi jsou http a shared_preferences.
influto_iap, jen pro napojení přímo na obchody. Přidejte ho, pokud vaše aplikace nepoužívá RevenueCat a prodává přes plugin in_app_purchase. Nákupy zachytává automaticky. Aplikace s RevenueCat na purchases_flutter ho nepotřebují.
Vše jde přes InfluTo.instance, žádná statická volání. Instalace:
flutter pub add influto
# optional: automatic store-direct purchase capture
flutter pub add influto_iapKrok 1: inicializace bez zdržení prvního snímku
Zavolejte initialize jednou při startu a počkejte na něj, než zavoláte cokoli dalšího. Dokud neproběhne úspěšně, checkAttribution a reportPurchase vyhodí InfluToException. Při selhání (špatný klíč, žádná síť) vyhodí chybu, takže ji zachyťte, zalogujte a pokračujte. Při dalším spuštění se to zkusí znovu.
Neblokujte na něm první snímek: nakonfigurujte RevenueCat, zavolejte runApp a pak spusťte InfluTo přes unawaited, jak je vidět níže. API klíč (it_…, v Setup & SDK) předejte při buildu přes --dart-define=INFLUTO_API_KEY=it_… a načtěte ho pomocí String.fromEnvironment.
checkAttribution pak řekne, zda byla instalace doporučená, a kterým kódem. Výsledek se určí jednou pro každou instalaci a uloží se v zařízení. Při chybě sítě vrátí attributed: false a nic neuloží. Typický 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);
}Krok 2: nechte uživatele zadat kód
applyCode(code) ověří kód a pokud je platný, použije ho. Podle result.applied poznáte, zda se tak stalo. Kódy se ořežou o mezery a převedou na velká písmena. Neplatný kód vrátí valid: false s errorCode, například CODE_NOT_FOUND nebo CODE_EXPIRED.
Hotovou variantou je widget ReferralCodeInput (Material). Ověřuje kód během psaní, použije ho po klepnutí, předvyplní ho u instalace přiřazené z odkazu a přijímá vaše přeložené texty. Jméno tvůrce zobrazí, jen když nastavíte showReferrerName.
Krok 3: propojení nákupů
InfluTo vyplácí provizi jen z nákupů ověřených obchodem. Pro každou platformu zvolte právě jednu cestu:
RevenueCat (purchases_flutter): předejte v InfluToConfig revenueCatHook, který volá Purchases.setAttributes, jako v main.dart výše. SDK ho zavolá jednou, a to když najde doporučení nebo když se použije kód, s hodnotami influto_code a influto_referral. Poté připojte webhook RevenueCat v Setup & SDK.
Přímo z obchodů (in_app_purchase): přidejte influto_iap, vytvořte jeden InfluToPurchaseObserver a zapněte ho po dokončení initialize. Běží jen tehdy, když je aplikace v Settings → Validation nastavena na ověřování přímo z obchodů, takže stejný build je bezpečný i v aplikaci s RevenueCat.
Bez hooku RevenueCat atribut ve Flutteru nenastaví nic; na rozdíl od React Native tu žádné automatické označování neexistuje. Nakonfigurujte RevenueCat před checkAttribution a zavolejte identifyUser s app user ID z RevenueCat. InfluTo ho použije jako záložní variantu, když událost přijde bez atributu.
Co observer dělá uvnitř vaší aplikace: dokončuje čekající nákupy (completePurchase), aby je obchod nedoručoval znovu ani nevracel peníze; jeho zpětné doplnění volá restorePurchases(), takže váš vlastní listener vidí obnovené nákupy už při startu (enable(backSync: false) to přeskočí); a na iOS přepíná in_app_purchase na StoreKit 2, který store-direct vyžaduje.
Jednorázové produkty na Androidu patří do oneTimeProductIds v observeru, ne do InfluToConfig. Pokud chcete nákupy hlásit sami, nastavte autoCapture: false, observer vynechte a zavolejte reportPurchase s podepsanou transakcí StoreKit 2 nebo s purchaseToken z Play. Nastavení observeru:
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 onesKrok 4: otestujte to od začátku do konce
Nákupy v sandboxu nikdy nepřesunou peníze ani nezmění vaše statistiky:
- 1
Zkontrolujte Setup & SDK. Po prvním úspěšném initialize se zobrazí „SDK connected“ s platformou a verzí SDK; debug: true vypíše každý krok přes debugPrint.
- 2
Nasimulujte nákup. Simulate a purchase v Setup & SDK pošle testovací nákup ze sandboxu skutečným zpracováním InfluTo. Zadejte některý ze svých kódů a uvidíte, jak se přiřadí.
- 3
Nainstalujte přes odkaz doporučení. Přidejte se ke své kampani druhým účtem tvůrce, otevřete jeho odkaz na testovacím zařízení, aplikaci nainstalujte a spusťte. Nejspolehlivějším testem je ruční zadání kódu.
- 4
Nakupte v sandboxu. Použijte testera TestFlight nebo sandboxu (u iOS store-direct nejdřív nastavte prostředí Apple na Sandbox) nebo licenčního testera Google Play. Integration log přepnutý na Sandbox ukáže nákup jako přiřazený. enable() vrací počty fetched, sent a failed pro ladění.
clearAttribution() vrátí zařízení do původního stavu pro další zkoušku.
Poznámky k Flutteru
Tři věci, na kterých se při integraci ve Flutteru nejčastěji klopýtá:
Záleží na pořadí. Nakonfigurujte RevenueCat, pak initialize, pak checkAttribution. Observer influto_iap zapněte až po dokončení initialize, jinak zůstane vypnutý.
Konstantní konfigurace. InfluToConfig má const konstruktor, ale closure konstanta není, takže při předání revenueCatHook const vynechte.
Identifikujte jednou. Volejte identifyUser jednou při každém přihlášení, ideálně v první relaci uživatele, ne z build.
Nebo to nechte udělat kódovacího agenta
Připojte MCP server InfluTo k nástrojům Claude Code, Codex nebo Cursor a požádejte o integraci: agent převede projekt v Dartu na tento SDK, napíše kód pro zvolenou cestu validace a kontroluje influto_integration_status, dokud nepřijde sandboxový nákup s přiřazením.
Affiliate SDK pro Flutter: odpovědi.
Existuje affiliate SDK pro Flutter?
Ano. Balíček influto na pub.dev (MIT, zdrojový kód na github.com/influto/influto-flutter) přidává do Flutter aplikací na iOS a Androidu rozpoznání instalací z doporučení, referral kódy a přiřazení nákupů. Vyžaduje Flutter 3.22+ a Dart 3.4+.
Které nástroje pro doporučování podporují Flutter?
Balíčky pro Flutter vydává několik affiliate platforem. Ten od InfluTo pokrývá atribuci, typované kódy s hotovým widgetem ReferralCodeInput, označování v RevenueCat přes hook a automatický záchyt store-direct přes influto_iap. Sdílí jeden komunikační protokol s SDK InfluTo pro iOS, Android, React Native a web.
Funguje to s purchases_flutter (RevenueCat)?
Ano. Předejte revenueCatHook, který volá Purchases.setAttributes, nejdřív nakonfigurujte RevenueCat a připojte webhook RevenueCat. Aplikace s RevenueCat influto_iap nepotřebuje.
Bude influto_iap zasahovat do mého vlastního listeneru nákupů?
Dokončuje čekající nákupy a při startu spouští obnovení kvůli zpětnému doplnění, takže váš listener vidí i obnovené nákupy; pokud to nechcete, zavolejte enable(backSync: false). Obsah dál doručujete ze svého listeneru purchaseStream.
Kolik to stojí?
0 $ měsíčně. Za každý ověřený nákup platíte nastavenou provizi plus 10 % ze stejných tržeb (při vyšším objemu 7 %, 5 % nebo 3 %). Předplacená peněženka začíná na 50 $ a je vratná; InfluTo vyplácí tvůrcům peníze měsíčně přes Stripe Connect ve 33 zemích, jakmile vydělají 20 $.
Nasaďte referral kódy už v dalším buildu Flutteru.
Jeden balíček, jedna cesta validace, vratná záloha. 0 $ měsíčně; 10 % jen z tržeb, které přivedou tvůrci.
Začít zdarma