簡體   English   中英

如何使Metro應用內購買有效?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM