当前位置: 首页 > 知识库问答 >
问题:

BillingClient的QueryPurchas能否为我提供一份关于应用内购买所有权的可靠声明?

束敏学
2023-03-14

我提供1次应用内购买(全功能)。我将购买结果保存在SharedReference中的一个布尔变量中,并在app start上使用QueryPurchaes,因此如果有人删除并重新安装了该应用,他将恢复其全部功能。

这正常工作,但我也想阻止完整的功能,如果事实证明,有人没有购买完整的功能(并欺骗与根设备的应用程序)。这也将包括删除一些数据,他不应该有没有应用程序内购买。

但是,我对queryPurchase的描述感到困惑。它说

“成功购买后,谷歌Play的应用内计费服务会在本地缓存用户的购买数据。”

存储这些信息多长时间?如果互联网连接可用,它会自动更新吗?我怎样才能避免即使用户购买了应用内购买并错误地屏蔽了其全部功能,也无法获得任何购买?有什么

有没有办法获得明确的信息,即用户实际上没有购买某个物品,而不是没有关于可能购买的信息?如果用户付费,我真的想避免阻塞功能

我的方法还有什么问题吗(将购买保存在SharedReferences中,以便立即获得信息,并额外查询购买信息)

编辑:我还注意到,如果我退还应用程序内购买的钱,然后卸载并重新安装应用程序,queryPurchases仍然会找到该购买。一定有办法避免吗?

共有1个答案

林威
2023-03-14

不要费心在共享首选项中存储购买。它们已经通过计费库存储在设备上。购买存储在计费库为您检索的播放存储数据中。

您可以通过假设启用了全部功能来工作,直到收到查询购买的结果,该结果将明确告诉您用户是否购买了它。如果你愿意,你可以倒着做,并假设试用模式,直到你知道存在购买。

无论哪种方式,购买查询都将快速返回,因为不需要网络连接,因为计费库只需连接到设备上的数据播放存储。

如果您在开发者控制台中退款,可能需要一段时间才能过滤到用户设备,但最终会。它不是一个实时系统,在退款被完全处理并发送到用户设备之前,购买将被缓存在设备上。

您可以直接在设备上消费购买,该设备会立即从用户帐户中删除购买。

 类似资料:
  • 准备工作 付费应用协议 如果你还没有,你需要在 iTunes Connect 签署付费应用协议, 并设置您的银行和税务信息。 iTunes Connect 开发人员帮助: 协议、税务和银行概述 创建您的应用内购买 然后,您需要在iTunes Connect中配置您的应用内购买,并包含名称,定价和说明等详细信息,以突出显示您的应用内购买的功能。 iTunes Connect开发人员帮助:创建应用程序

  • 这个问题(Android应用内计费动态产品列表)是3年前问过的。动态的应用内购买项目在Android上还是不可用的吗? 我之所以要实现这种功能,是因为我的应用程序提供了一种让某些用户创建自己的应用内购买的方式,供其他人购买。

  • 我正在学习应用内计费,但我有一个问题,谷歌的应用内计费的例子,地下城的一个。 我已经设置了应用程序,添加了我的公钥,并将makeRequestBundle()中的API_VERSION更改为1。 我甚至尝试了一个不同的设备,以确保这不是因为开发者不能购买他们自己的产品,我得到了相同的信息在两个设备上。 我错过了什么?

  • 对于Jcache配置,我们需要有通用的XML配置参数(如timetolive)<我们正在使用EhCache进行开发,并可能在其他环境中使用其他符合Jsr107的缓存提供程序,如Infinispan。 是否可以让两个缓存提供程序都使用一个配置文件,并且如果需要,我们只需要为不同的环境更改一些参数? 可以在属性文件中定义这些属性并使用它们根据配置文件初始化缓存管理器吗? 我浏览了jsr107留档,但没

  • 我正在开发一个应用内购买。我已将该应用程序放在 Play 商店进行封闭测试。在帐户设置中使用测试人员电子邮件和添加的测试人员电子邮件。我在 Play 商店中有 2 个托管产品。我在调试模式下测试了 android.test.purchased 并且工作正常。但是在我购买 SKU 时从 Play 商店安装的发布版本中,它成功完成了购买,但由于某种原因我收到了失败响应。我试图弄清楚这一点。此外,我在购

  • 问题内容: 我在应用程序购买中玩了几天,直到我尝试在应用程序商店验证收据之前一切正常,因为我一直在找回无效状态。 我将收据数据传递到我的PHP服务器,然后从那里转发到应用商店,一旦收到有效的响应,我打算将收据数据添加到我的数据库中。 商店工具包编程指南和类引用对于这个特定领域并没有什么用,因为它们并没有真正给您提供任何示例,我确实找到了一篇有用的文章,对我有所帮助,但是仍然有些错误。 基本上,我想