2013-04-26 8 views
7

Próbuję utworzyć kod symulujący zakupy dla aplikacji Windows 8 (Store).Symulowanie Windows 8 Przechowywanie kupowanych aplikacji

Kod jest dość prosta i korzysta z Windows API:

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

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

Pierwsze połączenie otwiera się okno dialogowe, które pozwala mi symulować kod zwrotny od zakupu.

Nawet gdy wybiorę S_OK, następny wiersz nadal sprawdza, czy licencja jest aktywna i zwraca wartość false.

Co jest nie tak?

+0

Zobacz odpowiedź tutaj: http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-app-purchase – mydogisbox

Odpowiedz

11

Czy aktualizujesz plik WindowsStoreProxy.xml? Musisz to zrobić, w przeciwnym razie zakup nigdy nie zostanie ustawiony na aktywny. Nie trzeba zadzwonić RequestAppPurchaseAsync... tylko requestProductPurchaseAsync. to zrobić ...

Uruchom aplikację w trybie debugowania zerwania wszędzie Otwórz QuickWatch (Shift + F9) i wprowadź Windows.Storage.ApplicationData.current.roamingFolder.path i skopiować wartość (mój był C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState Przejdź do tej lokalizacji i otworzyć katalog Microsoft \ Windows Store \ ApiData otwórz plik WindowsStoreProxy.xml w edytorze tekstowym Zmień CurrentApp/LicenseInformation/App/IsTrial do fałszywego zmian CurrentApp/ListingInformation/Product/MarketData/Name do swojej unikalnej nazwy produktu to powinno wystarczyć. Nadzieję, że pomaga.

+0

IsTrial była tym, co mnie zabiło. Dzięki! działa teraz. –

+0

Cieszę się, że mogę Ci pomóc –

+0

co z ProductId? Musisz zmienić ProductId na swoją unikalną nazwę produktu, prawda? –

3

Nie musisz ręcznie edytować kodu XML za każdym razem, CurrentAppSimulator robi to automatycznie.

Wystarczy sprawdzić ustawienie w WindowsStoreProxy.xml i upewnić się, że „IsTrial” jest ustawione „false'-

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

Pamiętaj - zakupy w aplikacji nie działa w wersji testowej aplikacji.

Powiązane problemy