Google Play Purchase History.json spiegato
Purchase History.json è il cuore di un’esportazione Google Play da Takeout: l’elenco leggibile da macchina di ciò che hai acquisito e quando. Questa pagina ne spiega il ruolo e la struttura generale, con un’importante precisazione sulle garanzie.
Prima, la precisazione: nessuno schema pubblicato
Google non pubblica uno schema formale e versionato per i file Play di Takeout. Tutto ciò che segue descrive la struttura così come è stata osservata in esportazioni reali, nostre e documentate dalla community. I campi possono differire tra account, tipi di contenuto e periodi, e Google può modificarli senza preavviso. Ogni affermazione qui significa “in genere presente”, mai “garantito contrattualmente”.
A cosa serve il file
Dentro la cartella Google Play Store dell’esportazione, Purchase History.json registra le acquisizioni: app e giochi ottenuti, acquisti in-app effettuati, abbonamenti avviati. Pensalo come il cosa e quando. Il quanto si trova in genere nel file accanto, Order History.json, che contiene il registro delle transazioni: importi, valuta, campi relativi a pagamenti e rimborsi.
Struttura generale
Il file è un array JSON di record. Ogni record descrive un’acquisizione e contiene in genere:
- Una descrizione del documento: il titolo dell’elemento e spesso un tipo che distingue un’app Android da altri contenuti.
- Un timestamp di acquisto: quando è avvenuta l’acquisizione.
- Un tipo di acquisto: per distinguere, ad esempio, un acquisto di app da un acquisto in-app o da un abbonamento.
Prezzo e dettagli di pagamento di solito non si trovano in questo file; è compito di Order History. Unire i due è il modo per ottenere “nome + data + prezzo” di un acquisto.
Un esempio fittizio
Il frammento qui sotto è inventato a scopo illustrativo. Non contiene dati reali di utenti ed è uno schema semplificato, non una promessa sui nomi dei campi. Un’esportazione reale può annidare o nominare le informazioni in modo diverso:
[
{
"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"
}
}
]
App, IAP, abbonamenti
Nelle esportazioni osservate, le informazioni sul tipo di acquisto permettono di separare le tre grandi categorie che interessano agli utenti:
| Categoria | Cosa rappresenta un record | A cosa fare attenzione |
|---|---|---|
| App & giochi | Acquisizione una tantum di un’app o di un gioco (a pagamento o gratuito) | Possono comparire anche app gratuite: acquisizione ≠ pagamento |
| Acquisti in-app | Elementi acquistati all’interno di un’app | Il record indica il nome dell’elemento; l’app principale può dover essere dedotta dal titolo |
| Abbonamenti | Eventi relativi agli abbonamenti | I rinnovi e l’abbonamento iniziale possono essere registrati in modo diverso; controlla Order History per gli importi |
Campi che un visualizzatore dovrebbe ignorare
Order History.json può contenere campi relativi al metodo di pagamento. Un visualizzatore o parser ben progettato dovrebbe scartarli durante l’elaborazione: mai mostrarli, mai salvarli. La cronologia utile è “cosa, quando, quanto”. I dati della carta non aggiungono nulla, solo rischio.
La stessa disciplina vale per la condivisione: la cronologia degli acquisti è un dato personale. Mantieni le esportazioni in locale e guarda con sospetto qualsiasi strumento che voglia caricarle online.
Ci occupiamo noi del JSON.
App Purchase Vault è in beta su Android: scegli lo ZIP e ottieni un archivio che puoi cercare. Solo sul dispositivo.