[英]How to get Metro in-app purchases to work?
我正在嘗試在Metro應用程序中啟用應用程序內購買功能,但似乎根本無法使用。 我沒有收到任何錯誤,並且返回值是一個空字符串。 我的代碼如下所示:
await CurrentAppSimulator.RequestProductPurchaseAsync("bonus", false);
if (!licenseInformation.ProductLicenses["bonus"].IsActive) {
error="purchase didn't work?";
}
而且我得到了錯誤。 我確保擁有WindowsStoreProxy.xml文件。 看起來像這樣。
<Product ProductId="bonus" LicenseDuration="10">
<MarketData xml:lang="en-us">
<Name>Bonus pretend feature</Name>
<Price>1.00</Price>
<CurrencySymbol>$</CurrencySymbol>
<CurrencyCode>USD</CurrencyCode>
</MarketData>
</Product>
...
<LicenseInformation>
<App>
<IsActive>true</IsActive>
<IsTrial>true</IsTrial>
</App>
<Product ProductId="bonus">
<IsActive>false</IsActive>
</Product>
</LicenseInformation>
我認為此文件已讀,因為如果我在下方放置“ true”,則我的應用程序會將此特定產品視為已購買。 我檢查了文檔 ,看來我在做什么。
當代碼調用RequestProductPurchaseAsync時,出現一個對話框,要求我選擇一個返回值。 我選擇S_OK,然后單擊Continue。 我得到一個空字符串作為返回值。 問題是,無論我輸入的字符串是第一個參數如何,我都得到相同的結果。
我肯定錯過了什么。 我究竟做錯了什么? 我如何診斷這個東西?
編輯:顯然,使這項工作的竅門是確保您的應用程序不在試用模式下-這是默認設置。
但是該如何診斷呢? 出現問題時如何獲得錯誤消息,如何獲得該API的有用信息,例如“由於應用處於試用模式而導致購買失敗”?
看到我也在和其他人爭這個問題。 我已經實現了代碼,我的應用程序也在商店中,對此也沒有任何投訴...我將逐步解釋
1->我希望您熟悉應用內購買鏈接中的代碼
2->默認情況下,您需要啟用該應用程序。 您無法在從開發人員計算機運行的試用模式下完成相同的操作。
3->一旦這部分代碼
await CurrentAppSimulator.RequestProductPurchaseAsync("product1");
並在實時運行時將currentappsimulator更改為currentapp。
在Windows商店處理的整個過程中執行。
4->如果應用程序內購買產品不在商店中(將應用程序上載產品上傳到商店時需要列出所有應用程序內購買產品),則會自動給出該產品不存在的錯誤。
5->如果沒有信用卡信息,它將自動給出錯誤消息。
所有這些都是由Windows store處理的,您只需要在那里購買所有應用程序內的應用程序即可。 現在,客戶端應用程序(您的應用程序)和Windows商店之間的財務交易是什么?我不能說與Google進行其他任何業務一樣,您需要花一些錢。
無法提供試用版的原因:如果他們提供了自己的方式來從某些帳戶中扣除款項,那么分布在powershell文件上的試用版應用程序甚至會有助於應用程序購買,因此也是不合法的: )
上次我停止回答這樣的問題時,沒有人相信我。如果願意,您可以繼續探索更多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.