2013-04-14 165 views
3

我的應用程序是用Javascript創建的。我需要它來支持應用程序內購買功能解鎖。Windows 8商店應用程序,如何測試應用程序內購買?

the documentation,它看起來非常簡單。但是,當我試圖實施它。我注意到在從CurrentAppSimulator.requestProductPurchaseAsync返回S_OK之後,CurrentAppSimulator.licenseInformation.productLicenses.lookup(main.licenseName).isActive將不會更改爲true。

然後我發現了這個答案CurrentAppSimulator.RequestProductPurchaseAsync purchasing simulation,提到一些關於在requestProductPurchaseAsync之前撥打RequestAppPurchaseAsync一次的內容。我做了,這樣,我看到了Store兩次彈出。並且選擇S_OK兩次後,isActive設置爲true。但是,這種狀態並不持久。運行這個應用程序(通過按F5進行調試)第二次將清除此標誌,並且整個購買過程必須再次運行。

答案也只提到了「正確的模擬」,但沒有說這個程序是否適用於實時應用商店。我目前有一個Windows應用商店開發人員帳戶,用於在應用程序內購買,但二進制文件尚未上傳。當我嘗試購買CurrentApp時,我收到消息,指出該產品不再可從Windows應用商店獲得。

我想要一些可行的選項,以確保我的應用程序內購買正確實施。

+0

我正在使用phonegap(javascript),並且正在尋找javascript代碼/原生橋,因此我可以在Windows 8中完成應用程序購買。您可以發佈一些示例代碼嗎?謝謝。 – user1017063

回答

3

是否正在更新WindowsStoreProxy.xml文件?你必須這樣做,否則購買永遠不會被設置爲活動。你不需要調用RequestAppPurchaseAsync ...只需要requestProductPurchaseAsync。做到這一點...

  • 以調試模式運行你的應用程序隨時隨地打破
  • 打開快速監視(SHIFT + F9 ),並進入 Windows.Storage.ApplicationData.current.roamingFolder.path和複製 值(我的是C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState
  • 瀏覽到該位置,並打開Microsoft \ Windows應用商店\ ApiData目錄
  • 在文本編輯器
  • 變化CurrentApp/LicenseInformation /應用/我的WindowsStoreProxy.xml文件血管紋假
  • 變化CurrentApp/ListingInformation /產品/ MarketData /名稱自己的獨特的產品名稱

應該這樣做。希望有所幫助。

+0

我很抱歉,您是從哪裏得到這些信息的?這在http://msdn.microsoft.com/en-us/library/windows/apps/hh694067.aspx中沒有提及。 –

+0

我是否應該以編程方式更新此WindowsStoreProxy.xml自己?像純文件讀寫一樣?有沒有API?或者真正的「CurrentApp」會自己做到這一點嗎? –

+1

好的,根據我從微軟論壇獲得的信息,關於WindowsStoreProxy.xml的所有內容僅與模擬器相關,而模擬器不會持續許可證數據。 'CurrentApp'類將處理所有事情。資料來源:http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/58752aa7-5d86-4e14-a44b-3b658e43ab0c/ –

相關問題