【发布时间】:2019-12-13 11:59:30
【问题描述】:
我使用 Billing 客户端来处理应用内购买。一旦购买了非消耗品,在确认后我可以在共享偏好中保存一个值。
约束 如果用户清除应用程序数据或卸载应用程序,它将会丢失。如何处理这种情况。
注意 我不相信将其保存在云中。请建议每次应用开始使用计费客户端时如何从 Google play 获取它。
【问题讨论】:
标签: java android in-app-billing android-inapp-purchase
我使用 Billing 客户端来处理应用内购买。一旦购买了非消耗品,在确认后我可以在共享偏好中保存一个值。
约束 如果用户清除应用程序数据或卸载应用程序,它将会丢失。如何处理这种情况。
注意 我不相信将其保存在云中。请建议每次应用开始使用计费客户端时如何从 Google play 获取它。
【问题讨论】:
标签: java android in-app-billing android-inapp-purchase
您应该致电billingClient.queryPurchases() 以获取用户在安装后首次启动应用时拥有的物品。
然后您可以将其保存在 SharedPreferences 中,但我建议您定期致电billingClient.queryPurchases() 以更新列表。如果该项目是订阅以了解它仍然处于活动状态还是已过期,这一点仍然更为重要。
并且不要忘记验证收到的数据的签名以避免欺诈。
【讨论】:
好的,
您应该调用 billingClient.queryPurchases() 来获取用户在安装后首次启动应用程序时拥有的物品。
但是根据文档billingClient.queryPurchases():
仅返回有效订阅和未消费的一次性购买。
那么您如何获得已购买的、已消费的项目(不是订阅,而是 IAP)?
【讨论】: