我的应用对订阅使用许可和应用内计费。我能够使用
AccountManager manager = AccountManager.get(context);
Account[] accounts = manager.getAccountsByType("com.google");
但这得到了许多帐户。目前我只使用第一个。我不知道哪个是用来购买/下载应用程序的。我自己有多达 3 个 Google 帐户(GMail 是一个愚蠢的旧 Google 迫使您注册以激活您的手机、我的真实 Google 帐户和我的工作帐户)。
我真的不需要电子邮件地址,只是某种方式来确认一个用户是相同的,即使他们在不同的设备上。如果他们从不同的设备访问该应用程序,那没关系。
该应用程序在后台访问服务器,因此将发送用户ID进行记录。
类似的问题都没有答案,或者更确切地说,答案是“不可能”。
有一个菜单项让用户选择帐户是最合适的解决方案吗?或者最好将所有用户 ID 保存在服务器上,如果用户匹配一个,让他们进入?许可证服务器 API 不提供某种唯一的用户哈希吗?(我找不到,但对我来说有点模糊。)