首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >应用内计费测试: android.test.purchased已拥有

应用内计费测试: android.test.purchased已拥有
EN

Stack Overflow用户
提问于 2012-12-16 06:09:07
回答 15查看 66.8K关注 0票数 129

我目前正在为未来的应用程序测试应用内计费,在我第一次成功“购买”测试项目"android.test.purchased“之后,现在每次我尝试再次购买它时都会收到响应代码7,这意味着我已经拥有了这个项目。

12-15 23:02:14.149: E/IabHelper(19829):应用内计费错误:无法购买商品,错误响应:7:商品已经拥有

据我所知,这种购买应该总是有可能的,对吧?以便开发人员可以测试他/她的应用程序?

如果没有,我如何才能将其状态“重置”为not owned?我使用的是Google In-App Billing示例中的util包。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2012-12-16 08:30:20

事实证明,android.test.purchased项的行为就像一个普通的ID,这意味着如果你想再次购买它,你必须在你的代码中的某个地方消费它。我认为Google文档在这个问题上具有误导性,他们应该添加另一个静态ID,您可以出于测试目的无休止地购买该ID。

票数 69
EN

Stack Overflow用户

发布于 2012-12-20 16:27:01

将此代码添加到线程以发起消费请求。

代码语言:javascript
复制
int response = mService.consumePurchase(3, getPackageName(), purchaseToken);

这里是购买测试,purchaseToken是

代码语言:javascript
复制
purchaseToken = "inapp:" + getPackageName() + ":android.test.purchased";

代码语言:javascript
复制
if (response == 0)

则消费成功。

另外,不要忘了将mService在

IabHelper.Java

那么就可以像这样访问:

代码语言:javascript
复制
int response = mHelper.mService.consumePurchase(3, getPackageName(), purchaseToken);
票数 110
EN

Stack Overflow用户

发布于 2015-05-12 06:46:04

不需要编写任何特殊的消耗代码。只需使用adb命令清除Google Play Store数据:

代码语言:javascript
复制
adb shell pm clear com.android.vending
票数 99
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13896666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档