App Purchase Vault
Takeout · Techniczne

Wyjaśnienie pliku Google Play Purchase History.json

Purchase History.json jest sercem eksportu Google Play z Takeout: to odczytywalna maszynowo lista tego, co pozyskałeś i kiedy. Ta strona wyjaśnia jego rolę i ogólną strukturę, z ważnym zastrzeżeniem dotyczącym gwarancji.

Zaktualizowano: wrzesień 2026 · Projekt App Purchase Vault · 6 min czytania

Najpierw zastrzeżenie: brak opublikowanego schematu

Google nie publikuje formalnego, wersjonowanego schematu plików Play z Takeout. Wszystko poniżej opisuje strukturę zaobserwowaną w rzeczywistych eksportach — naszych i dokumentowanych przez społeczność. Pola mogą różnić się między kontami, typami treści i okresami, a Google może zmienić je bez ostrzeżenia. Każde stwierdzenie tutaj oznacza „zwykle występuje”, nigdy „jest gwarantowane umową”.

Do czego służy ten plik

W folderze Google Play Store eksportu plik Purchase History.json zapisuje pozyskania: aplikacje i gry, które pobrałeś, zakupy w aplikacjach oraz rozpoczęte subskrypcje. To przede wszystkim co i kiedy. Informacja ile zwykle znajduje się w sąsiednim pliku Order History.json, który pełni rolę rejestru transakcji: kwoty, waluta oraz pola związane z płatnościami i zwrotami.

Ogólna struktura

Plik jest tablicą JSON z rekordami. Każdy rekord opisuje jedno pozyskanie i zwykle zawiera:

Cena i szczegóły płatności zwykle nie znajdują się w tym pliku; to rola Order History. Połączenie obu plików pozwala uzyskać dla zakupu „nazwa + data + cena”.

Fikcyjny przykład

Poniższy fragment został wymyślony wyłącznie jako ilustracja. Nie zawiera prawdziwych danych użytkownika i jest uproszczonym szkicem, a nie obietnicą nazw pól. Rzeczywisty eksport może zagnieżdżać lub nazywać dane inaczej:

[
  {
    "purchase": {
      "document": {
        "type": "Android App",
        "title": "Example Launcher (fictional)"
      },
      "purchaseTime": "2019-04-12T14:23:00Z",
      "purchaseType": "App"
    }
  },
  {
    "purchase": {
      "document": {
        "type": "In-app item",
        "title": "Example Game - Coin Pack (fictional)"
      },
      "purchaseTime": "2021-11-02T09:05:00Z",
      "purchaseType": "In-app purchase"
    }
  }
]

Aplikacje, zakupy w aplikacji, subskrypcje

W obserwowanych eksportach informacja o typie zakupu pozwala rozdzielić trzy główne kategorie, które interesują większość osób:

KategoriaCo reprezentuje rekordNa co uważać
Aplikacje i gryJednorazowe pozyskanie aplikacji lub gry (płatnej albo bezpłatnej)Mogą pojawić się też darmowe aplikacje: pozyskanie ≠ płatność
Zakupy w aplikacjiPozycje kupione wewnątrz aplikacjiRekord podaje nazwę pozycji; aplikację nadrzędną czasem trzeba wywnioskować z tytułu
SubskrypcjeZdarzenia związane z subskrypcjąOdnowienia i pierwsza subskrypcja mogą być zapisane inaczej; kwot szukaj w Order History

Pola, które przeglądarka powinna ignorować

Order History.json może zawierać pola związane z metodą płatności. Dobrze zaprojektowana przeglądarka lub parser powinien odrzucać je podczas przetwarzania: nigdy ich nie wyświetlać ani nie zapisywać. Przydatna historia to „co, kiedy, za ile”. Dane karty nic do tego nie wnoszą, a tylko zwiększają ryzyko.

Ta sama zasada dotyczy udostępniania: historia zakupów to dane osobowe. Trzymaj eksporty lokalnie i podchodź ostrożnie do każdego narzędzia, które chce je przesyłać.

Jak z tego korzystamyApp Purchase Vault (w wersji beta na Androida) przetwarza właśnie te pliki na Twoim telefonie: Purchase History dla pozycji i dat, Order History dla kwot, przy czym wrażliwe pola płatnicze są odrzucane podczas przetwarzania. Odporność na różnice w schemacie opisana wyżej jest założeniem projektowym, a nie dodatkiem na później.

My zajmiemy się JSON-em.

App Purchase Vault jest w wersji beta na Androida: wybierz ZIP i otrzymaj archiwum z wyszukiwaniem. Tylko na urządzeniu.

Zobacz, jak działa