唯一标识某个用户的每个设备

时间:2012-01-31 13:01:10

标签: ruby identity uniqueidentifier

我有一个可下载的Ruby客户端,用户可以在他们拥有的各种设备上安装。客户端只是经常运行并将各种数据发送到服务器。

我希望能够唯一地识别每个用户的设备,以便我可以告诉哪个设备发出了各种请求。

  • 理想的标识符将存在于跨平台,因此我可以在OSX,Windows,Android等上使用。
  • 它不必在所有计算机集中是唯一的,在单个用户的计算机集中是唯一的。
  • 如果可以避免,我宁愿不将自己的标识符写入文件系统。
  • 标识符应该保留。如果可能,永久保留。

最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

使用sysinfo gem,例如使用sysinfo.to_s获取ruby-unix-osx-i386之类的字符串。

但如果用户有两台具有相同架构的计算机,则无法运行。另外,我不确定sysinfo是否支持像Android这样的平台。

答案 1 :(得分:0)

到目前为止,在没有写入用户计算机的情况下,我还没有找到一种令人满意的方法。

目前,我使用UUID gem为文件系统写一个36字符的唯一标识符,然后在必要时再读回。

如果您使用>的另一个选项Ruby 1.9.2将使用SecureRandom.uuid method来做同样的事情。但是,这种方法在Ruby 1.8.7中不可用。