Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用内购买:如何消费?_Android_In App Purchase_In App Billing - Fatal编程技术网

Android应用内购买:如何消费?

Android应用内购买:如何消费?,android,in-app-purchase,in-app-billing,Android,In App Purchase,In App Billing,我已经在我的应用程序中实现了谷歌应用内计费V3,并进行了第一次测试购买。现在,正如我所看到的,我希望它是可消费的,但是如果我再次单击“购买”按钮,我会收到一个错误,我想知道如何以及在哪里插入“消费购买”。我整天都在电脑上搜索每一条线索,但我对同一条线索的旧版本感到困惑。从我看到的情况来看,我需要在成功购买商品之后以及创建活动时调用consumePurchase,但我不知道如何执行 这是唯一一行代码吗 int response = mService.consumePurchase(3, getPa

我已经在我的应用程序中实现了谷歌应用内计费V3,并进行了第一次测试购买。现在,正如我所看到的,我希望它是可消费的,但是如果我再次单击“购买”按钮,我会收到一个错误,我想知道如何以及在哪里插入“消费购买”。我整天都在电脑上搜索每一条线索,但我对同一条线索的旧版本感到困惑。从我看到的情况来看,我需要在成功购买商品之后以及创建活动时调用consumePurchase,但我不知道如何执行

这是唯一一行代码吗

int response = mService.consumePurchase(3, getPackageName(), token);
如果是,什么是“代币”

另外,消耗品包括:50、150和300枚硬币,用户可以购买这些硬币来在游戏中获得一些优势


啊,真让我困惑:/

如官方文件所述:

对购买的响应意向包括几个字段,其中一个字段是:

INAPP\u PURCHASE\u数据包含详细信息的JSON格式字符串 关于采购订单。有关JSON的描述,请参见表4 田地

在该JSON中,您有几个字段,也在该页面中进行了解释,您要查找的字段是:

purchaseToken唯一标识给定客户购买的令牌 项目和用户对


所有这些都很容易从官方示例应用程序中理解,我建议您下载并试用,同时检查代码。

好的,我已经解决了。而不是使用:

int response = mService.consumePurchase(3, getPackageName(), token); 
遵循以下思路:


好的,谢谢。但是,我必须把response=mService.consumerpurchase(3,getPackageName(),token)放在哪里?每次我在活动中粘贴这一行时,我都需要用try/catch来包围它,但它不起作用。我已经下载了该应用程序,但它又完全不同了。这与官方教程不同,游戏的代码类似于“base64”ecc。你必须在你的应用程序完成所需的任何东西(即虚拟货币)后消费购买。如果你没有进行任何服务器端验证,那么在收到购买通知后,该位置可能是直接的。在代码中,当购买完成时,我是否应该使用当前物品?这有多重要?我怎样才能看到我购买的物品?谢谢,这对我很有用。无论如何,当用户进行购买时,最好将代币存储在设备或服务器中,这样你就不必向谷歌请求所有购买,然后在循环中搜索你需要消费的代币