【问题标题】:What's the best way to uniquely identify Android users to a server?向服务器唯一标识 Android 用户的最佳方法是什么?
【发布时间】:2011-04-27 00:34:33
【问题描述】:

我应该如何识别服务器的 android 用户。 我应该得到 IMSI 号码和一些加盐算法吗? 考虑到 android 的空间和性能限制,是否有一个不太重的库可以用来进行计算?

【问题讨论】:

  • 不要依赖Android_id,root设备有假的
  • 您要向服务器或用户识别设备吗?
  • 这可能是 stackoverflow.com/questions/3464881/…stackoverflow.com/questions/3679120/… 的副本。请注意,有些人建议使用 IMEI——这对手机来说是可以的,但像 wifi 平板电脑这样的设备没有 IMEI。
  • 我认为您的意思是带有自定义 ROM 的设备。 Root 设备实际上只是添加了一个新的应用程序和一个新的系统二进制文件。
  • 另一个问题是关于使用哪个 ID。我还要求处理私人信息的正确方法。

标签: android


【解决方案1】:

几个月后会有更多用户拥有安卓手机和安卓平板电脑,所以如果你想在多个设备上跟踪用户,我认为最好使用 OAuth。

【讨论】:

    【解决方案2】:

    我认为您无法识别没有任何类型帐户的用户。其他一切都不可靠,或者只是设备标识。你为什么不为你的服务器提供一个自己的注册服务,这样你就可以给每个用户一个唯一的 id。

    另一个选项可能是绑定到设备的 Google 帐户?或者这会削减你的目标受众吗?但是,如果您正在构建一个扩展某种 Google 工具、应用程序或其他任何东西的应用程序,那么用户将已经拥有一个 Google 帐户,因此您的应用程序也可以使用它来识别用户。

    【讨论】:

      【解决方案3】:

      要识别用户,我认为使用 google 帐户是最好的选择,请参阅答案 Generating Device-Specific Serial Number

      如果您只想识别应用程序的一个实例,那么为什么不让服务器分发 ID:s 呢?

      当您的应用启动时,获取 SharedPreferences 并检查“myid”是否有值,如果没有,则从服务器请求一个 ID,您将其作为“myid”存储在 SharedPreferences 中。此 ID 将在应用更新后继续存在(但不会卸载/重新安装)。

      在服务器端,存储所有已注册的 ID,并确保您的服务器分发唯一的 ID。这样,入侵您服务器的讨厌的人就无法使用 ID 来识别您的用户;)

      【讨论】:

        【解决方案4】:

        developer.android所述:

        应用程序通常会尝试使用以下三种技术之一来记住用户:

        1. 要求用户输入用户名
        2. 检索唯一的设备 ID 以记住设备
        3. 从 AccountManager 检索内置帐户

        选项 (1) 有问题。首先,要求用户在进入您的应用程序之前输入一些内容会自动降低您的应用程序的吸引力。其次,不能保证选择的用户名是唯一的。

        选项 (2) 对用户来说不那么繁琐,但要做到正确却很棘手。更重要的是,它只允许您在一台设备上记住用户。想象一下有人升级到闪亮的新设备,却发现您的应用不再记得它们时的挫败感。

        选项 (3) 是首选技术。 Account Manager 允许您获取有关存储在用户设备上的帐户的信息。正如我们将在本课中看到的,使用客户管理器可以让您记住您的用户,无论用户可能拥有多少台设备,只需在您的 UI 中添加几次额外的点击即可。

        【讨论】:

        • 复制内容时,请注明出处。在这种情况下,它将是 developer.android.com/training/id-auth/identify.html
        • 如果您也在为 iOS 编写相同的应用程序,选项 C 仍然是最佳选择吗?或者是否会生成一个唯一的 ID 服务器端以基于其他内容存储在手机上,例如用户电话号码(用户输入电话号码,服务器发回一个存储在手机上的 uid)?我在尝试解决完全相同的问题时发现了这一点。
        • 是的,您可以使用this question 的帮助在 iphone 中生成 UUID。如果用户有不止一部手机并且想要同步,它也提供了一个很好的方法。
        猜你喜欢
        • 2011-01-05
        • 1970-01-01
        • 1970-01-01
        • 2011-12-19
        • 1970-01-01
        • 2010-09-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多