Google IAB奇怪的流量变化

时间:2016-06-24 13:53:17

标签: android unity3d transactions in-app-purchase

最近,当我们在Unity游戏中测试应用内购买时,Google Play的流量发生了变化。我们正在使用Unity自带的In-App Purchasing lib。

当购买开始时,而不是绿色的“购买”按钮,我得到一个灰色的:

enter image description here

每当购买完成,而不是“付款成功”对话框,我会收到“您已将X添加到您的图书馆”:

enter image description here

其他一些补充:

  • 购买时未返回任何交易ID
  • 在Google发送的关于交易的邮件中,订单号是作为一串随机字符而非正常交易而来的:例如“订单号:onhgdhidhdablpedjbjjibck”“订单号:pgaeenegbjfmjhojijgahhhd”。以前成功的交易将具有交易ID,如“订单号:GPA.1345-9954-0950-90739”
  • 当我查看Google Play中的订单历史记录>帐户>订单历史记录,几天前(23日之前)的交易都标有价格,而这些新的(23日)标有价格€0.00:

enter image description here

我们所有的产品都标记为消耗品,我最初没有触及代码,因为它最初开发时(当它工作时)。我甚至不确定是什么触发了“你已经将X添加到你的库”流程。

我建立了一个单独的项目,除了一个类型为Consumable,Nonconsumable和Subscription的产品,它们都返回了相同的对话框。

使用相同的APK,它会在某些设备上提供正常的行为,但在其他设备上会出现这种奇怪的行为(因此我们无法释放它,因为我们不确定它是否只是我们或公众会遇到同样的问题)。例如,在Android 5.0设备上,它会显示此行为,而在5.1上则不会,而在6.0上则会显示(注意:所有3个设备之前都显示正确的功能)。

我还测试过它是否与alpha测试仪有关,或被列为免费购买,但似乎并不重要。我还下载了以前的版本(不使用Unity IAP),它显示了相同的错误行为。

有谁知道这里发生了什么?这似乎与Google Play的相关性更多地与Unity

相关

1 个答案:

答案 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:这仅影响沙箱购买,不会影响实时应用