2016-07-05 140 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消耗品,两个消耗品作为非消耗品。 ... 任何想法 ???

更新: 这两个项目被宣布为非消耗品,并在将其更改为消耗品之前进行了购买。这是这种非理性行为的原因。现在一切正常。