2013-04-26 9 views
7

Ich versuche Code zu erstellen, der Einkäufe für eine Windows 8 (Store) -App simuliert.Simulieren eines Kaufs von Windows 8 Store-Apps

Der Code ist ziemlich einfach und verwendet den Windows-API:

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

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

Der erste Aufruf den Dialog eröffnet, die ich das Return-Code aus dem Kauf simulieren kann.

Auch wenn ich S_OK wähle, prüft die nächste Zeile immer noch, ob die Lizenz aktiv ist und gibt false zurück.

Was ist hier falsch?

+0

Siehe die Antwort hier: http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-appurchkauf – mydogisbox

Antwort

11

Aktualisieren Sie die Datei WindowsStoreProxy.xml? Sie müssen das tun, sonst wird der Kauf nie auf aktiv gesetzt. Sie brauchen nicht RequestAppPurchaseAsync... zu nennen nur die requestProductPurchaseAsync. dies tun ...

Führen Sie Ihre Anwendung im Debug-Modus überall öffnen Schnellüberwachung (SHIFT + F9) und geben Sie Windows.Storage.ApplicationData.current.roamingFolder.path brechen und kopieren sie den Wert (meins war C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState wechseln sie zu diesem Standort und öffnen sie die Microsoft \ Windows Store \ ApiData Verzeichnis öffnen sie die WindowsStoreProxy.xml Datei in einem Texteditor ändern CurrentApp/LicenseInformation/App/IsTrial auf false ändern CurrentApp/ListingInformation/Product/MarketData/Name zu Ihrem Produktnamen das sollte es tun. Hoffnung, die hilft

+0

Die IsTrial war was mich getötet. Vielen Dank! funktioniert jetzt. –

+0

Froh, Ihnen zu helfen –

+0

Was ist mit ProductId? Sie müssen die ProductId auch zu Ihrem eindeutigen Produktnamen ändern, nicht wahr? –

3

Sie müssen das XML nicht jedes Mal manuell bearbeiten, CurrentAppSimulator führt dies automatisch aus.

einfach überprüfen Sie Ihre Einstellung in der WindowsStoreProxy.xml und dafür sorgen, dass 'IsTrial' gesetzt ‚false'-

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

Denken Sie daran - In-App-Käufe funktionieren nicht in der Testversion der App.

Verwandte Themen