Android:检查应用内购买状态的最佳实践?
Android: best practice of checking In App Purchase status?
我正在我的第一个应用程序中使用简单的驱动器 2 示例实施应用内结算。
我的简单实施:该应用程序是免费的,可以通过提供一些附加功能的应用内结算升级到高级版本。这些功能在不同的活动中,有时只有购买高级才能执行操作,有时 activity 看起来不同。所以我只能有两种不同的状态:基本或高级。
我读了很多关于这个话题的文章,但仍然有一些问题。我猜想来自 stackoverflwo 的许多答案都属于较旧的应用程序计费实现(例如这个:How to best save InApp purchase status locally?)。
现在我的问题是:我必须检查用户是否在不同的活动中拥有高级身份。不总是查询购买(性能)的最佳做法是什么?是否可以检查一次并在整个应用程序中使用?有没有人有一些类似的代码示例?我认为这可能是一个常见的实现,但没有找到任何东西......
顺便说一句:检查用户是否购买了保费的正确方法是来自 BillingClint 的 queryPurchases - 正确吗?
非常感谢您的帮助和想法!
是的,你不应该一直查询这个。您应该在应用程序启动时以及在用户购买您的 in-app 商品后立即进行检查。
您应该有一个单例存储库,您可以将其 inject/pass 用于所有重要的活动。活动应向此存储库询问当前的购买状态(即:已购买、未购买、未知)
如果由于某种原因无法在线检查,您可能应该实施重试行为。
是的,queryPurchases 是最好的,因为它不需要网络。
如果使用 billing 2.0 或更高版本,请不要忘记确认购买。
我正在我的第一个应用程序中使用简单的驱动器 2 示例实施应用内结算。
我的简单实施:该应用程序是免费的,可以通过提供一些附加功能的应用内结算升级到高级版本。这些功能在不同的活动中,有时只有购买高级才能执行操作,有时 activity 看起来不同。所以我只能有两种不同的状态:基本或高级。
我读了很多关于这个话题的文章,但仍然有一些问题。我猜想来自 stackoverflwo 的许多答案都属于较旧的应用程序计费实现(例如这个:How to best save InApp purchase status locally?)。
现在我的问题是:我必须检查用户是否在不同的活动中拥有高级身份。不总是查询购买(性能)的最佳做法是什么?是否可以检查一次并在整个应用程序中使用?有没有人有一些类似的代码示例?我认为这可能是一个常见的实现,但没有找到任何东西......
顺便说一句:检查用户是否购买了保费的正确方法是来自 BillingClint 的 queryPurchases - 正确吗?
非常感谢您的帮助和想法!
是的,你不应该一直查询这个。您应该在应用程序启动时以及在用户购买您的 in-app 商品后立即进行检查。
您应该有一个单例存储库,您可以将其 inject/pass 用于所有重要的活动。活动应向此存储库询问当前的购买状态(即:已购买、未购买、未知)
如果由于某种原因无法在线检查,您可能应该实施重试行为。
是的,queryPurchases 是最好的,因为它不需要网络。 如果使用 billing 2.0 或更高版本,请不要忘记确认购买。