2012-02-22 14 views
5

Sto cercando di utilizzare la ricevuta del negozio iOS per capire la differenza tra un acquisto e un Nuovo download, sulla base del original_purchase_date e/o original_transaction_id. Indipendentemente dal fatto che una transazione sia un nuovo acquisto o un nuovo download, la ricevuta del negozio restituisce sempre un nuovo valore_acquisto_originale, che è uguale al valore purchase_date.iOS in-app ricevuta di acquisto non restituire un original_purchase_date per un redownload

Ecco una vera e propria ricevuta del negozio sono tornato (che è un redownload di uno esistente in app purchase - come Attualmente sto dover fare affidamento su di monitoraggio UDID per distinguerli)

{ 
    "product_id": "com.myproduct.id", 
    "original_purchase_date_ms": "1329825956382", 
    "purchase_date_ms": "1329825956382", 
    "original_purchase_date": "2012-02-21 12:05:56 Etc/GMT", 
    "purchase_date":   "2012-02-21 12:05:56 Etc/GMT", 
    "bvrs": "1.0", 
    "original_purchase_date_pst": "2012-02-21 04:05:56 America/Los_Angeles", 
    "purchase_date_pst":   "2012-02-21 04:05:56 America/Los_Angeles", 
    "original_transaction_id": "1000000028387131", 
    "transaction_id":   "1000000028387131", 
    "item_id": "452671574", 
    "quantity": "1", 
    "bid": "com.mybundle.id" 
} 

Indipendentemente dal fatto che sto utilizzando l'URL sandbox e la sperimentazione con un itunes prova collegare conto, o se la sua un acquisto dal vivo utilizzando l'URL dal vivo per verifica della ricevuta, questi valori sono sempre identici:

original_purchase_date_ms == purchase_date_ms 
original_purchase_date == purchase_date 
original_purchase_date_pst == purchase_date_pst 
original_transaction_id == transaction_id 

sbaglio nel pensare che queste sono ciò che dovresti usare per dire al diff tra un nuovo acquisto e un nuovo download dello stesso acquisto? Ovviamente tracciare l'UDID del dispositivo/creare un GUID dell'app e tracciare quello, è un modo per farlo ma non è abbastanza preciso (ad es. Utenti che hanno più dispositivi)

Qualcun altro ha questo problema dove questi valori sono SEMPRE identici?

Qualsiasi aiuto su questo è molto apprezzato! Ho esaurito tutti gli altri percorsi e sperando che qualcuno qui sia a conoscenza della risposta.

risposta

1

Dipende da cosa intendi con "riscarica".

Il original_purchase_date dovrebbe differire da purchase_date solo quando si è ripristino l'acquisto, in modo che lo SKPaymentTransaction si SKPaymentTransactionStateRestored ritorna. Se è il caso, c'è qualcosa di sbagliato.

In caso contrario, ad esempio, se si effettua il riacquisto di un acquisto di consumo, le date saranno le stesse tutte le volte e tutto è a posto.

+0

Ciao, grazie per la risposta. Sì, intendevo il ripristino di un acquisto originale, quindi quando qualcuno elimina l'app dal telefono e i download in app vengono eliminati anche - quando reinstallano l'app e ripristinano gli acquisti in app - immagino che la data di acquisto originale debba differire dalla data di acquisto - tuttavia in tutti i casi sono uguali per me – user1225584

+1

Se si dispone di un abbonamento auto-rinnovabile, la data di acquisto originale dovrebbe essere la data dell'acquisto del primo periodo. –