gpt4 book ai didi

java - queryPurchases() vs queryPurchaseHistoryAsync() 为了 'restore' 功能?

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:41 25 4
gpt4 key购买 nike

我正在使用 Play Billing Library 来触发和管理购买,这反过来又解锁了应用中的额外功能。这部分正在工作。

但是,“恢复”购买的最佳方式是什么。例如,购买了该应用程序的人购买了一部新手机。登录到 Play 商店,下载我的应用程序,然后发现正在显示“升级”的付款屏幕。 iOS 对此有一个特定的方法,但我不知道有一个适用于 Android 的方法。

我的想法是查询Play商店,确认该账号之前是否成功购买过该商品,如果是的话我会调用app内的本地升级功能。

看来有两种相似的方法。但是在这种情况下我应该使用哪一个呢?用户在哪里删除了手机或购买了新手机?

queryPurchases()?还是 queryPurchaseHistoryAsync()

最佳答案

您应该使用queryPurchases。这会为您提供每个 SKU 的所有当前有效(未消费、未取消、未过期)购买。

queryPurchaseHistoryAsync 不会执行您需要的操作,因为它只会为您提供每个 SKU 的最近购买列表。它们可能已经过期、被取消或被消耗掉,而且无法判断。因此,此响应不能用于告知要在您的应用中应用哪些购买。

据我所知,queryPurchaseHistoryAsync 的唯一有效用途是为用户提供他们的购买历史列表。这有点古怪。

另请注意:queryPurchases 是同步的,因此在大多数情况下,它需要在某种后台工作线程中运行。我在 AsyncTask 中运行我的。

关于java - queryPurchases() vs queryPurchaseHistoryAsync() 为了 'restore' 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48457910/

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