2016-07-05 141 views
0

我很難與Unity的跨平臺GooglePlay InApp購買服務一起工作。 我粘貼下面的鏈接,從中我一直遵循我的實現。Unity跨平臺InApp購買服務

https://docs.unity3d.com/Manual/UnityIAPProcessingPurchases.html

的問題是:

public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) {} 

這種方法被稱爲每次。每次我的意思是,即使沒有互聯網連接,該函數也會被調用並返回PurchaseProcessingResult.Complete。我想知道並且沒有線索,我應該在成功購買後解鎖鎖定的物品。如果這個函數被調用,即使沒有相互連接,我也不知道該說什麼....在演示中,我在檢查產品ID後在這個特定方法中看到了解鎖邏輯。

有人可以指導我正確實施與谷歌播放接收驗證。我在蘋果測試了相同的邏輯,並且它似乎工作正常。

問題出在Google商店。請有人指導我正確實施。

我遵循相同的實現什麼建議在此鏈接: https://unity3d.com/learn/tutorials/topics/analytics/integrating-unity-iap-your-game 看看附加的截圖。你可以看到谷歌原生的inapp彈出,同時,onPurchaseFailed函數被調用。這就是我顯示購買錯誤對話框的方式。你可以看到在谷歌本地inapp對話框後面的動作。同時,ProcessPurchase也被調用。

順便說一句,這種行爲是隨機的。 70%的時間,我得到谷歌inapp原生彈出,大部分時間交易成功。其大部分時間都按預期工作。但是ProcessPurchase和OnPurchaseFailed都會偶爾調用。這種隨機行爲表明,在Unity IAP模塊中肯定有問題,或者其行爲在所有Android設備中都不一致..... 不要因本地對話框中的Google帳戶驗證錯誤而感到困惑。其不變的情況下與我的其他有效的帳戶太....

enter image description here

+1

Unity在任何平臺上都使用集中處理程序來管理IAP。所以,如果你的iOS代碼工作,它也應該在Android中工作。但問題的質量很差。你應該添加代碼或圖片,讓我們來幫助你...按照這個教程 - > https://www.youtube.com/watch?v=GLmwpz5JAwY – Cabrra

+0

嗨Cabrra,更新我的問題。我沒有把代碼放在那裏。它是我從我貼在那裏的鏈接複製來的。您可以查看屏幕截圖,並在原始問題 – Kenshin

+0

中添加了我的意見,並且在發生此問題時,這是它引發的消息「PurchaseFailureReason.ExistingPurchasePending」 – Kenshin

回答

0

最後我發現我自己的問題的答案...

我被觸發應用程式內購買電話同時兩次。

在統一中,我意外地把一個按鈕放在另一個下面。這是一次觸發IAP呼叫兩次......刪除後,一切開始正常工作....

我有另一個問題,在8非消耗品和4消耗品,兩個消耗品作爲非消耗品。 ... 任何想法 ???

更新: 這兩個項目被宣佈爲非消耗品,並在將其更改爲消耗品之前進行了購買。這是這種非理性行爲的原因。現在一切正常。