2012-12-13 11 views
22

Ho seguito il corso di "fatturazione in-app v3" di Google. Posso fare un acquisto di un oggetto ma ho un problema.Fatturazione in-app v3 - Non rilevare il rimborso

https://developer.android.com/training/in-app-billing/index.html

Ho annullato e rimborsato il buy ma l'applicazione rilevare il buy come vero. Non riesco a continuare a testare la mia app perché sempre riconosco come acquistato l'oggetto.

L'unico errore che ho trovato nel Logcat è la prossima:

[3687] InAppBillingService.logResponseBundle: Bundle non contiene un codice di risposta

appare dopo il lancio mHelper.queryInventoryAsync (mGotInventoryListener).

Qualche idea?

+0

Buona domanda. Hai trovato la risposta fino ad ora? – lstipakov

+0

Non ho trovato nulla e non so dove cercare di più. – JMPergar

+2

Sono nella stessa barca con questo acquisto rimborsato (un utente di prova) e il sistema continua a credere che l'utente sia autorizzato. API v3 non ha quasi nulla sui rimborsi - l'app di esempio non li indirizza - un'altra API di Google rilasciata a metà per il test della cavia - dovremmo iniziare a fatturarli per questo ... – shrewdlogarithm

risposta

17

p.s. - questo suggerisce ci vuole solo tempo per il rimborso da aggiornare

http://code.google.com/p/marketbilling/issues/detail?id=88#makechanges

Ma io non sono convinto - mi rendo conto che stanno cache dati di acquisto sul dispositivo, ma 24 ore è un tempo lungo ...

Aggiornato per aggiungere che più di 24 ore dopo aver annullato le transazioni di "test", tali account sono ancora concessi in licenza !!

Aggiornato di nuovo - dopo 36 ore l'app era ancora in licenza. Ho disinstallato e reinstallato ed è stato ancora concesso in licenza !!

Aggiornato di nuovo! - Ho effettuato il ripristino di fabbrica del dispositivo, effettuato il login, installato l'app ed era privo di licenza ...

E un altro aggiornamento: una risposta di Google suggerisce che i rimborsi vengono elaborati "automaticamente" ma possono richiedere fino a 72 ore " per essere aggiornato sul dispositivo - non c'è altra via per rilevare un rimborso, in modo che i giocatori ricevano fino a 3 giorni di roba "gratis" se rimborsano - erm, OK questa è In-App e non l'acquisto di app ma ancora, sembra un bit eccessivo?

+3

Mi è capitato anche questo, ma non l'ho fatto t fretta di fare un reset di fabbrica. Dopo alcuni giorni, non ha avuto licenza. Non sono sicuro che siano trascorsi 3 giorni o più ... – grebulon

+0

Penso che faccia cose "non alla fine", ma sicuramente stai guardando i giorni. Non sono sicuro di quale sia la politica di rimborso di Google per le app in-app, se hanno intenzione di distribuire rimborsi facili e i clienti sono saggi a questo (una corsa gratuita di 1-3 giorni), quindi penso che abbiamo un problema qui ... – shrewdlogarithm

+1

Questo è bello sapere! Non mi interessa molto dei tre giorni, finché ciò accadrà alla fine. Per quanto riguarda la politica di rimborso di Google, John, a mio avviso, per gli acquisti in-app non è possibile * nessun * rimborso tramite Google - l'unica risorsa del cliente è quella di inviare e-mail allo sviluppatore chiedendo un rimborso, che l'ente di ricerca concede a lei o la sua discrezione. – Carl

0

Il modo in cui sto lavorando è con un blocco di codice che ignora gli acquisti specifici che ho fatto. Ho una dichiarazione di registro nel codice che stampa le informazioni di acquisto, quindi ho hardcode un elenco nella mia app di PurchaseTimes da ignorare. È un casino e devo ricompilare ogni volta che voglio testare, ma non ho ancora trovato un modo migliore.

0

Dopo aver atteso per circa 12 ore e aver provato tutto ciò che è stato suggerito qui e su thread simili, ero ancora di fronte allo stesso problema. Che cosa ha fatto il trucco per me è stato il seguente comando adb:

adb shell pm chiaro com.android.vending

0

Si può facilmente negare l'acquisto a scopo di test consumando la voce.

Utilizzando campione Trivial Drive I aggiunto il seguente codice nel MainActivity.java che "consuma" l'aggiornamento premio quando l'applicazione si avvia:

Come bonus si ottiene un quarto di serbatoio di gas gratis quando si consumare l'aggiornamento solo perché il campione tratta tutti i consumi come benzina altrove. Cerca MainActivity per "Provisioning" per trovare dove.

Problemi correlati