单设备多用户的应用程序 - 应用内计费订阅

15

我正在使用Inapp Billing v3开发一个带有订阅功能的应用程序。该应用程序有登录机制。如果用户“X”订阅了某个功能并注销,如果用户“Y”在同一设备上登录应用程序并尝试订阅,则Google Play会告诉该产品已经购买。订阅是否基于设备中同步的帐户而不是登录应用程序的用户?如果是这样,如何实现我的情况?


你找到解决这个问题的方法了吗?我也在我的应用程序中遇到了同样的问题。 - makis.k
找到任何解决方案了吗? - Deepak Rattan
2个回答

5

Google Play中的应用内购买订阅与Google Play账户绑定。只要Google账户没有更改,该订阅将被视为此账户有效,您不能再次购买该订阅。

如果您想使用自己的账户替换Google账户系统,您需要“欺骗”Google Play。您可以创建一组不同的应用内购买订阅(例如订阅#1、订阅#2等)。当您订阅时,将自己的登录作为附加参数传递到developerPayload字段中。

现在,当您枚举所有可用的订阅时,请检查developerPayload字段中是否有当前用户账户。如果没有,则认为当前用户没有订阅,并允许使用尚未使用过的第一个订阅(订阅#1、订阅#2等)进行订阅。请确保您的订阅池中的订阅数量大于您可能拥有的同一设备上的用户数量。

这不是一种直接的方式,而是一种解决问题的方法。


2
在这种情况下,从主用户的账户中扣除资金是完全不被任何用户接受的,因为他们不想为别人支付费用。请认真考虑。 - Ankit

1

目前,Google IAB仅支持设备上的一个帐户(设备上的主Gmail帐户)。但是从Android 4.2开始,多用户功能可用,并且Google正在努力为IAB提供相同的支持。


1
四年后,在Nougat上是否仍然如此? - IgorGanapolsky
1
现在在Play商店应用中,用户可以更改Gmail帐户,并且它可以正常工作(甚至建议也是基于帐户历史记录的),这取决于用户的帐户。 - Ankit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接