[英]In app purchase displays message “you already own this item.” in android
我正在尝试在应用程序中实现。 在Android中,in-app工作正常。但是,当我从设备中删除应用程序并重新安装它时,如果我尝试购买,它会显示此消息(product is Managed and in-app API Version 2)
在日志中,我有一个错误RESULT_DEVELOPER_ERROR
,然后我用Google搜索,我发现版本3有更多的响应代码,如BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED
因此,如果已购买产品,则响应必须类似于BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED
,这在版本2中是不可能的。
那我该怎么办? 我需要实现版本3吗?
如果你想强制每次购买产品,那么产品应该是Unmanaged 。
产品可以有3种类型
1)管理
2)不受管理
3)描述
管理意味着谷歌自己保持记录。 因此,通过使用相同的电子邮件ID,用户无需支付费用,例如删除广告
不受管理意味着用户必须每次都购买并且将被收费。 例如Pocker芯片
我在开发者网站上阅读了这个例子。
并参考http://developer.android.com/google/play/billing/billing_admin.html
你有没有看过RESTORE_TRANSACTIONS
?
我上面描述了几乎相同的问题。 我的代码大部分来自市场结算示例应用程序 。
我在我的购买活动中添加了一个RESTORE按钮,该按钮调用BillingService.restoreTransactions
例程。
如果您在此页面中搜索RESTORE_TRANSACTIONS
: https : //developer.android.com/google/play/billing/v2/api.html ,您会发现调用该例程会重新触发PURCHASE_STATE_CHANGED
广播。
在我的代码中,触发了onPurchaseStateChange
例程,它的工作方式与初始购买时的工作方式相同, PurchaseState
设置为PURCHASED
。
我最终在捕获RESULT_DEVELOPER_ERROR
后调用了BillingService.restoreTransactions()
。 看起来很奇怪,但工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.