【发布时间】:2013-04-10 17:40:09
【问题描述】:
我创建了一个应用程序,用户可以在其中执行某些操作,例如评论、赚取积分等。我需要将这些数据存储在在线数据库中(该应用程序链接到一个网站),因此我需要以某种方式识别用户.我找到了以下方法:
- 注册/登录 - 我认为用户不太喜欢这个选项,因为在手机上使用起来很不方便
- AccountManager - 我读到这里有issues
- OauthToken - 我有 刚下载了一个应用程序,打开时问我是否给我 允许使用我的电子邮件地址。此权限可能会吓跑 许多用户。顺便说一句,它如何识别用户?
- 存储 IMEI - 这不是一个选项,因为它识别的是设备,而不是用户,而且许多平板电脑没有 IMEI 号码
还有其他方法可以识别用户吗?我想避免使用 GET_ACCOUNTS 权限来获取用户的电子邮件地址,如果我可以在没有权限的情况下链接一个唯一的 ID 是最好的。我认为用户在首次启动应用程序时不希望他们的电子邮件地址出现在屏幕上(作为 id)。 (请注意,我只想要一个id,不需要密码)
【问题讨论】:
-
因为你已经链接到在线数据库并且你想为每个用户分配身份,你必须使用
4 options中的任何一个,为了简单起见option 1: register/login会更好。在注册任务中你可以包括minimum details like just username and password。但是是的,你必须通过查询在线数据库before assigning用户名来check for availability那个特定的用户名。 -
如果我去注册,它不会减慢应用程序,我可能需要通过 500,000 个用户名来检查新用户选择的用户名是否存在?
-
服务器端数据库只需一个查询即可处理,所以不用担心时间延迟。它可以在几秒钟内完成。您可以看到大多数应用程序都在为唯一用户注册.
标签: android oauth-2.0 accountmanager