2012-01-31 11 views
0

自分が所有するさまざまなデバイスにインストールできるダウンロード可能なRubyクライアントがあります。クライアントはたびに頻繁に実行され、さまざまなデータをサーバーに送信します。特定のユーザのデバイスを一意に識別します

ユーザーのデバイスのそれぞれを一意に識別して、どのデバイスからのさまざまな要求が発生したかを知ることができるようにしたいと考えています。ただ独特の間で

  • 私が使用できるように、理想的な識別子は、クロスプラットフォームで存在するであろう、それはすべてのコンピュータのセットの中でユニークであるためにはOSX、Windowsの、アンドロイドなど
  • にそれは必要ありませんが、単一のユーザーのコンピュータのセット。
  • 避けることができるのであれば、私は自分の識別子をファイルシステムに書きたくないでしょう。
  • 識別子は保持されます。可能であれば、永久に。

これを行う最も簡単な方法は何ですか?

答えて

0

これまでのところ、私はユーザーのマシンに書き込まずにこれを行うには満足のいく方法を見つけていません。

現在、UUID gemを使用して、36文字の固有の識別子をファイルシステムに書き込んだ後、いつでもそれを読み取ることができます。

> Ruby 1.9.2を使用している場合は、同じことを行うSecureRandom.uuid methodを使用することもできます。ただし、この方法はRuby 1.8.7では使用できません。

1

sysinfo gemの場合、sysinfo.to_sを使用すると、たとえばruby-unix-osx-i386のような文字列が得られます。

しかし、ユーザーが同じアーキテクチャを持つ2台のマシンを使用している場合は、動作しません。また、sysinfoがAndroidのようなプラットフォームをサポートしているかどうかもわかりません。

関連する問題