如何在Android上唯一标识用户?

时间:2012-04-11 05:06:04

标签: android google-play

我的应用为订阅使用许可和应用内结算。我能够使用

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

但这会得到一些帐户。目前我只是使用第一个。我不知道哪一个用于购买/下载应用程序。我自己最多有3个谷歌帐户(GMail一个愚蠢的旧谷歌强制您注册以激活您的手机,我的真实Google帐户和我的工作帐户)。

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

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

类似的问题都没有答案,或者说答案是“没办法”。

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

1 个答案:

答案 0 :(得分:1)

所以我会重复其他人的说法:如果您关注的唯一原因是为了许可目的而识别用户,请立即停止,因为许可库不要求您阅读电子邮件地址以便它工作。 Play应用程序将是适合您的中间人。

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

由于某种原因,其他问题“没办法”回答。

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

我的合理意见。