与应用程序安装关联的帐户信息

Ach*_*mar 30 android in-app-purchase google-account in-app-billing android-billing

对于在Android中实施应用内结算的用户来说,这是一个广受欢迎的问题,即如何处理多个帐户.如果用户配置了多个帐户,哪个帐户将用于应用内结算(因为没有选项让用户选择帐户)?挖了很多之后,下段在这里似乎可以解释它..

注意:要进行测试购买,许可测试帐户必须位于用户的Android设备上.如果设备有多个帐户,则会使用下载该应用的帐户进行购买.如果没有任何帐户下载了应用程序,则使用第一个帐户进行购买.用户可以通过展开购买对话框来确认正在进行购买的帐户.

我使用在应用程序计费中涉及的帐户创建开发人员有效负载,以便可以在以后某个时间或其他某个设备上正确还原.但是自Honeycomb以来,没有主账户这样的东西.用户可以删除任何帐户,可能是购买该应用程序的帐户,在这种情况下,帐户列表中的第一个帐户将用于计费.现在,如果我知道使用了哪个帐户,并且它是否"不是安装了应用程序的帐户",我至少可以告知用户以后的购买将不会恢复.

所以,我的问题是......

有没有办法找到用于下载应用程序的帐户?

Google Play似乎确实使用了这些信息.无论如何,我们可以与Google Play互动达到这个级别吗?

注意:PackageManager似乎没有解决这个问题.

ejo*_*son 0

我的直觉告诉我创建你自己的AccountManager组合SyncAdapter。为了控制与您的应用内结算相关的帐户。然后,您可以支持服务器上的帐户合并(如果用户采取行动并决定合并帐户)并处理对同一个人或基于他们的帐户的计费。如果您愿意的话,还可以将购买恢复到同一设备。您可以使用Google Play 许可等强制执行设备政策等。设备限制器

如果用户删除旧帐户,您的AccountManager组合SyncAdapter将创建一个新帐户,然后用户将被迫合并您服务器上的帐户以恢复以前的购买,并且您将在其中存储新的“主帐户”信息。

就像爱迪生在你的评论中所说的那样。必须有一种方法来记录与第一次购买相关的帐户并从那里开始。

这些只是我的想法,我希望我们能够对此有所了解并找出支持这一点的“最佳实践”。