单个设备中具有多个用户的应用程序 - Inapp开票订阅

时间:2013-04-29 17:14:48

标签: android in-app-purchase

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

2 个答案:

答案 0 :(得分:5)

Google Play应用内结算订阅已绑定到Google Play帐户。因此,只要Google帐户未被更改,订阅就会被视为对此帐户有效,您无法再次购买。

如果您想用自己的帐户替换Google帐户系统,则需要“欺骗”Google Play。您可以做的是创建一个包含多个不同应用内结算订阅的池(如订阅#1,订阅#2等)。订阅时,您将自己的登录信息作为developerPayload字段中的附加参数传递。

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

这不是一种直截了当的方式,而是为你的情况寻找工作机会的作弊。

答案 1 :(得分:1)

目前,Google IAB仅在一台设备上支持一个帐户(设备上的主要Gmail帐户)。但是从Android 4.2可以获得多用户功能,谷歌正致力于为IAB提供相同的支持。