Co oznacza „Przywróć zakup”?

Victoria Kharlan
Victoria Kharlan
4 min czytania
Co oznacza „Przywróć zakup”?

Wyobraź sobie: użytkownik kupuje subskrypcję, zmienia urządzenie, ponownie instaluje aplikację i nagle traci dostęp. To najprostszy sposób, by stracić zaufanie.

Właśnie dlatego istnieje opcja „Przywróć zakup”. Może się wydawać, że jest to przycisk opcjonalny, ale jest on niezbędny, zwłaszcza w przypadku aplikacji opartych na subskrypcji.

Ta opcja pozwala użytkownikom odzyskać dostęp do wcześniej zakupionych treści bez konieczności ponownego płacenia. Jest to niewielki przycisk, który odgrywa ogromną rolę w budowaniu zaufania, zgodności z przepisami i utrzymaniu użytkowników.

Dlaczego to ważne

  • Zaufanie użytkowników: Jeśli ktoś zapłacił raz, oczekuje, że zachowa dostęp niezależnie od urządzenia.
  • Obciążenie wsparcia technicznego: Niejasna lub brakująca logika przywracania = niezadowoleni użytkownicy + więcej zgłoszeń.
  • Zgodność z wymogami sklepu App Store: zarówno Apple, jak i Google oczekują, że dla niektórych rodzajów produktów zostanie uwzględniona opcja przywracania.

Jakie zakupy można przywrócić

Zakupy, które można przywrócić, obejmują:

  • Produkty niebędące materiałami eksploatacyjnymi: Jednorazowe zakupy, takie jak dożywotni dostęp lub funkcje premium.
  • Subskrypcje z automatycznym odnawianiem: Plany miesięczne/roczne, które synchronizują się między urządzeniami.
  • Subskrypcje bez możliwości odnowienia: dostęp na czas określony (np. karnet 3-miesięczny).

Nie można przywrócić:

  • Materiały eksploatacyjne, takie jak monety, dodatkowe życia lub jednorazowe przyspieszenia. Są one przeznaczone do zużycia.

Jak działa przycisk "Przywróć zakupy"

  1. UI/UX. Dodaj przycisk „Przywróć zakup” — zazwyczaj w ustawieniach lub bezpośrednio na stronie płatności.
  2. Wyzwalacz. Po naciśnięciu wyzwalaj przywrócenie poprzez:
  • SKPaymentQueue.restoreCompletedTransactions() dla systemu iOS
  • BillingClient.queryPurchaseHistoryAsync() dla systemu Android
  • Lub logika zaplecza, jeśli zarządzasz uprawnieniami po stronie serwera
  1. Zaktualizuj dostęp. Po zakończeniu przywracania odśwież status subskrypcji użytkownika i odblokuj zawartość.
  2. Dodaj pomocną informację. Prosta informacja pomaga zmniejszyć niejasności: „Użyj tej opcji, jeśli zmieniłeś urządzenie lub ponownie zainstalowałeś aplikację”.*
  1. Unikaj powtórzeń. Jeśli użytkownik ma już dostęp, wyłącz przycisk lub całkowicie go ukryj.
  2. Logika konta. W przypadku aplikacji wymagających logowania: powiązaj subskrypcje z kontami użytkowników i synchronizuj je za pośrednictwem zaplecza, aby uprościć przywracanie danych na różnych urządzeniach.

Jak przywracanie zakupów działa na iOS

Na iOS przywracanie zakupów odświeża paragon aplikacji i ponownie udostępnia produkty powiązane z Apple ID użytkownika. Proces przebiega cicho w tle, a doświadczenie użytkownika powinno być proste i zrozumiałe.

Oto jak to zrobić za pomocą natywnego StoreKit (przed StoreKit 2):

1. Uruchom proces przywracania

Wywołaj funkcję restoreCompletedTransactions(), aby uruchomić proces przywracania:

SKPaymentQueue.default().restoreCompletedTransactions()
Swift

To polecenie nakazuje StoreKit wyszukać wszystkie wcześniejsze zakupy powiązane z bieżącym Apple ID.

2. Obsłuż przywrócone transakcje

Sprawdź kolejkę płatności i poszukaj transakcji o statusie .restored. Następnie odblokuj zawartość i oznacz transakcję jako zakończoną:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
        if transaction.transactionState == .restored {
            // Unlock access based on restored product
            unlockContent(transaction: transaction)
            SKPaymentQueue.default().finishTransaction(transaction)
        }
    }
}
Swift

Nie zapomnij wywołać funkcji finishTransaction(_:). W przeciwnym razie StoreKit może kontynuować ponowne próby wykonania tej samej transakcji.

3. Obsłuż błędy w odpowiedni sposób

Przywracanie może się nie powieść z powodu nieprawidłowych paragonów, problemów z siecią lub braku kwalifikujących się zakupów na danym Apple ID. Wyświetl użytkownikowi czytelny komunikat i zaloguj błąd na potrzeby debugowania.

Korzystasz z Adapty SDK? Zajmujemy się tym wszystkim, w tym weryfikacją paragonów i przypadkami skrajnymi, za pomocą jednego wywołania metody.

Jak przywracanie zakupów działa na Androidzie

Na Androidzie przywracanie zakupów oznacza sprawdzenie historii zakupów użytkownika przez Google Play i ponowną aktywację produktów jednorazowych (non-consumable) lub aktywnych subskrypcji. Nie ma wbudowanego przycisku "Przywróć zakupy" jak na iOS -- trzeba to obsłużyć ręcznie za pomocą billing API.

Oto jak to zrobić za pomocą Google Play Billing Library:

1. Zapytanie o historię zakupów

Użyj funkcji queryPurchaseHistoryAsync(), aby pobrać historię zakupów użytkownika:

billingClient.queryPurchaseHistoryAsync(
    BillingClient.SkuType.SUBS
) { billingResult, purchaseHistoryList ->
    if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchaseHistoryList != null) {
        for (purchase in purchaseHistoryList) {
            // Restore subscription access
            restoreEntitlement(purchase)
        }
    }
}
Swift

Możesz również sprawdzić zakupy w aplikacji, przekazując BillingClient.SkuType.INAPP.

2. Zweryfikuj i odblokuj

Po pobraniu historii zakupów zweryfikuj paragony (najlepiej po stronie serwera) i odpowiednio przyznaj dostęp. Pamiętaj, aby sprawdzić dane podpisu w celu zapobiegania spoofingowi.

Adapty obsługuje walidację zakupów, logikę dostępu użytkownika i synchronizację międzyplatformową od razu po wdrożeniu.

3. Aspekty UX

Ponieważ użytkownicy Androida nie oczekują przycisku "Przywróć zakupy", możesz:

  • Automatyczne przywracanie po zalogowaniu lub uruchomieniu aplikacji
  • Lub umieścić dyskretną opcję w Ustawieniach dla przejrzystości

W obu przypadkach upewnij się, że logika przywracania działa cicho w tle i aktualizuje interfejs po przywróceniu dostępu.

Podsumowanie

Przycisk "Przywróć zakupy" może wyglądać prosto, ale odgrywa kluczową rolę w ścieżce subskrypcyjnej.

  • Buduje zaufanie.
  • Zmniejsza odpływ użytkowników.
  • Zapewnia zgodność z regulaminem.

Zadbaj o jego widoczność. Zadbaj o jego działanie. I zadbaj o to, by był zrozumiały.

FAQ

Powiązane artykuły

Jak sprzedać aplikację mobilną?
8 min czytania

Jak sprzedać aplikację mobilną?

Twoja aplikacja to zasób, zasób, który można sprzedać. Zastanówmy się, gdzie sprzedać, komu sprzedać i jak inwestorzy zwykle oceniają aplikacje.

Vitaly DavydovVitaly DavydovRead