2016-01-29 78 views
0

所以我想你可以說我覺得我發現自己陷入了空虛。這是我理解distriqt inappbilling順序的方式 - 初始化記賬 的getProducts(send_in_array_of_products) 現在,它的完成我可以發送請求消費,購買等Android設定 distriqt inappbilling - getProducts

我第一次運行它返回的程序產品。我做了一個測試購買,但購買失敗 - 這使它的Android登錄和驗證信用卡 - 然後購買失敗事件被觸發(我不知道爲什麼它在這個時候失敗)。此時我關閉了遊戲並做了一些更新,以跟蹤更多正在發生的事情。

當我第二次運行遊戲獲取產品列表失敗時 - 事實證明它給了我以下錯誤:1003 - 刷新庫存時出錯(查詢擁有的物品)。好吧 - 現在呢?

由於此錯誤,我無法加載getProducts()。我曾嘗試爲每個產品發送消耗並且失敗。看起來我被困在一個地方,因爲我無法加載產品列表,所以我無法對商店做任何事情。

Android說你打算打電話給商店以獲得該人擁有的產品清單,但我沒有在distriqt包中看到該類型的功能。

任何人都可以解釋我必須做些什麼才能讓商店再次運作。如果我不知道他們擁有哪些產品,我該如何通過忽略他們擁有的產品來申請產品清單?此外,如果我確實知道他們擁有什麼 - 不應該消費(產品)將其從購買的產品中刪除?

有誰知道如果您可以先運行消耗(產品)而不先執行getProducts()命令?

感謝您提供的任何幫助。

+0

您應該考慮添加更多的上下文和標籤,以便有機會充分了解您的問題以回答您的問題的人可以回答它。另外,如果可能的話,你應該包括一些代碼示例。 – kazagistar

回答

0

這個答案確實適用於Distriqt InAppBilling ANE,但它可能會幫助其他人使用不同的編程方法來解決同樣的問題。大約一個星期後,我終於搞清楚了。

您必須確保呼叫的

InAppBilling.service.finishPurchase(purchase-information)

命令。

否則,Play商店將會將其視爲未完成交易,並在您嘗試獲取產品列表時失敗,並顯示錯誤代碼1003 - Error refreshing inventory (querying owned items)

爲了解決這個問題,我向所有的產品進​​行了finishPurchase調用。一旦完成,一切都開始正常工作了。只要確保在所有退回的購買事件中調用finishPurchase命令。我在失敗事件中錯過了那次電話,那是我頭痛的一次。你會認爲,如果購買失敗,谷歌會關閉交易,但沒有 - 你仍然必須告訴他們已完成。希望這可以幫助別人!

+0

嗨,很高興你找到了解決方案。 'finishPurchase'函數用於在完成購買之前對交易執行服務器端驗證。欲瞭解更多信息,你可以在這裏閱讀入門指南,關於「進行購買」的部分強調了這一信息:http://airnativeextensions.com/extension/com.distriqt.InAppBilling#get-started Cheers – Michael

+0

此外,作爲一方請注意,如果您持有支持許可證,您可以通過發佈到github存儲庫中獲得積極的支持。 – Michael

相關問題