2013-04-26 2 views
7

Я пытаюсь собрать код, который имитирует покупки для приложения Windows 8 (Store).Имитация покупки приложений для Windows 8

код довольно прост и использует API для Windows:

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

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

Первый вызов открывает диалоговое окно, которое позволяет мне имитировать код возврата от покупки.

Даже когда я выбираю S_OK, следующая строка по-прежнему проверяет, активна ли лицензия и возвращает значение false.

Что здесь не так?

+0

См. Ответ здесь: http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-app-purchase – mydogisbox

ответ

11

Вы обновляете файл WindowsStoreProxy.xml? Вы должны сделать это, иначе покупка никогда не будет установлена ​​на активную. Вам не нужно звонить RequestAppPurchaseAsync... только requestProductPurchaseAsync. это сделать ...

Запустите приложение в режиме отладки нарушения в любом месте Open QuickWatch (SHIFT + F9) и введите Windows.Storage.ApplicationData.current.roamingFolder.path и скопировать значение (шахта C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState Просмотра в эту папку и откройте папку Microsoft \ Windows Store \ ApiData откройте WindowsStoreProxy.xml файл в текстовом редакторе Изменить CurrentApp/LicenseInformation/App/IsTrial ложных Изменить CurrentApp/ListingInformation/Product/MarketData/Name для вашего уникального имени продукта это должно сделать это. Надеюсь, что это поможет.

+0

IsTrial - это то, что меня убило. Благодаря! работает сейчас. –

+0

Рад помочь вам –

+0

Что относительно ProductId? Вам также нужно изменить ProductId на свое уникальное название продукта, не так ли? –

3

Вам не нужно вручную редактировать XML каждый раз, CurrentAppSimulator делает это автоматически.

Просто проверьте ваши настройки в WindowsStoreProxy.xml и убедитесь, что «IsTrial» установлено «false'-

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

Помните - В приложении покупки не работает в Trial версии приложения.

Смежные вопросы