gpt4 book ai didi

android - 如何检索应用内购买并解锁我的应用的高级版本?

转载 作者:行者123 更新时间:2023-11-30 00:14:43 26 4
gpt4 key购买 nike

我有一个 Android 应用程序,其中包含一些应用程序内商品。用户购买应用内商品,应用解锁相应的功能。现在我有一个问题:我阅读了 Google 文档,但似乎并不能为我的问题提供明确的答案:

应用在启动时检索可用的应用内商品列表,然后继续检索已购买的应用内商品列表。如果应用内商品出现在可用列表中,我就会解锁该功能。

为什么我在启动时检查可用的应用内商品列表?

因为我需要在 UI(购买按钮)上写下价格,而且我不想对不同国家/地区的所有可能价格进行硬编码。响应包含所有可用的应用内商品列表以及已经本地化的价格,因此非常方便

为什么我在启动时查看购买的应用内商品列表?

因为我想检查用户是否购买了应用内商品,然后我解锁了 UI 上的功能。谷歌文档说这个电话不需要互联网连接,为什么不呢?当我只调用本地 Google Play API 时,为什么还要在本地保存应用内 JSON 产品?

现在我的问题是:调用可用的应用内商品和调用已购买的商品可能会失败......事实上,它失败了一次。如果失败我该怎么办?禁用这些功能不是一种选择,因为用户可能认为他/她丢失了产品。启用这些功能也是一个禁忌,因为我可能会为从未购买过产品的人启用这些功能。所以我卡住了。重试就够了吗?这里的最佳做法是什么?

最佳答案

据我了解:

用户购买了应用内商品,该商品启用了您应用的高级版本。购买后,无需进一步购买即可启用该功能。所以这是一次性购买。

解决您的问题:

目前,您总是尝试使用 Google API 在应用启动时获取高级功能的状态。

你也可以这样做:如果用户购买高级功能,将其保存为 SharedPreference。示例:premiumVersion = true

每当用户返回并启动应用程序时,您可以首先检查 SharedPreference,因为这不太可能失败(不需要互联网连接等)。如果 premiumVersion == true,则不要向 Google API 询问当前状态。仅在 premiumVersion == false 时使用 Google API。在这种情况下,之前的尝试可能失败了,或者用户只是没有高级功能。

旁注:如果 premiumVersion == true,请确保永远不要用 false 覆盖它!

用于显示价格:

如果在尝试检索您的产品时出现任何问题,只需向用户提示一条错误消息,提示出现问题,他应该重试。

关于android - 如何检索应用内购买并解锁我的应用的高级版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47472061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com