如何处理应用内计费库中的多个用户? (最佳实践)
Posted
技术标签:
【中文标题】如何处理应用内计费库中的多个用户? (最佳实践)【英文标题】:How to handle multiple users in In-App Billing Library ? (Best Practice) 【发布时间】:2020-12-23 15:37:42 【问题描述】:我正在我的应用程序中实现 Google 的应用内结算库,并想知道处理以下情况的最佳方法
-
多设备和单用户
用例:
拥有 Google Play 商店帐户 G1 的用户 U1 订阅了订阅 S1。 现在用户 U1 从应用程序中注销,用户 U2 登录应用程序。查询:
如果用户 U2 尝试订阅订阅 S1 会发生什么? 我们是否应该通过说“此订阅已被此 Google 帐户的其他用户订阅”来限制用户 U2?
-
单设备多用户
用例一:
拥有 Google Play 商店帐户 G1 的用户 U1 订阅了订阅 S1。 拥有 Google Play 商店帐户 G2 的用户 U1 尝试订阅订阅 S1。查询:
我们是否应该通过说“您已通过其他 Google 帐户订阅此订阅”来限制用户 U1?
用例二
拥有 Google Play 商店帐户 G1 的用户 U1 订阅了订阅 S1。 拥有 Google Play 商店帐户 G2 的用户 U1 尝试订阅订阅 S2。查询:
我们应该允许用户使用不同的 Google 帐户订阅不同的订阅吗?
一般查询:
我们是否应该将每个用户映射到不同的 Google 帐户,如果用户尝试使用其他 Google 帐户进行购买,请限制它或
请他先解除与现有关联的 Google 帐户的关联?
我们可以从使用同一个 Google Play 帐户的 2 位用户那里订阅(购买)订阅吗? (说使用不同的accountId
https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid)
我希望就最佳实践和事实对我的疑问作出答复。
【问题讨论】:
【参考方案1】:应用内商品的购买和订阅都与所使用的 Google 帐户严格关联。
您无法通过 Google 帐户了解其他帐户的购买情况,如果可能的话,这将是一个严重的安全问题。
如果两个用户(两个 Google 帐户)想使用同一个订阅,则必须分别购买。
【讨论】:
以上是关于如何处理应用内计费库中的多个用户? (最佳实践)的主要内容,如果未能解决你的问题,请参考以下文章