我很难使用Unity的跨平台GooglePlay InApp购买服务。 我正在粘贴下面的链接,从中我已经遵循了我的实施。
https://docs.unity3d.com/Manual/UnityIAPProcessingPurchases.html
问题是:
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) {}
每次调用此方法。每次我的意思是,即使没有互联网连接,也会调用此函数并返回PurchaseProcessingResult.Complete。我想知道并且不知道在成功购买后我应该解锁锁定的物品。如果即使没有连接就调用了这个函数,我也不知道该说什么....在演示中,我在检查产品ID后看到了这个特定方法中的解锁逻辑。
有人可以指导我使用Google Play的收据验证进行正确的实施。我在Apple中测试了相同的逻辑,似乎工作正常。
问题在于Google商店。请有人指导我做正确的实施。
我遵循此链接中建议的相同实现: https://unity3d.com/learn/tutorials/topics/analytics/integrating-unity-iap-your-game 看看附带的截图。您可以看到google native inapp弹出,同时调用onPurchaseFailed函数。这就是我如何显示购买错误对话框。你可以看到谷歌原生inapp对话框背后的行动。与此同时,ProcessPurchase也被称为。
顺便说一下,这种行为是随机的。 70%的时间,我得到谷歌inapp原生弹出窗口和交易成功的大部分时间。它大部分时间都按预期工作。但偶尔也会调用ProcessPurchase和OnPurchaseFailed。这种随机行为表明Unity IAP模块中必定存在问题,或者其行为在所有Android设备中都不一致..... 不要在本机对话框中因谷歌帐户验证错误而感到困惑。我的其他有效帐户也是如此......答案 0 :(得分:0)
最后我找到了自己问题的答案......
我同时触发两次购买电话。
在团结中,我意外地将一个按钮放在另一个下面。这是两次触发IAP呼叫的一次......删除之后,一切都开始正常工作....
我有另一个问题,8个非消耗品和4个消耗品,两个消耗品作为非消耗品....任何想法???
更新: 这2件物品被宣布为非消耗品,并在将其更换为消耗品之前进行了购买。这就是这种不正常行为的原因。现在一切正常。