Co oznacza „Przywróć zakup”?

Ostatnia aktualizacja 10 marca, 2026
 od 
Victoria Kharlan
Opublikowane 5 grudnia, 2025 
Ostatnia aktualizacja 10 marca, 2026
4 minut czytania
What Does Restore Purchase Mean

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
  3. Zaktualizuj dostęp. Po zakończeniu przywracania odśwież status subskrypcji użytkownika i odblokuj zawartość.
  4. Dodaj pomocną informację. Prosta informacja pomaga zmniejszyć niejasności: „Użyj tej opcji, jeśli zmieniłeś urządzenie lub ponownie zainstalowałeś aplikację”.
  5. Unikaj powtórzeń. Jeśli użytkownik ma już dostęp, wyłącz przycisk lub całkowicie go ukryj.
  6. 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()

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)
        }
    }
}

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)
        }
    }
}

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

Jeśli Twoja aplikacja wykorzystuje logowanie jako jedyny sposób uzyskania dostępu do zakupów, przycisk ten może nie być wymagany z technicznego punktu widzenia. Jednak firma Apple nadal go zaleca, ponieważ pomaga on ograniczyć liczbę zgłoszeń do pomocy technicznej.

Nie. Reaktywuje jedynie ważne poprzednie zakupy; nie wiąże się to z żadnymi opłatami.

Nie. Zazwyczaj jest to uruchamiane ręcznie przez użytkownika. Ale jeśli korzystasz z Adapty lub własnego zaplecza, możesz synchronizować zakupy w tle podczas uruchamiania aplikacji, aby zapewnić stały dostęp do aktualnych danych.

W systemie iOS — tak, jeśli używane jest to samo konto Apple ID. W systemie Android zaleca się zalogowanie, aby powiązać zakupy z trwałym kontem użytkownika.

Nie. Funkcja „Przywróć zakup” działa tylko w przypadku konta, z którego pierwotnie dokonano zakupu.

W systemie iOS, jeśli produkt obsługuje funkcję Family Sharing i jest ona włączona, każdy członek rodziny może przywrócić zakup. Zachowanie zależy od ustawień App Store i typu produktu.

Wyświetl przyjazny komunikat, np.: „Nie znaleziono żadnych wcześniejszych zakupów na Twoim koncie”. Zapobiega to nieporozumieniom i potwierdza, że proces przebiegł zgodnie z oczekiwaniami.
Victoria Kharlan
Lessons I wish I had. Now yours.
Inne

Na tej stronie

Gotowy, aby stworzyć swój pierwszy peywall z Adapty?
Twórz peywalle przynoszące zyski bez kodowania
Rozpocznij za darmo