RevenueCat: cum configurezi un abonament in-app pe iOS
De Mehdi Azizi
Actualizat pe , 7 min.
RevenueCat leagă produsele din App Store Connect de aplicația ta și gestionează drepturile de acces. Pașii pentru primul tău abonament in-app pe iOS.
De ce să folosești RevenueCat în loc de StoreKit singur
StoreKit, framework-ul Apple, îți permite să vinzi un abonament fără niciun serviciu terț. Dar pentru un începător, să scrii singur toată logica de cumpărare, restaurare și verificare a drepturilor de acces înseamnă mult cod de întreținut, cu cazuri-limită ușor de uitat: schimbarea dispozitivului, expirarea, rambursarea.
RevenueCat se pune între App Store Connect și aplicația ta: îți citește produsele, gestionează abonamentele active și te scutește să scrii tu acest strat. Păstrezi controlul asupra prețului și ofertelor dintr-un dashboard, fără să republici aplicația la fiecare schimbare.
Pasul 1: creează-ți produsele în App Store Connect
Înainte de RevenueCat, produsele trebuie să existe la Apple. În App Store Connect, creează un grup de abonamente, apoi unul sau mai multe niveluri cu durata lor, de exemplu lunar sau anual, și prețul lor pe fiecare teritoriu. Completează și textele afișate utilizatorului pentru fiecare nivel: Apple le cere înainte să accepte produsul la review.
O scăpare frecventă în acest punct: un produs creat, dar niciodată trimis la primul review al aplicației împreună cu versiunea asociată. Un produs în așteptare care n-a fost inclus niciodată într-o trimitere a aplicației rămâne invizibil pentru utilizatori, chiar dacă RevenueCat îl vede deja.
Pasul 2: conectează RevenueCat la aplicația ta
În RevenueCat creezi un proiect, conectezi cheia de API App Store Connect ca RevenueCat să-ți sincronizeze automat produsele, apoi definești „entitlements", adică drepturile de acces. Un entitlement reprezintă ce deblochează abonamentul, de exemplu accesul complet la aplicație, indiferent de produsul exact care l-a declanșat.
Acest nivel intermediar e util: dacă mai târziu schimbi structura ofertelor, de exemplu adaugi un nivel anual, legi pur și simplu noul produs de același entitlement, fără să atingi codul care verifică accesul în aplicație.
În aplicație, SDK-ul RevenueCat pentru React Native se instalează într-un proiect Expo cu un plugin dedicat și îți oferă o funcție simplă ca să afli dacă utilizatorul curent are un entitlement activ.
Pasul 3: construiește-ți paywall-ul
Paywall-ul este ecranul care prezintă oferta și declanșează cumpărarea. RevenueCat oferă paywall-uri configurabile din dashboard, pe care le poți modifica fără să republici aplicația, sau poți să-l construiești pe al tău cu SDK-ul dacă vrei control complet asupra designului.
Plasarea contează la fel de mult ca designul. Un paywall afișat înainte ca persoana să fi văzut valoarea aplicației convertește în general mai prost decât unul plasat imediat după o primă acțiune reușită. Ghidul despre greșelile de paywall iOS ale începătorilor detaliază capcanele cele mai frecvente în această etapă, dincolo de simpla integrare tehnică.
Pasul 4: testează cumpărarea, restaurarea și expirarea
E pasul cel mai des făcut pe fugă, și totuși cel mai verificat de Apple. Trei scenarii trebuie să funcționeze înainte de trimitere:
Cumpărarea. Cu un cont de tester sandbox, cumpărarea trebuie să deblocheze imediat entitlement-ul, iar aplicația ta trebuie să reacționeze la schimbare fără să fie nevoie de repornire.
Restaurarea. Pe un dispozitiv nou sau după reinstalare, cu același cont Apple, un buton „Restore Purchases" trebuie să regăsească abonamentul activ. Apple verifică sistematic acest parcurs la review, iar lipsa lui sau funcționarea greșită e un motiv frecvent de respingere în baza guideline-ului 3.1.1.
Expirarea. În mediul sandbox, abonamentele expiră în câteva minute în loc de câteva luni, așa că poți verifica dacă accesul se închide corect la finalul perioadei, fără să aștepți un ciclu real de facturare.
Ce nu înlocuiește RevenueCat
RevenueCat gestionează mecanica de cumpărare, nu conformitatea paginii tale din store sau a paywall-ului cu guideline-ul 3.1.2. Tot tu trebuie să descrii corect abonamentul în descrierea din App Store, să indici prețul exact și durata, și să-ți completezi termenii de utilizare. Pagina abonament sau cumpărare unică pe iOS te ajută să alegi modelul potrivit chiar înainte să ajungi la această etapă tehnică.
În plus, RevenueCat ia un comision din venituri peste un anumit prag lunar, pe lângă comisionul Apple pe abonamentele vândute în aplicație. Verifică nivelurile actuale pe site-ul lor înainte să-ți construiești modelul de business în jurul acestor două comisioane.
Cele mai frecvente greșeli ale începătorilor
Uiți starea de încărcare. La pornire, RevenueCat are nevoie de o clipă ca să obțină drepturile de acces ale utilizatorului. Dacă aplicația afișează implicit conținutul plătit înainte de acest răspuns, un utilizator fără abonament poate vedea, pentru o clipă, conținut pe care nu l-a plătit. Prevede o stare de încărcare explicită, nu o afișare implicită optimistă.
Verifici drepturile în locul greșit. Un entitlement activ trebuie reverificat la fiecare deschidere a unui ecran plătit, nu doar o dată la pornire. Dacă utilizatorul anulează sau abonamentul expiră în timp ce folosește aplicația, ecranul următor trebuie să reflecte schimbarea.
Confunzi mediul sandbox cu producția. Identificatorii de produs și conturile de tester sandbox sunt separate de producție. Un test care merge în sandbox cu contul Apple greșit, sau un produs creat doar în producție, îți poate da impresia falsă că totul e gata.
O aplicație verificată, nu doar o aplicație care compilează
Un abonament care „merge" la un test rapid pe propriul cont nu garantează că rezistă la o restaurare pe alt dispozitiv sau la o expirare reală. Exact asta verifică un reviewer Apple. Pagina abonament in-app iOS detaliază tot lanțul, de la crearea produselor până la verificarea finală.
Dacă vrei să pornești de la o bază în care paywall-ul și abonamentele sunt deja în cod, asta conține codul de pornire din iOS Kit. Ca să-ți verifici abonamentul cum o va face reviewerul, Apple Review Kit reunește checklist-ul meu dinainte de trimitere și notele de lăsat testerului pentru achiziția in-app.
Întrebări frecvente
Cum configurez un abonament RevenueCat pe iOS?
În patru pași. Mai întâi creează produsele în App Store Connect. Apoi conectează RevenueCat cu cheia de API App Store Connect și definește entitlements (drepturile de acces), apoi construiește paywall-ul. La final testează cumpărarea, restaurarea și expirarea: e pasul des făcut pe fugă, și totuși verificat de Apple.
Este RevenueCat obligatoriu ca să vinzi un abonament pe iOS?
Nu. StoreKit, framework-ul Apple, îți permite să vinzi un abonament fără serviciu terț. Dar atunci scrii tu toată logica de cumpărare, restaurare și verificare a drepturilor de acces, cu cazuri-limită ușor de uitat: schimbarea dispozitivului, expirarea, rambursarea. RevenueCat se pune între App Store Connect și aplicația ta ca să te scutească de acest strat.
Ce este un entitlement în RevenueCat?
Un entitlement este un drept de acces: reprezintă ce deblochează abonamentul, de exemplu accesul complet la aplicație, indiferent de produsul exact care l-a declanșat. Dacă mai târziu adaugi un nivel anual, legi pur și simplu noul produs de același entitlement. Codul care verifică accesul în aplicație nu trebuie schimbat.
Cum testez un abonament RevenueCat înainte de trimiterea la Apple?
Trei scenarii trebuie să funcționeze înainte de trimitere. Cumpărarea: cu un cont de tester sandbox, accesul se deblochează imediat, fără repornirea aplicației. Restaurarea: pe un dispozitiv nou sau după reinstalare, cu același cont Apple, butonul de restaurare regăsește abonamentul activ. Expirarea: în sandbox, abonamentele expiră în câteva minute, așa că poți verifica dacă accesul se închide.
De ce un produs vizibil în RevenueCat rămâne invizibil pentru utilizatori?
De multe ori pentru că produsul n-a fost inclus niciodată într-o trimitere a aplicației. Un produs creat în App Store Connect, dar niciodată trimis la primul review împreună cu versiunea asociată, rămâne invizibil pentru utilizatori, chiar dacă RevenueCat îl vede deja. E o scăpare frecventă la etapa de creare a produselor.
Ia RevenueCat un comision din abonamente?
RevenueCat ia un comision din venituri peste un anumit prag lunar. Acesta se adaugă comisionului Apple pe abonamentele vândute în aplicație. Verifică nivelurile actuale pe site-ul RevenueCat înainte să-ți construiești modelul de business în jurul acestor două comisioane.