在应用程序购买中显示消息“您已拥有此项目”。在android中

时间:2012-12-26 11:12:03

标签: android in-app-purchase

我正在尝试在应用内实施。在Android中,应用程序内部工作正常。但是,当我从设备中删除应用程序并重新安装时,如果我尝试购买,则显示此消息{ {1}}

enter image description here

并且在日志中,我有一个错误(product is Managed and in-app API Version 2),然后我用Google搜索,我发现版本3有更多的响应代码,例如RESULT_DEVELOPER_ERROR

因此,如果已购买产品,则响应必须与BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED类似,而且在第2版中无法做到。

那我该怎么办?我需要实现版本3吗?

3 个答案:

答案 0 :(得分:11)

如果您希望强力购买产品每次,那么产品应不受管理

产品可以是3种类型

1)管理

2)不受管理

3)描述

管理意味着谷歌自己保持记录。因此,通过使用相同的电子邮件ID用户不必支付其费用,例如删除广告

不受管理意味着用户必须每次都购买并且将被收费。例如Pocker筹码

我在开发者网站上阅读了这个例子。

并参考http://developer.android.com/google/play/billing/billing_admin.html

答案 1 :(得分:4)

你有没有看过RESTORE_TRANSACTIONS

我上面描述的问题几乎相同。我的代码大部分取自Market Billing Sample Application

我在我的购买活动中添加了一个RESTORE按钮,该按钮调用BillingService.restoreTransactions例程。

如果您在此页面中搜索RESTORE_TRANSACTIONShttps://developer.android.com/google/play/billing/v2/api.html,您会发现调用该例程会重新触发PURCHASE_STATE_CHANGED广播。

在我的代码中,触发了onPurchaseStateChange例程,其工作方式与初始购买时的工作方式相同,PurchaseState设置为PURCHASED

答案 2 :(得分:2)

我最终在抓住BillingService.restoreTransactions()后致电RESULT_DEVELOPER_ERROR。看起来很奇怪,但工作正常。