通过应用内计费查看付费应用版本

Posted

技术标签:

【中文标题】通过应用内计费查看付费应用版本【英文标题】:Check the paid app version through in-app billing 【发布时间】:2016-04-01 00:13:13 【问题描述】:

我的应用在 Google Play 中有两个版本免费付费

我想将 inappbillingv3 添加到免费版本,并从 Google Play 中删除付费版本。

如果用户安装了免费版并购买了升级到专业版的物品,那么我可以知道他们是否已经安装了付费版吗?

【问题讨论】:

如果有人在服务器上升级专业版,你会存储吗? 如果人们购买物品进行升级,那么免费版本的所有限制都将在免费版本中删除。但是如果人们已经安装了付费版本;升级对话框不显示并删除免费版本的所有限制。我想删除 googleplay 上的付费版本并添加免费版本的应用程序(我的目的不是他们的受害者) 免费版本之间的所有限制将在免费版本中删除,升级对话框不显示并删除免费版本中的所有限制有什么不同? 在免费版本中人们看不到某些类别和选项。在付费版本中,人们可以查看所有类别并控制所有选项。我很厌倦处理两个应用程序,所以我想删除 googleplay 上的付费版本并将 appbilling 添加到免费版本。当用户购买 pro sku 时,所有限制都将被取消,但如果人们已经付费版本升级将在购买对话框中免费.. 那么我该如何控制呢? 如果人们在服务器上的数据库中有付费版本,你必须有存储。所以在显示购买对话框之前检查人们是否有付费版本。或者你能告诉我你如何存储购买状态。也许你可以从 GoogleStore 获取购买状态。 【参考方案1】:

您可以使用PackageManagergetApplicationInfo方法检查应用是否安装

public abstract ApplicationInfo getApplicationInfo (String packageName, int flags)

检索我们所知道的关于某个特定的所有信息 包/应用程序。

如果应用程序具有 在系统上找不到给定的包名称。参数 packageName 的全名(即 com.google.apps.contacts) 应用。 flags 附加选项标志。使用任意组合 GET_META_DATA、GET_SHARED_LIBRARY_FILES、GET_UNINSTALLED_PACKAGES 到 修改返回的数据。返回

ApplicationInfo 返回包含有关包的信息的 ApplicationInfo 对象。如果设置了标志 GET_UNINSTALLED_PACKAGES 如果在已安装应用程序列表中找不到该软件包, 从已卸载列表中检索应用程序信息 应用程序(包括已安装的应用程序以及 具有数据目录的应用程序,即已被 删除并设置了 DONT_DELETE_DATA 标志)。

【讨论】:

以上是关于通过应用内计费查看付费应用版本的主要内容,如果未能解决你的问题,请参考以下文章

Lite/Pro 版本与应用内计费升级选项

此版本的应用程序未配置为通过 Google Play 计费

为了避免盗版,在应用中添加“应用内计费”而不是在 Play 商店中将其作为付费应用发布会更好吗?

Android 应用内计费版本 3 获得过期订阅

通过应用内购买付费应用到免费应用

测试应用内计费