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.
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:
- Opis dokumentu: tytuł pozycji i często typ odróżniający aplikację Androida od innych treści.
- Znacznik czasu zakupu: moment pozyskania.
- Typ zakupu: rozróżniający na przykład zakup aplikacji, zakup w aplikacji i subskrypcję.
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:
| Kategoria | Co reprezentuje rekord | Na co uważać |
|---|---|---|
| Aplikacje i gry | Jednorazowe pozyskanie aplikacji lub gry (płatnej albo bezpłatnej) | Mogą pojawić się też darmowe aplikacje: pozyskanie ≠ płatność |
| Zakupy w aplikacji | Pozycje kupione wewnątrz aplikacji | Rekord podaje nazwę pozycji; aplikację nadrzędną czasem trzeba wywnioskować z tytułu |
| Subskrypcje | Zdarzenia 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ć.
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.