RevenueCat előfizetés iOS appban: beállítás lépésről lépésre
Írta: Mehdi Azizi
Frissítve: , 7 p
A RevenueCat összeköti az App Store Connect termékeidet az appoddal, és kezeli a hozzáférési jogokat. Így kötheted be az első iOS előfizetésedet.
Miért RevenueCat, és miért nem csak StoreKit
A StoreKit, az Apple keretrendszere, lehetővé teszi, hogy külső szolgáltatás nélkül adj el előfizetést. Kezdőként viszont a vásárlás, a visszaállítás és a hozzáférési jogok ellenőrzésének teljes logikáját magadnak megírni rengeteg karbantartandó kódot jelent, ráadásul könnyen elfelejthető határesetekkel: eszközváltás, lejárat, visszatérítés.
A RevenueCat az App Store Connect és az appod közé ékelődik: beolvassa a termékeidet, kezeli az aktív előfizetéseket, és megspórolja neked ennek a rétegnek a megírását. Az árat és az ajánlatokat egy irányítópultról kezeled, anélkül hogy minden változásnál újra kellene publikálnod az appot.
1. lépés: hozd létre a termékeidet az App Store Connectben
A RevenueCat előtt a termékeknek létezniük kell az Apple oldalán. Az App Store Connectben hozz létre egy előfizetési csoportot, majd egy vagy több szintet az időtartamukkal (például havi vagy éves), és területenkénti árukkal. Add meg a felhasználónak megjelenő szövegeket is minden szinthez: az Apple ezeket kéri, mielőtt elfogadja a terméket a review-ban.
Gyakori kihagyás ebben a fázisban: a termék létrejött, de soha nem küldted be az app első review-jára a hozzá tartozó verzióval. Egy függőben lévő termék, amely soha nem szerepelt app-beküldésben, láthatatlan marad a felhasználóid számára, még ha a RevenueCat már látja is.
2. lépés: kösd össze a RevenueCatet az alkalmazásoddal
A RevenueCatben létrehozol egy projektet, összekapcsolod az App Store Connect API-kulcsodat, hogy a RevenueCat automatikusan szinkronizálja a termékeidet, majd definiálod az „entitlementeket”, vagyis a hozzáférési jogokat. Egy entitlement azt jelöli, amit az előfizetés felold, például az app teljes elérését, függetlenül attól, pontosan melyik termék váltotta ki.
Ez a közvetett megoldás hasznos: ha később módosítod az ajánlataid szerkezetét, például hozzáadsz egy éves szintet, egyszerűen ugyanahhoz az entitlementhez kötöd az új terméket, és nem kell hozzányúlnod az appban a hozzáférést ellenőrző kódhoz.
Az app oldalán a RevenueCat React Native SDK egy dedikált pluginnel települ az Expo projektbe, és egy egyszerű függvényt ad, amivel megtudhatod, van-e az aktuális felhasználónak aktív entitlementje.
3. lépés: építsd meg a paywallt
A paywall az a képernyő, amely bemutatja az ajánlatot, és elindítja a vásárlást. A RevenueCat kínál az irányítópultról konfigurálható paywallokat, amelyeket az app újrapublikálása nélkül módosíthatsz, vagy megépítheted a sajátodat az SDK-val, ha teljes kontrollt szeretnél a dizájn felett.
Az elhelyezés ugyanannyit számít, mint a dizájn. Az a paywall, amely azelőtt jelenik meg, hogy a felhasználó látta volna az app értékét, általában rosszabbul konvertál, mint amelyik közvetlenül egy első sikeres művelet után jön. A kezdők iOS paywall-hibáiról szóló útmutató részletezi az ebben a fázisban leggyakoribb csapdákat, a puszta technikai bekötésen túl.
4. lépés: teszteld a vásárlást, a visszaállítást és a lejáratot
Ezt a lépést szokták a leggyakrabban elkapkodni, pedig az Apple ezt ellenőrzi a legjobban. Három forgatókönyvnek kell működnie beküldés előtt:
A vásárlás. Sandbox tesztfiókkal a vásárlásnak azonnal fel kell oldania az entitlementet, és az appodnak újraindítás nélkül reagálnia kell erre a változásra.
A visszaállítás. Új eszközön vagy újratelepítés után, ugyanazzal az Apple-fiókkal egy „Restore Purchases” gombnak meg kell találnia az aktív előfizetést. Az Apple a review során mindig ellenőrzi ezt a folyamatot, és ha hiányzik vagy rosszul működik, az gyakori elutasítási ok a 3.1.1-es guideline alapján.
A lejárat. Sandbox környezetben az előfizetések néhány perc alatt lejárnak hónapok helyett, így ellenőrizheted, hogy a hozzáférés rendesen megszűnik az időszak végén, anélkül hogy egy valódi számlázási ciklust kellene kivárnod.
Amit a RevenueCat nem helyettesít
A RevenueCat a vásárlás mechanikáját kezeli, nem az adatlapod és a paywallod megfelelőségét a 3.1.2-es guideline szempontjából. Továbbra is a te dolgod, hogy helyesen leírd az előfizetést az App Store-leírásodban, feltüntesd a pontos árát és időtartamát, és megadd a felhasználási feltételeidet. Az előfizetés vagy egyszeri vásárlás iOS-en oldal segít kiválasztani a megfelelő modellt, még mielőtt ehhez a technikai lépéshez érnél.
A RevenueCat emellett jutalékot vesz a bevételekből egy bizonyos havi küszöb felett, az Apple-nek az appon belül eladott előfizetésekre felszámított jutalékán felül. Ellenőrizd az aktuális sávokat a saját oldalukon, mielőtt e két jutalékra építed az üzleti modelledet.
A kezdők leggyakoribb hibái
Kifelejtett betöltési állapot. Indításkor a RevenueCatnek kell egy rövid pillanat, hogy lekérje a felhasználó hozzáférési jogait. Ha az appod alapból a fizetős tartalmat mutatja e válasz előtt, egy előfizetés nélküli felhasználó egy pillanatra olyan tartalmat láthat, amiért nem fizetett. Optimista alapértelmezett megjelenítés helyett tervezz explicit betöltési állapotot.
Rossz helyen ellenőrzött jogok. Az aktív entitlementet minden fizetős képernyő megnyitásakor újra kell ellenőrizni, nem csak egyszer indításkor. Ha a felhasználó lemondja az előfizetést, vagy az lejár, miközben az appot használja, a következő képernyőnek ezt kell tükröznie.
A sandbox és az éles környezet összekeverése. A termékazonosítók és a sandbox tesztfiókok különböznek az éles környezettől. Egy teszt, ami sandboxban rossz Apple-fiókkal működik, vagy egy csak élesben létrehozott termék hamis benyomást kelthet, hogy minden készen áll.
Ellenőrzött app, nem csak olyan, ami lefordul
Egy előfizetés, ami gyors teszten „működik” a saját fiókodon, még nem garantálja, hogy túlél egy visszaállítást egy másik eszközön vagy egy valódi lejáratot. Pontosan ezt ellenőrzi egy Apple reviewer. Az iOS in-app előfizetés oldal részletezi ezt a teljes láncot, a termékek létrehozásától a végső ellenőrzésig.
Ha olyan alapról indulnál, ahol a paywall és az előfizetések már benne vannak a kódban, pontosan ezt tartalmazza az iOS Kit kezdőkódja. Ha úgy akarod ellenőrizni az előfizetésedet, ahogy a reviewer fogja, az Apple Review Kit tartalmazza a beküldés előtti checklistámat és a tesztelőnek hagyandó megjegyzéseket az alkalmazáson belüli vásárláshoz.
Gyakori kérdések
Hogyan állíts be RevenueCat előfizetést iOS-en?
Négy lépésben. Először hozd létre a termékeidet az App Store Connectben. Ezután kösd be a RevenueCatet az App Store Connect API-kulcsoddal, definiáld az entitlementjeidet (a hozzáférési jogokat), majd építsd meg a paywallt. Végül teszteld a vásárlást, a visszaállítást és a lejáratot: ezt a lépést gyakran elkapkodják, pedig az Apple ellenőrzi.
Kötelező a RevenueCat, ha előfizetést akarsz eladni iOS-en?
Nem. A StoreKit, az Apple keretrendszere, külső szolgáltatás nélkül is lehetővé teszi az előfizetés eladását. Ilyenkor viszont te írod meg a vásárlás, a visszaállítás és a hozzáférési jogok ellenőrzésének teljes logikáját, könnyen elfelejthető határesetekkel: eszközváltás, lejárat, visszatérítés. A RevenueCat az App Store Connect és az appod közé ékelődik, hogy ezt a réteget megspórolja neked.
Mi az az entitlement a RevenueCatben?
Az entitlement egy hozzáférési jog: azt jelöli, amit az előfizetés felold, például az app teljes elérését, függetlenül attól, pontosan melyik termék váltotta ki. Ha később hozzáadsz egy éves szintet, egyszerűen ugyanahhoz az entitlementhez kötöd az új terméket. Az appodban a hozzáférést ellenőrző kódnak nem kell változnia.
Hogyan teszteld a RevenueCat előfizetést, mielőtt beküldöd az Apple-nek?
Három forgatókönyvnek kell működnie beküldés előtt. Vásárlás: sandbox tesztfiókkal a hozzáférés azonnal feloldódik, az app újraindítása nélkül. Visszaállítás: új eszközön vagy újratelepítés után, ugyanazzal az Apple-fiókkal a visszaállító gomb megtalálja az aktív előfizetést. Lejárat: sandboxban az előfizetések néhány perc alatt lejárnak, így ellenőrizheted, hogy a hozzáférés megszűnik.
Miért láthatatlan a felhasználóknak egy termék, amit a RevenueCat már lát?
Gyakran azért, mert a terméket soha nem vetted fel egy app-beküldésbe. Egy App Store Connectben létrehozott, de az első review-ra a hozzá tartozó verzióval soha be nem küldött termék láthatatlan marad a felhasználóid számára, még ha a RevenueCat már látja is. Ez gyakori kihagyás a termékek létrehozásakor.
Vesz jutalékot a RevenueCat az előfizetések után?
A RevenueCat jutalékot vesz a bevételekből egy bizonyos havi küszöb felett. Ez az Apple-nek az appon belül eladott előfizetésekre felszámított jutalékán felül jön. Ellenőrizd az aktuális sávokat a RevenueCat oldalán, mielőtt e két jutalékra építed az üzleti modelledet.