IAB consumePurchase()不再适用于静态响应android.test.purchased

时间:2013-03-10 15:44:41

标签: android in-app-billing

我们的测试版应用使用android.test.purchased,因此客户可以免费测试。但最近有消耗这些测试产品的事情。购买过程仍然正常,但是当我们尝试消费时:

int response = ms.consumePurchase(3, mContext.getPackageName(), token);

现在总是返回RESULT_DEVELOPER_ERROR == 5。传递的数据看似有效,令牌为inapp:com.lootworks.swords:android.test.purchased,我认为这对于静态测试产品是正确的。

同时我们所有早期的应用程序版本也停止了工作,我们没有更改我们的代码,所以看起来IAB本身似乎发生了一些变化。

我还测试了真实($)产品的购买/消费,并且它使用相同的代码成功。所以消费问题似乎只影响静态响应测试项目。

2 个答案:

答案 0 :(得分:6)

借助肖恩的帮助和一些额外的测试,这似乎是谷歌播放IAB回归。已经打开了一个错误https://code.google.com/p/android/issues/detail?id=53077

答案 1 :(得分:2)

我和我的团队遇到了同样的问题。应用消费代码没有任何改变,所以很奇怪。该应用程序还没有发布就绪,所以我们还有很多其他工作要做,但这肯定会让一个猴子扳手进行测试。

这对您来说可能不是一个选项,但您可以更改命名空间,删除开发控制台中的应用程序条目,然后完成制作新条目的过程,再次分割密钥等等。

我只建议这个,因为这个问题似乎并没有发生在所有应用中。无论如何,如果我们的应用程序中的消耗不能很快再次开始神奇地工作,那么我们将尝试这样做。