Přejít na obsah

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_iap

Krok 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 ones

Krok 4: otestujte to od začátku do konce

Nákupy v sandboxu nikdy nepřesunou peníze ani nezmění vaše statistiky:

  1. 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. 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. 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. 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