1

我的应用对订阅使用许可和应用内计费。我能够使用

    AccountManager manager = AccountManager.get(context); 
    Account[] accounts = manager.getAccountsByType("com.google"); 

但这得到了许多帐户。目前我只使用第一个。我不知道哪个是用来购买/下载应用程序的。我自己有多达 3 个 Google 帐户(GMail 是一个愚蠢的旧 Google 迫使您注册以激活您的手机、我的真实 Google 帐户和我的工作帐户)。

我真的不需要电子邮件地址,只是某种方式来确认一个用户是相同的,即使他们在不同的设备上。如果他们从不同的设备访问该应用程序,那没关系。

该应用程序在后台访问服务器,因此将发送用户ID进行记录。

类似的问题都没有答案,或者更确切地说,答案是“不可能”。

有一个菜单项让用户选择帐户是最合适的解决方案吗?或者最好将所有用户 ID 保存在服务器上,如果用户匹配一个,让他们进入?许可证服务器 API 不提供某种唯一的用户哈希吗?(我找不到,但对我来说有点模糊。)

4

1 回答 1

1

因此,我将重复其他人所说的话:如果您担心的唯一原因是出于许可目的识别用户,请立即停止,因为许可库不需要您阅读电子邮件地址才能使其工作. Play 应用程序将成为您的中间人。

您购买的应用程序可以在其他设备上正常使用。

其他问题回答“不可能”是有原因的。

编辑:但是,如果您担心“非托管”产品而不仅仅是出于许可目的(您没有说清楚,只是现在我才看到),那么您可以将信息与给定的用户帐户配对。您应该使用客户经理并要求用户选择他/她认为合适的帐户。千万不要随意为用户选择账号。像其他应用一样做。用户更了解自己的个人信息。请安全地进行。

我的合理意见。

于 2012-04-11T05:15:58.033 回答