RevenueCat: subskrypcja in-app na iOS krok po kroku
Autor: Mehdi Azizi
Zaktualizowano , 7 min
RevenueCat łączy produkty z App Store Connect z twoją aplikacją i zarządza uprawnieniami. Oto kroki, by podpiąć pierwszą subskrypcję in-app na iOS.
Dlaczego RevenueCat, a nie sam StoreKit
StoreKit, framework Apple, pozwala sprzedawać subskrypcję bez żadnej zewnętrznej usługi. Ale dla początkującego samodzielne pisanie całej logiki zakupu, przywracania i sprawdzania uprawnień to mnóstwo kodu do utrzymania. Do tego przypadki brzegowe, o których łatwo zapomnieć: zmiana urządzenia, wygaśnięcie, zwrot pieniędzy.
RevenueCat staje między App Store Connect a twoją aplikacją: odczytuje twoje produkty, zarządza aktywnymi subskrypcjami i oszczędza ci pisania tej warstwy. Cenę i oferty kontrolujesz z poziomu panelu, bez publikowania nowej wersji aplikacji przy każdej zmianie.
Krok 1: utwórz produkty w App Store Connect
Zanim zajmiesz się RevenueCat, produkty muszą istnieć po stronie Apple. W App Store Connect utwórz grupę subskrypcji, a potem jeden lub kilka poziomów z okresem rozliczeniowym, na przykład miesięcznym lub rocznym, i ceną dla każdego regionu. Uzupełnij też teksty wyświetlane użytkownikowi dla każdego poziomu: Apple wymaga ich, zanim zaakceptuje produkt w recenzji.
Częsty błąd na tym etapie: produkt utworzony, ale nigdy niezgłoszony do pierwszej recenzji aplikacji razem z powiązaną wersją. Oczekujący produkt, który nigdy nie trafił do zgłoszenia aplikacji, pozostaje niewidoczny dla użytkowników, nawet jeśli RevenueCat już go widzi.
Krok 2: połącz RevenueCat z aplikacją
W RevenueCat tworzysz projekt, podpinasz klucz API App Store Connect, żeby RevenueCat automatycznie synchronizował twoje produkty, a potem definiujesz "entitlements", czyli uprawnienia. Entitlement oznacza to, co odblokowuje subskrypcja, na przykład pełny dostęp do aplikacji, niezależnie od tego, który konkretnie produkt go przyznał.
Ta warstwa pośrednia się przydaje: jeśli później zmienisz strukturę ofert, na przykład dodasz poziom roczny, po prostu podpinasz nowy produkt do tego samego entitlementu, bez ruszania kodu, który sprawdza dostęp w aplikacji.
Po stronie aplikacji SDK RevenueCat dla React Native instalujesz w projekcie Expo za pomocą dedykowanego pluginu. Udostępnia on prostą funkcję, która mówi, czy bieżący użytkownik ma aktywny entitlement.
Krok 3: zbuduj paywall
Paywall to ekran, który przedstawia ofertę i uruchamia zakup. RevenueCat oferuje paywalle konfigurowane z panelu, które zmienisz bez publikowania aplikacji od nowa. Możesz też zbudować własny za pomocą SDK, jeśli chcesz mieć pełną kontrolę nad designem.
Umiejscowienie liczy się tak samo jak design. Paywall pokazany, zanim użytkownik zobaczy wartość aplikacji, zwykle konwertuje gorzej niż paywall umieszczony zaraz po pierwszej udanej akcji. Poradnik o błędach w paywallu iOS u początkujących opisuje najczęstsze pułapki na tym etapie, wykraczające poza samo techniczne podpięcie.
Krok 4: przetestuj zakup, przywracanie i wygaśnięcie
To etap najczęściej robiony po łebkach, a jednocześnie najdokładniej sprawdzany przez Apple. Przed wysłaniem muszą działać trzy scenariusze:
Zakup. Na koncie testowym sandbox zakup musi od razu odblokować entitlement, a aplikacja musi zareagować na tę zmianę bez restartu.
Przywracanie. Na nowym urządzeniu albo po ponownej instalacji, z tym samym kontem Apple, przycisk "Przywróć zakupy" musi odnaleźć aktywną subskrypcję. Apple zawsze sprawdza tę ścieżkę w recenzji, a jej brak lub błędne działanie to częsty powód odrzucenia na podstawie guideline 3.1.1.
Wygaśnięcie. W środowisku sandbox subskrypcje wygasają po kilku minutach zamiast po kilku miesiącach. Dzięki temu sprawdzisz, czy dostęp poprawnie się zamyka po zakończeniu okresu, bez czekania na prawdziwy cykl rozliczeniowy.
Czego RevenueCat nie zastąpi
RevenueCat obsługuje mechanikę zakupu, a nie zgodność twojej karty w App Store ani paywalla z guideline 3.1.2. Nadal to ty musisz poprawnie opisać subskrypcję w opisie w App Store, podać jej dokładną cenę i okres oraz uzupełnić regulamin. Strona subskrypcja czy jednorazowy zakup na iOS pomoże ci wybrać właściwy model, zanim w ogóle dojdziesz do tego technicznego etapu.
RevenueCat pobiera też prowizję od przychodów powyżej pewnego miesięcznego progu, oprócz prowizji Apple od subskrypcji sprzedawanych w aplikacji. Sprawdź aktualne progi na ich stronie, zanim zbudujesz model biznesowy wokół tych dwóch prowizji.
Najczęstsze błędy początkujących
Brak stanu ładowania. Przy starcie RevenueCat potrzebuje chwili, żeby pobrać uprawnienia użytkownika. Jeśli aplikacja domyślnie pokazuje płatne treści przed tą odpowiedzią, użytkownik bez subskrypcji może przez moment zobaczyć coś, za co nie zapłacił. Przewidź wyraźny stan ładowania zamiast optymistycznego domyślnego widoku.
Sprawdzanie uprawnień w złym miejscu. Aktywny entitlement trzeba sprawdzać przy każdym otwarciu płatnego ekranu, a nie tylko raz przy starcie. Jeśli użytkownik anuluje subskrypcję albo ta wygaśnie w trakcie korzystania z aplikacji, następny ekran musi to uwzględnić.
Mylenie sandboxa z produkcją. Identyfikatory produktów i konta testowe sandbox są oddzielone od produkcji. Test, który działa w sandboxie na niewłaściwym koncie Apple, albo produkt utworzony tylko w produkcji, może dać złudne wrażenie, że wszystko jest gotowe.
Aplikacja sprawdzona, a nie tylko taka, która się kompiluje
Subskrypcja, która "działa" w szybkim teście na twoim własnym koncie, nie gwarantuje, że przetrwa przywracanie na innym urządzeniu albo prawdziwe wygaśnięcie. Dokładnie to sprawdza recenzent Apple. Strona subskrypcja in-app na iOS opisuje cały ten łańcuch, od tworzenia produktów po końcową weryfikację.
Jeśli chcesz zacząć od bazy, w której paywall i subskrypcje są już w kodzie, to właśnie zawiera kod startowy iOS Kit. Żeby sprawdzić subskrypcję tak, jak zrobi to recenzent, Apple Review Kit zbiera moją checklistę przed wysłaniem i notatki, które warto zostawić testerowi w sprawie zakupów w aplikacji.
Najczęściej zadawane pytania
Jak skonfigurować subskrypcję RevenueCat na iOS?
W czterech krokach. Najpierw utwórz produkty w App Store Connect. Potem połącz RevenueCat za pomocą klucza API App Store Connect, zdefiniuj entitlements (uprawnienia) i zbuduj paywall. Na koniec przetestuj zakup, przywracanie i wygaśnięcie: to etap często robiony po łebkach, a sprawdzany przez Apple.
Czy RevenueCat jest obowiązkowy, żeby sprzedawać subskrypcję na iOS?
Nie. StoreKit, framework Apple, pozwala sprzedawać subskrypcję bez zewnętrznej usługi. Ale wtedy sam piszesz całą logikę zakupu, przywracania i sprawdzania uprawnień, z przypadkami brzegowymi, o których łatwo zapomnieć: zmiana urządzenia, wygaśnięcie, zwrot pieniędzy. RevenueCat staje między App Store Connect a twoją aplikacją i oszczędza ci tej warstwy.
Czym jest entitlement w RevenueCat?
Entitlement to uprawnienie: oznacza to, co odblokowuje subskrypcja, na przykład pełny dostęp do aplikacji, niezależnie od konkretnego produktu, który go przyznał. Jeśli później dodasz poziom roczny, po prostu podpinasz nowy produkt do tego samego entitlementu. Kod sprawdzający dostęp w aplikacji nie musi się zmieniać.
Jak przetestować subskrypcję RevenueCat przed wysłaniem do Apple?
Przed wysłaniem muszą działać trzy scenariusze. Zakup: na koncie testowym sandbox dostęp odblokowuje się od razu, bez restartu aplikacji. Przywracanie: na nowym urządzeniu albo po ponownej instalacji, z tym samym kontem Apple, przycisk przywracania odnajduje aktywną subskrypcję. Wygaśnięcie: w sandboxie subskrypcje wygasają po kilku minutach, więc możesz sprawdzić, czy dostęp się zamyka.
Dlaczego produkt widoczny w RevenueCat jest niewidoczny dla użytkowników?
Często dlatego, że produkt nigdy nie trafił do zgłoszenia aplikacji. Produkt utworzony w App Store Connect, ale nigdy niezgłoszony do pierwszej recenzji razem z powiązaną wersją, pozostaje niewidoczny dla użytkowników, nawet jeśli RevenueCat już go widzi. To częsty błąd na etapie tworzenia produktów.
Czy RevenueCat pobiera prowizję od subskrypcji?
RevenueCat pobiera prowizję od przychodów powyżej pewnego miesięcznego progu. Dochodzi ona do prowizji Apple od subskrypcji sprzedawanych w aplikacji. Sprawdź aktualne progi na stronie RevenueCat, zanim zbudujesz model biznesowy wokół tych dwóch prowizji.