2017-12-27 328 views
0

我目前使用James Montemagno的InAppBillingPlugin在我的應用程序中部署訂閱程序。使用InAppBillingPlugin恢復購買

它工作正常,但我需要在應用程序中進行恢復購買功能,我遇到了這個問題。

我遵循documentation上說明的過程,但是當我調用函數GetPurchaseAsync()時,我得到的Enumerable對象中沒有任何東西。

You can see the complete object in the picture

我與我的真實蘋果商店帳戶嘗試,我買了一個產品,在生產中的實際應用,並試圖與我在開發應用程序恢復我的購買。

如果有人知道我可以改正這一點,這將是非常有益的!

+0

當一個lib發生意想不到的事情時,我會做什麼,下載它的源代碼,包括我的項目,以完全調試內部發生的事情,以及爲什麼.. –

+0

當您在生產環境中購買時,您無法恢復購買開發。兩者都有單獨的InApp購買網址。 –

回答

0

請勿使用您的真實Apple帳戶在開發環境中測試生產應用程序。它不會工作。
如果您想用開發環境測試您的應用程序內購買。請將您的Apple帳戶更改爲測試用戶帳戶並使用沙箱環境。關於如何創建應用程序自己的測試帳戶,您可以參考:Create a sandbox tester account
請注意,文本「[Environment:Sandbox]」作爲提示的一部分出現,表示您已連接到測試環境。有關如何檢索產品信息的更多詳細信息,請參閱here

+0

謝謝,我知道沙盒,我已經試過了,但枚舉購買只包含沒有任何PurchaseToken的購買,這就是爲什麼我嘗試與生產在應用程序購買... – nicar

+0

@nicar你可以嘗試分享一些關於您購買的產品,我認爲我們可以在沙盒中獲得我們需要的信息。 –

+0

我用來允許恢復購買的代碼: 'var purchases = await billing.GetPurchasesAsync(ItemType.InAppPurchase); 的foreach(在購買VAR購買) { 如果(purchase.PurchaseToken!= NULL)' 在最後的代碼「如果」永遠不會被調用,當我看在購買,我可以看到這一點:[購買可枚舉] (https://imgur.com/upIGZBs) 發送回來的所有對象都包含與TransactionDateUtc完全相同的事物,只有ID不同。這在沙箱中的購買是在不同的日子完成的,這是沒有意義的。 – nicar