---
title: "Co oznacza „Przywróć zakup”?"
description: "Dowiedz się, co oznacza \"Przywróć zakupy\", jak to działa na iOS i Androidzie oraz dlaczego jest to kluczowe dla aplikacji subskrypcyjnych."
url: "https://adapty.io/pl/blog/co-oznacza-przywrocenie-zakupu/"
language: "pl"
slug: "co-oznacza-przywrocenie-zakupu"
category: "adapty-updates"
date: "2025-12-05T08:57:09.000Z"
date_modified: "2026-03-10T13:10:05.000Z"
author: "Victoria Kharlan"
---

# 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

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:

```swift
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ą:

```swift
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:

```swift
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

### Czy muszę wyświetlać przycisk "Przywróć zakupy", nawet jeśli korzystam z logowania?

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.

### Czy przywracanie zakupów powoduje zwrot pieniędzy?

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

### Czy powinienem wywoływać "Przywróć zakupy" automatycznie przy każdym uruchomieniu aplikacji?

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.

### Czy przywracanie zakupów działa bez logowania?

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.

### Czy użytkownicy mogą przywrócić zakupy po zmianie Apple ID lub konta Google?

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

### Jak "Przywróć zakupy" działa z Family Sharing?

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.

### Co się stanie, jeśli "Przywróć zakupy" nie znajdzie żadnych zakupów?

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.
