Přejít na obsah

Průvodce · Capacitor, Ionic, Cordova, PWA

Přidejte affiliate nebo referral program do aplikace v Capacitor nebo Ionic.

@influto/web funguje všude, kde váš kód běží ve WebView nebo v prohlížeči: v Capacitoru (Ionic React, Angular a Vue), Cordově, nainstalovaných PWA a Trusted Web Activities. Řídí se stejným kontraktem jako nativní SDK InfluTo a navíc umí způsoby, jak doporučení přesně zachytit, dostupné jen na webu.

Aktualizováno 1. listopadu 2026

Ve zkratce

Nainstalujte @influto/web a v Capacitoru také @capacitor/device, @capacitor/preferences a @capacitor/app. Jednou zavolejte InfluTo.initialize, až bude platforma připravená, a předejte mu adaptéry pro Capacitor. Zavolejte listenForCapacitorLaunchUrls(InfluTo), aby deep linky zachytávaly doporučení, a poté checkAttribution a identifyUser. Na Androidu předejte Play Install Referrer funkci captureInstallReferrer, získáte tak přesnou shodu. Pro nákupy předejte binding RevenueCat, například revenueCatCapacitor(Purchases), nebo bez RevenueCat zdroj nákupů, například capgoNativePurchasesSource pro @capgo/native-purchases. Počítejte s odpolednem práce, většinou kvůli nákupům.

Proč umí aplikace ve WebView přiřadit více doporučení přesně

Nativní aplikace získá přesnou shodu z napsaného kódu. Klepnutí, které vede přes obchod, se páruje až dodatečně. Aplikace ve WebView může kód získat přímo, a to třemi způsoby:

  • Spouštěcí URL. Nastavte Settings → General → Web app URL. Odkazy s doporučením tam pošlou návštěvníky z počítače (a z telefonu, pokud pro jejich platformu nemáte stránku v obchodě) s přidanými parametry influto_code a influto_click. initialize přečte oba a vyčistí adresní řádek.

  • Deep linky. listenForCapacitorLaunchUrls(InfluTo) předává SDK URL ze studeného startu i každou událost appUrlOpen. V Cordově zavolejte InfluTo.handleLaunchUrl(url).

  • Play Install Referrer. Odkazy na Google Play z InfluTo nesou kód a klik v parametru referrer. Přečtěte ho při prvním spuštění pomocí pluginu Install Referrer a předejte ho funkci captureInstallReferrer.

Pokud kód nikdo nepřenese, InfluTo se vrátí k párování podle kliku na odkaz v rozmezí 72 hodin. To nikdy neporovnává vlastnosti zařízení.

Krok 1: instalace

Přidejte balíček. V Capacitoru jsou tři pluginy volitelné, ale doporučené: @capacitor/device pro údaje o zařízení, @capacitor/preferences pro úložiště, které přežije reset WebView, a @capacitor/app pro deep linky. Po jejich přidání spusťte npx cap sync. Chybějící pluginy nahradí výchozí funkce prohlížeče.

Nemáte bundler? Načtěte build pro značku script z https://cdn.jsdelivr.net/npm/@influto/web@1/dist/index.global.js a použijte window.InfluTo. Obsahuje jen jádro SDK, pomocné funkce z podcest vyžadují bundler.

npm install @influto/web
# Capacitor / Ionic apps (device info, storage, deep links):
npm install @capacitor/device @capacitor/preferences @capacitor/app

Krok 2: inicializujte jednou, ve správný okamžik

Zavolejte initialize jednou, v kořeni aplikace, a počkejte na výsledek. Při selhání vyhodí InfluToApiError (status, body): zachyťte ho, zapište do logu a pokračujte. Při dalším spuštění se to zkusí znovu. Tabulka níže ukazuje, kdy ji volat v jednotlivých prostředích.

API klíč (it_…, najdete ho v Setup & SDK) platí pro vývoj i produkci. Uložte ho do souboru .env.local, který je v .gitignore, a čtěte ho přes bundler. Typický start aplikace v Capacitoru s RevenueCat, popořadě:

import InfluTo from '@influto/web';
import { capacitorAdapters, listenForCapacitorLaunchUrls } from '@influto/web/capacitor';
import { revenueCatCapacitor } from '@influto/web/revenuecat';
import { Purchases } from '@revenuecat/purchases-capacitor';

export async function startInfluTo() {
  await Purchases.configure({ apiKey: 'appl_…' }); // RevenueCat apps: configure it first
  try {
    await InfluTo.initialize({
      apiKey: import.meta.env.VITE_INFLUTO_API_KEY,
      appVersion: '1.4.0',
      ...(await capacitorAdapters()),
      revenueCat: revenueCatCapacitor(Purchases),
    });
  } catch (error) {
    console.warn('InfluTo initialize failed', error); // retried on the next launch
    return;
  }
  await listenForCapacitorLaunchUrls(InfluTo); // deep links → referral claim
  const attribution = await InfluTo.checkAttribution();
  const { appUserID } = await Purchases.getAppUserID();
  await InfluTo.identifyUser(appUserID);
}
ProstředíKdy volat initialize
Capacitor / IonicPři startu aplikace, až je platforma připravená. Ne uvnitř stránky Ionic, která se může ukládat do cache a znovu otevírat
CordovaPo deviceready: nejdřív await whenDeviceReady() z @influto/web/cordova, pak předejte ...cordovaAdapters() do initialize
PWA / prohlížečPři načtení stránky

Krok 3: přesně přiřaďte instalace z Play Store

Na Androidu přečtěte řetězec referreru při prvním spuštění pomocí @capgo/capacitor-install-referrer nebo cordova-play-install-referrer a předejte ho po initialize, před checkAttribution. Kód zachycený později přepíše dřívější odpověď „organic“. Instalace, která už přiřazená je, si svého tvůrce ponechá.

await InfluTo.captureInstallReferrer(referrer); // the raw referrer string from the plugin
const attribution = await InfluTo.checkAttribution();

Krok 4: nechte uživatele zadat kód

applyCode(code) ověří kód, který uživatel napsal, a pokud je platný, použije ho. Kódy se ořežou o mezery a převedou na velká písmena. Neplatný kód vrátí valid: false a error_code, například CODE_NOT_FOUND nebo CODE_EXPIRED.

V Reactu a Ionic React je ReferralCodeInput z @influto/web/react jednoduchý nestylovaný formulář. Předvyplní kód z odkazu a po odeslání ho použije. V Angularu, Vue nebo bez frameworku postavte pole nad applyCode.

Krok 5: propojte nákupy

InfluTo vyplácí provizi jen z nákupů ověřených obchodem. Pro každou platformu zvolte jednu cestu:

  • RevenueCat: předejte binding jako revenueCat: revenueCatCapacitor(Purchases) pro @revenuecat/purchases-capacitor 7.5.10+, revenueCatCordova(window.Purchases) pro cordova-plugin-purchases nebo revenueCatJs pro purchases-js. Připojte ho před checkAttribution, protože atribut se zapisuje ve chvíli, kdy se doporučení najde. Neúspěšné zápisy se opakují až 3krát.

  • Přímo z obchodu: předejte purchaseSource (viz tabulka). Když je aplikace v Settings → Validation nastavená na ověřování přímo z obchodu, initialize ohlásí nové nákupy a doplní i stávající, každý jednou.

Na iOS vyžaduje ověřování přímo z obchodu podepsanou transakci StoreKit 2. capgoNativePurchasesSource ji předá dál, u cordova-plugin-purchase si musíte ověřit, že ji vaše nastavení zpřístupňuje. Na Androidu tyto zdroje cenu nenesou, jednorázové produkty proto hlaste sami s cenou a měnou, jinak se zapíšou s 0 $.

V TWA nemá Digital Goods API událost nákupu, proto po každé platbě zavolejte InfluTo.syncExistingPurchases(). digitalGoodsSource cenu dohledá za vás.

ProstředíPlugin pro nákupyZdroj
Capacitor@capgo/native-purchasescapgoNativePurchasesSource(NativePurchases) z /capacitor
Cordovacordova-plugin-purchase v13cordovaPurchaseSource(CdvPurchase.store) z /cordova
TWA na Google PlayDigital Goods API (Chrome 101+)digitalGoodsSource() z /pwa

Úskalí jednotlivých platforem

Většina nezdařených integrací do WebView má příčinu v jednom z těchto bodů:

  • Úložiště v Capacitoru. Pokud je nainstalovaný @capacitor/preferences, SDK ukládá svůj stav tam. localStorage ve WebView se smaže, když se změní androidScheme nebo iosScheme.

  • ionic serve. Ve webovém vývojovém buildu je plugin RevenueCat pro Capacitor jen zástupný, takže se zápisy atributů neprovedou. Testujte na zařízení.

  • Cordova ve výchozím stavu blokuje API. Nová šablona potřebuje v config.xml záznam access origin pro https://influ.to a v Content-Security-Policy direktivu connect-src https://influ.to. RevenueCat svůj plugin pro Cordovu přestal rozvíjet, takže pro novou aplikaci raději zvolte Capacitor.

  • Prohlížeče a PWA. V prohlížeči nebo PWA vždy předávejte do reportPurchase parametr platform (ios nebo android). SDK ho při detekci webu neuhodne. Webové aplikace přidané na plochu iOS nemohou prodávat nákupy v aplikaci, ale attribution funguje i tam.

Krok 6: vyzkoušejte to

Testovací nákupy nepřesouvají žádné peníze a nemění vaše statistiky:

  1. 1

    Zkontrolujte Nastavení a SDK. Po prvním úspěšném initialize se zobrazí „SDK connected“ spolu s platformou, @influto/web a verzí SDK. S debug: true se loguje každý krok.

  2. 2

    Nasimulujte nákup. Simulovat nákup v Nastavení a SDK pošle testovací nákup ze sandboxu skutečným řetězcem zpracování InfluTo. Zadejte jeden ze svých kódů a uvidíte, jak se přiřadí.

  3. 3

    Projděte doporučenou instalaci na zařízení. Otevřete na testovacím zařízení doporučovací odkaz tvůrce, aplikaci nainstalujte, spusťte a nakupte jako tester ze sandboxu, TestFlightu nebo licenční tester. Log integrace přepnutý na Sandbox ukáže, že se nákup přiřadil.

clearAttribution() smaže uloženou attribution, kód i kód ze spuštění, takže můžete test zopakovat. Pokud máte přes MCP připojeného kódovacího agenta, tyto kontroly za vás provede.

Affiliate SDK pro Capacitor a Ionic: odpovědi.

Existuje affiliate SDK pro Capacitor a Ionic?

Ano. Balíček @influto/web na npm má subpath pro Capacitor, Cordovu, PWA, napojení na RevenueCat a React. Nemá žádné závislosti a běží v jakémkoli prohlížeči nebo WebView s podporou ES2019.

Funguje s Ionic Angular a Ionic Vue?

Ano. SDK není vázané na žádný framework a Ionic React, Angular i Vue běží na Capacitoru. Hotové pole pro kód je jen pro React (@influto/web/react), takže v Angularu nebo Vue si pole postavíte nad applyCode.

Dá se přesně přiřadit instalace z Google Play?

Ano. Odkazy na Google Play z InfluTo nesou kód v Install Referreru podepsaném Googlem. Přečtěte ho pomocí @capgo/capacitor-install-referrer nebo cordova-play-install-referrer a před checkAttribution ho předejte do captureInstallReferrer.

Které pluginy pro nákupy jsou podporované?

Pro přímé nákupy přes obchod: @capgo/native-purchases v Capacitoru, cordova-plugin-purchase v13 v Cordově a Digital Goods API v TWA na Google Play. Pro RevenueCat: @revenuecat/purchases-capacitor 7.5.10+, @revenuecat/purchases-js 1.4.0+ nebo cordova-plugin-purchases, případně jakýkoli objekt s metodou setAttributes.

Funguje to v PWA?

Ano. Nastavte URL webové aplikace, aby odkazy předávaly kód do vaší aplikace. Attribution i ručně zadané kódy fungují v každém prohlížeči. TWA na Google Play může prodávat přes Play Billing pomocí digitalGoodsSource(). Webové aplikace na ploše iOS nákupy v aplikaci prodávat nemohou.

Kolik to stojí?

0 $ měsíčně. Za každý ověřený nákup platíte provizi, kterou jste nastavili, 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 dá se vrátit. InfluTo vyplácí tvůrce měsíčně přes Stripe Connect ve 33 zemích, jakmile vydělají 20 $.

Přidejte referral kódy do příštího buildu v Capacitoru.

Jeden balíček npm, jedna cesta ověření, vratná záloha. 0 $ měsíčně a 10 % jen z tržeb, které přivedou tvůrci.

Začít zdarma