最近,当我们在Unity游戏中测试应用内购买时,Google Play的流量发生了变化。我们正在使用Unity自带的In-App Purchasing lib。
当购买开始时,而不是绿色的“购买”按钮,我得到一个灰色的:
每当购买完成,而不是“付款成功”对话框,我会收到“您已将X添加到您的图书馆”:
其他一些补充:
我们所有的产品都标记为消耗品,我最初没有触及代码,因为它最初开发时(当它工作时)。我甚至不确定是什么触发了“你已经将X添加到你的库”流程。
我建立了一个单独的项目,除了一个类型为Consumable,Nonconsumable和Subscription的产品,它们都返回了相同的对话框。
使用相同的APK,它会在某些设备上提供正常的行为,但在其他设备上会出现这种奇怪的行为(因此我们无法释放它,因为我们不确定它是否只是我们或公众会遇到同样的问题)。例如,在Android 5.0设备上,它会显示此行为,而在5.1上则不会,而在6.0上则会显示(注意:所有3个设备之前都显示正确的功能)。
我还测试过它是否与alpha测试仪有关,或被列为免费购买,但似乎并不重要。我还下载了以前的版本(不使用Unity IAP),它显示了相同的错误行为。
有谁知道这里发生了什么?这似乎与Google Play的相关性更多地与Unity
相关答案 0 :(得分:1)
好的,这似乎与Google Play处理测试交易的方式有所变化(即不支付费用的alpha / beta用户的交易)
来自Google Play的邮件:
Hello Google Play Hello,
从2016年6月20日开始,我们将对测试购买进行更改 一次性应用内购买(IAP)。
以前,为一次性IAP测试购买会生成订单ID。 从2016年6月20日开始,一次性IAP将不会生成订单ID和 不会出现在Merchant Center中。此行为已经适用 订阅IAP。
您可以详细了解如何在Android中测试应用内结算 开发人员帮助中心(将使用该信息进行更新 6月20日上方。)
感谢您支持Google Play,
Google Play团队
在页面本身上,有一个注释:
注意:对于测试购买,请将orderId字段留空。您可以使用purchaseToken字段来识别测试购买。
我还没有找到如何实际使用purchaseToken
来验证这一点的示例;购买令牌是加密的或压缩的base64。
Unity的工作人员正在努力解决问题:http://forum.unity3d.com/threads/bizarre-iap-behaviour-on-android.412981/#post-2698038
TL; DR:这仅影响沙箱购买,不会影响实时应用