2012-05-23 10 views
9

Ho un account utente di test che funziona correttamente per il test negli acquisti di app.Eliminazione di un acquisto in un test di acquisto In App Account utente

Desidero "eliminare" un acquisto da questo account, quindi posso testare l'acquisto più volte. In questo momento, se provo ad acquistare, logicamente dice che l'utente del test ha già acquistato il prodotto in questione.

Posso eliminare un acquisto da un account utente di prova in modo da poter testare lo stesso acquisto più volte. Mi dispiacerebbe dover creare un nuovo Test User ogni volta che voglio testare l'acquisto.

MODIFICA: Ogni volta che provo ad acquistare, visualizzo una finestra di dialogo con "L'hai già acquistato. Tocca OK per scaricarlo nuovamente gratuitamente".

+0

Posso chiarire nuovamente: 1) È questo acquisto in-app o acquistato da App Store? 2) Se si tratta di acquisti in-app, in che modo l'app sa che hai acquistato l'articolo? Lo stato deve essere salvato da qualche parte. – nhahtdh

+0

Questa domanda aiuta: http://stackoverflow.com/questions/7604578/how-can-i-reset-sandboxed-in-app-purchases-on-ios-for-testing? – borrrden

+0

Conosco solo 3 modi per memorizzare i dati: iCloud, sul dispositivo e sul proprio server dell'applicazione. – nhahtdh

risposta

8

Se si desidera testarlo correttamente, è necessario creare un altro utente di test. Tuttavia, non vedo la necessità di questo. Riscaricare un acquisto in-app è un flusso di codice quasi identico. L'effettiva logica di acquisto e verifica non fa parte della tua applicazione e un utente che compra qualcosa più volte non è qualcosa che dovrebbe accadere (a meno che tu non specifichi che è quel tipo di materiale di consumo). Se funziona per la riscaricamento, è sicuro presumere che funzionerà per l'acquisto iniziale.

Non hai accesso a questi dati. Se Apple esponesse un modo per reimpostare gli acquisti, rischierebbero di aprirsi a un rischio per la sicurezza poiché presumo che il loro codice server sandbox sia praticamente identico al loro codice di produzione (altrimenti la sandbox sarebbe priva di significato). Poiché i dati si trovano sui server Apple, associati a un account iTunes, possono estendersi su più dispositivi.

Un'idea alternativa sarebbe quella di eliminare l'acquisto in app da iTunes Connect e crearne uno nuovo.

+3

** [...] "La riscarica di un acquisto in-app è un flusso di codice quasi identico." [...] ** Volevo solo inserire un tono e menzionare il fatto che questa affermazione è vera per un determinato gestore di transazioni. .it non è necessariamente vero per il codice App stesso poiché un acquisto iniziale potrebbe essere trattato in modo sostanzialmente diverso dal ripristino di un vecchio acquisto. – Questor

+1

E per quanto riguarda il codice di convalida del controllo di ricezione? È necessario testare scenari in cui non è presente il prodotto e viceversa con il controllo di ricezione del codice. –

+0

@theReverend Potrebbe essere qualcosa che è necessario prendere in giro (vale a dire a scopo di test, avere un metodo che restituisce SÌ ogni volta e che restituisce NO ogni volta). – borrrden

1

Se il tipo di acquisto in-app è di consumo, è sufficiente reinstallare l'app. Se il tuo acquisto in-app è non acquistabile, dovrai creare altri utenti di prova.

+0

Possiamo cambiare tipo IAP da 'consumabile' a' non-consumabile' prima di rilasciarlo in Appstore? Sarebbe la soluzione per i test. – brigadir

+0

Non possiamo cambiare il tipo di IAP in iTunesConnect dopo averli creati, ma possiamo creare ulteriori IAP "consumabili" a scopo di test. –

Problemi correlati