我目前正在为未来的应用程序测试应用内计费,在我第一次成功“购买”测试项目"android.test.purchased“之后,现在每次我尝试再次购买它时都会收到响应代码7,这意味着我已经拥有了这个项目。
12-15 23:02:14.149: E/IabHelper(19829):应用内计费错误:无法购买商品,错误响应:7:商品已经拥有
据我所知,这种购买应该总是有可能的,对吧?以便开发人员可以测试他/她的应用程序?
如果没有,我如何才能将其状态“重置”为not owned?我使用的是Google In-App Billing示例中的util包。
发布于 2012-12-16 08:30:20
事实证明,android.test.purchased项的行为就像一个普通的ID,这意味着如果你想再次购买它,你必须在你的代码中的某个地方消费它。我认为Google文档在这个问题上具有误导性,他们应该添加另一个静态ID,您可以出于测试目的无休止地购买该ID。
发布于 2012-12-20 16:27:01
将此代码添加到线程以发起消费请求。
int response = mService.consumePurchase(3, getPackageName(), purchaseToken);
这里是购买测试,purchaseToken是
purchaseToken = "inapp:" + getPackageName() + ":android.test.purchased";
和
if (response == 0)
则消费成功。
另外,不要忘了将mService在
IabHelper.Java
那么就可以像这样访问:
int response = mHelper.mService.consumePurchase(3, getPackageName(), purchaseToken);
发布于 2015-05-12 06:46:04
不需要编写任何特殊的消耗代码。只需使用adb命令清除Google Play Store数据:
adb shell pm clear com.android.vending
https://stackoverflow.com/questions/13896666
复制相似问题