繁体   English   中英

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

[英]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_TRANSACTIONShttps//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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM