Průvodce · React Native a Expo
Přidejte affiliate nebo referral program do své aplikace v React Native.
@influto/react-native-sdk funguje v managed Expo i v čistém React Native, na iOS i Android. Zjistí, který tvůrce instalaci doporučil, přijímá ručně zadané referral kódy a každý nákup nechá ověřit přes RevenueCat nebo přímo u Applu a Googlu.
Aktualizováno 1. listopadu 2026
Ve zkratce
Nainstalujte @influto/react-native-sdk a @react-native-async-storage/async-storage, jednou v kořeni aplikace zavolejte InfluTo.initialize a potom checkAttribution a identifyUser. S RevenueCat je to veškerý kód: pokud máte nainstalované react-native-purchases, SDK zapíše k předplatiteli atribut influto_code a zbytek obstará webhook RevenueCat. Bez RevenueCat nainstalujte expo-iap nebo react-native-iap a SDK zachytí nákupy v obchodech samo. Expo nepotřebuje žádný config plugin. Počítejte s jedním odpolednem.
Co SDK dělá v aplikaci React Native
Jeden balíček pokrývá iOS, Android i všechny workflow v Expo. Má tři úkoly:
Najde tvůrce, který stojí za instalací. checkAttribution odpoví jednou za instalaci. Ručně zadaný kód je přesná shoda. Jinak se instalace spáruje s nedávným kliknutím na odkaz tvůrce, a to do 72 hodin. Bez IDFA a bez dotazu ATT.
Přijímá ručně zadané referral kódy. applyCode nebo hotové pole ReferralCodeInput pokryje zmínky v podcastech a videích, kde nikdo na odkaz neklikne.
Propojí nákupy s doporučením. U RevenueCat označí předplatitele. U napojení přímo na obchody nahlásí nákup podepsaný obchodem, který InfluTo ověří u Applu nebo Googlu. Provize vznikne až po tomto ověření.
Krok 1: nainstalujte balíček
Přidejte SDK a AsyncStorage, které uchovává lokální stav SDK. AsyncStorage je nativní modul, takže musí být přímo v závislostech vaší aplikace, aby fungoval autolinking. V čistém React Native potom spusťte pod install ve složce ios/.
V Expo není potřeba nic dalšího ani žádný config plugin: SDK je obyčejný JavaScript nad AsyncStorage, takže běží v Expo Go, ve vývojových i produkčních buildech. Vyžaduje React Native 0.60+ a React 16.8+.
npm install @influto/react-native-sdk
# AsyncStorage is a native module — install it in the app too
npm install @react-native-async-storage/async-storageKrok 2: jednou inicializujte a zkontrolujte atribuci
Zavolejte initialize jednou, co nejdřív, a než uděláte cokoli dalšího, počkejte na dokončení. Při selhání (špatný klíč, chybějící připojení) vyhodí chybu: zachyťte ji, zalogujte a pokračujte dál. Další spuštění to zkusí znovu.
checkAttribution říká, jestli instalace pochází z doporučení a od jakého kódu. Rozhodne se jednou za instalaci, výsledek se uloží v zařízení a při chybě nic nerozbije: chyba sítě vrátí attributed: false. Využijte to k uvítání doporučených uživatelů nebo k zobrazení nabídky, kterou jejich tvůrce oznámil.
Klíč API (it_…, v části Setup & SDK) platí pro vývoj i produkci. Nedávejte ho do commitovaného zdrojového kódu, ale například do .env v gitignore, který načtete přes proměnné EXPO_PUBLIC_ v Expo. Typický App.tsx u aplikace s RevenueCat, v tomto pořadí:
import { useEffect } from 'react';
import Purchases from 'react-native-purchases';
import InfluTo from '@influto/react-native-sdk';
export default function App() {
useEffect(() => {
(async () => {
Purchases.configure({ apiKey: REVENUECAT_API_KEY }); // RevenueCat apps: configure it first
try {
await InfluTo.initialize({
apiKey: process.env.EXPO_PUBLIC_INFLUTO_API_KEY!,
appVersion: '1.4.0',
debug: __DEV__,
});
} catch (error) {
console.warn('InfluTo initialize failed', error); // retried on the next launch
return;
}
const attribution = await InfluTo.checkAttribution();
await InfluTo.identifyUser(await Purchases.getAppUserID());
})();
}, []);
// …
}Krok 3: přidejte pole pro referral kód
Mnoho doporučení přijde jako vyslovený kód, ne jako klepnutí na odkaz. applyCode(code) kód ověří a pokud je platný, uplatní ho. Mezery na okrajích se odstraní a písmena převedou na velká. Neplatný kód vrátí valid: false s error_code, například CODE_NOT_FOUND nebo CODE_EXPIRED.
Nebo použijte hotové ReferralCodeInput z @influto/react-native-sdk/ui. Kód předvyplní u instalace přiřazené přes odkaz, převezme vaše barvy, písma a přeložené popisky a jméno tvůrce ukáže, jen pokud to zapnete.
// Validate, then apply a code the user typed
const result = await InfluTo.applyCode('FITGURU30');
if (result.valid && result.applied) {
// Unlock the offer
}
// Or drop in the ready-made UI:
import { ReferralCodeInput } from '@influto/react-native-sdk/ui';
<ReferralCodeInput onApplied={(result) => {/* ... */}} />Krok 4: propojte nákupy, RevenueCat nebo přímo s obchody
InfluTo vyplácí provizi jen z nákupů ověřených obchodem. Pro každou platformu zvolte právě jednu cestu: iOS může být napojený přímo na obchod, zatímco Android zůstane na RevenueCat.
RevenueCat: v kódu není co zapojovat. Pokud máte nainstalované react-native-purchases, SDK nastaví u předplatitele influto_code a influto_referral, jakmile se najde doporučení nebo se uplatní kód. Potom v části Setup & SDK připojte webhook, a to automaticky přes tajný klíč RevenueCat v2, nebo ručně.
Přímo s obchody: nainstalujte expo-iap nebo react-native-iap, v Nastavení → Validace přidejte přístupové údaje k App Store a Google Play a přepněte platformu na store-direct. Funkce initialize pak zachytí nové nákupy a doplní i ty stávající, každý se nahlásí jen jednou. Pokud raději voláte reportPurchase sami, nastavte autoCapture: false.
Háček u RevenueCat: atribut se zapíše jednou, když se najde doporučení, a pokud RevenueCat ještě není nakonfigurované, zápis se přeskočí. Nejdřív nakonfigurujte Purchases, potom zavolejte initialize, pak checkAttribution, a jako zálohu zavolejte identifyUser s app user ID z RevenueCat.
Háček u napojení přímo na obchody: jednorázové produkty na Androidu uveďte v oneTimeProductIds. Pokud vaše IAP knihovna cenu neposkytuje, nahlaste je sami i s cenou a měnou, jinak se zaznamenají za 0 $. Co SDK zachytí samo:
| Balíček | Co s ním SDK dělá |
|---|---|
| react-native-purchases | Nastaví atributy RevenueCat influto_code a influto_referral, když se najde doporučení nebo se uplatní kód |
| expo-iap nebo react-native-iap | Zachytává nákupy v obchodech u aplikací napojených přímo na obchody (pokud jsou nainstalované oba, použije se expo-iap) |
| react-native-device-info | Přidá k sledování instalací značku a model zařízení |
Poznámky k Expo a React Native
Většina problémů s integrací v React Native vzniká kvůli připojení komponent a pořadí volání:
Expo Go stačí, knihovny pro obchody ne. V Expo Go SDK InfluTo běží, ale expo-iap, react-native-iap i RevenueCat obsahují nativní kód, takže testovací nákupy dělejte ve vývojovém buildu. Automatické zachytávání v Expo Go tiše nedělá nic, což je bezpečné.
Inicializujte jednou, v kořeni. Ne na obrazovce, která se připojuje opakovaně. Funkci identifyUser volejte jednou při každém přihlášení, ne z vykreslování.
AsyncStorage ve vlastním package.json. Jinak se jeho nativní modul nepropojí a SDK si nemůže uchovat svůj stav.
Krok 5: otestujte to dřív, než pozvete tvůrce
Sandboxové nákupy nikdy nepřesouvají peníze ani nemění vaše statistiky, takže test můžete opakovat, kolikrát chcete:
- 1
Ověřte, že se SDK připojilo. Po prvním úspěšném initialize se v části Setup & SDK zobrazí „SDK připojeno“ s platformou a verzí SDK. S debug: __DEV__ se loguje každý krok.
- 2
Nasimulujte nákup. Tlačítko Simulovat nákup v části Setup & SDK pošle testovací sandboxový nákup skutečným řetězcem zpracování InfluTo. Zadejte jeden ze svých kódů a uvidíte, jak se přiřadí. Nikdy tím nedokončíte žádný krok nastavení.
- 3
Nainstalujte přes odkaz tvůrce. Zapojte se do své kampaně druhým účtem tvůrce, na testovacím zařízení otevřete jeho referral odkaz, nainstalujte vývojový build a spusťte ho. Nejspolehlivější test je zadat kód ručně.
- 4
Udělejte sandboxový nákup. Nakupte jako sandboxový nebo TestFlight tester, případně jako license tester v Google Play. V logu integrace přepnutém na Sandbox uvidíte nákup přiřazený k vašemu kódu.
clearAttribution() vynuluje zařízení pro další zkoušku.
Nebo to nechte na svém programovacím agentovi
Používáte Claude Code, Codex nebo Cursor? Připojte MCP server InfluTo a požádejte o integraci: agent přiřadí „expo“ k tomuto SDK, napíše výše uvedené kroky a kontroluje influto_integration_status, dokud nedorazí sandboxový nákup s přiřazením.
Affiliate SDK pro React Native: odpovědi.
Existuje affiliate SDK pro React Native?
Ano. @influto/react-native-sdk je balíček npm s licencí MIT (zdrojový kód na github.com/influto/influto-react-native). Z jedné kódové základny přidá do iOS i Androidu detekci doporučených instalací, referral kódy a přiřazení nákupů. Vyžaduje React Native 0.60+ a @react-native-async-storage/async-storage.
Mohu provozovat doporučovací program v aplikaci na Expo?
Ano, v managed i bare Expo, bez config pluginu. SDK běží v Expo Go, ve vývojových i produkčních buildech. Zachytávání nákupů přímo z obchodů používá expo-iap nebo react-native-iap, které vyžadují vývojový build, ne Expo Go.
Potřebuji RevenueCat?
Ne. S RevenueCat (react-native-purchases) SDK označí předplatitele a InfluTo čte webhook z RevenueCat. Bez něj InfluTo ověřuje každý nákup přímo přes App Store Server API nebo Google Play. Pro každou platformu použijte právě jednu cestu.
Jak uživatelé zadají referral kód?
Zavolejte applyCode(code) z vlastního pole nebo použijte ReferralCodeInput z @influto/react-native-sdk/ui. Kódy se ořežou o mezery a převedou na velká písmena. Ručně zadaný kód má přednost před spárováním podle kliknutí na odkaz a na zadané kódy se 72hodinové okno nevztahuje.
Kolik to stojí?
0 $ měsíčně. Za každý ověřený nákup platíte provizi, kterou nastavíte, plus 10 % ze stejných tržeb (při větší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 v 33 zemích, jakmile vydělají 20 $.
Nasaďte referral kódy už v příštím buildu.
Jeden balíček npm, jedna cesta ověření, vratná záloha. 0 $ měsíčně; 10 % jen z tržeb, které tvůrci přivedou.
Začít zdarma