2013-04-26 10 views
7

Sto provando a mettere insieme il codice che simula gli acquisti per un'app di Windows 8 (Store).Simulazione di un acquisto di Windows 8 Store acquisto

Il codice è piuttosto semplice e utilizza l'API di Windows:

var result = await CurrentAppSimulator.RequestProductPurchaseAsync("product", true); 

// this is still false... 
var active = CurrentAppSimulator.LicenseInformation.ProductLicenses["product"].IsActive; 

La prima chiamata apre la finestra di dialogo che mi permette di simulare il codice di ritorno dall'acquisto.

Anche quando si seleziona S_OK, la riga successiva controlla ancora per vedere se la licenza è attiva e restituisce false.

Cosa c'è di sbagliato qui?

+0

Vedere la risposta qui: http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-app-purchase – mydogisbox

risposta

11

Si sta aggiornando il file WindowsStoreProxy.xml? Devi farlo altrimenti l'acquisto non sarà mai impostato su attivo. Non è necessario chiamare RequestAppPurchaseAsync... solo il requestProductPurchaseAsync. fare questo ...

eseguire la vostra applicazione in modalità debug rompere ovunque Aprire Controllo immediato (SHIFT + F9) e immettere Windows.Storage.ApplicationData.current.roamingFolder.path e copiare il valore (la mia era C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState Sfoglia per quella posizione e aprire la directory di Microsoft \ Windows Store \ ApiData aprire il file WindowsStoreProxy.xml in un editor di testo Change CurrentApp/LicenseInformation/App/IsTrial false Change CurrentApp/ListingInformation/Product/MarketData/Name al tuo nome prodotto unico che dovrebbe farlo. Spero che questo aiuti

+0

IsTrial è stato ciò che mi ha ucciso. Grazie! funziona ora –

+0

Felice di aiutarti –

+0

e di ProductId? Devi anche cambiare l'ID prodotto con il nome del tuo prodotto unico, vero? –

3

Non è necessario modificare manualmente l'XML ogni volta, CurrentAppSimulator lo fa automaticamente.

Basta controllare le impostazioni nel WindowsStoreProxy.xml e assicurarsi che 'IsTrial' è impostata su 'false'-

<LicenseInformation> 
    <App> 
     <IsActive>true</IsActive> 
     <IsTrial>false</IsTrial> 
    </App> 
    <Product ProductId="1"> 
     <IsActive>false</IsActive> 
    </Product> 
</LicenseInformation> 

Ricorda - in-app acquisti non funziona nella versione di prova dell'applicazione.