私は分析ツールに取り組んでいます。一意のユーザー (または、より可能性が高いのは一意のマシン) を合理的に識別できるようにしたいと考えています。ある程度の不正確さは問題ありません。Haxe でクライアントを構築しているため、低レベルのデバイス (Android/iOS) と Web (JS/Flash) の両方をサポートする必要があります。(これに関するもう 1 つの警告は、言語固有の API を使用できないことです。)
以前は、のタプルを使用して(ip, mac address)
ユーザーを一意に識別していました。ただし、Flash (および Javascript) では、MAC アドレスにアクセスできません。おそらく GUID を使用して、サーバー側で ID を保存および管理する必要があることに気づきました。クライアントは、サーバーに GUID (または何らかの ID) を要求し、それを同じデバイスからの後続の要求に使用します。
ただし、GUID が適切かどうかはわかりません。または、IP またはその他の情報で補足する必要がある場合。(クライアント側から IP を取得するためのアクセス権があります。)
クライアントでのワークフローは次のようになります。
- 保存された一意の識別子を確認する
- 存在する場合は、すべてのリクエストとともに送信します
- そうでない場合は、一意の識別子を要求して保存するための呼び出しを行います
- 後続のすべての呼び出しで一意の識別子を送信する
もちろん、これはデバイスごとに一意であり、ローカル デバイスの識別子を削除することで、2 人のユーザーの誤検知を取得する何らかの方法がある可能性があります。
サーバー側では、新しい GUID を生成し、ユーザーが一意の識別子を要求したときにそれをユーザーに送信するのと同じくらい簡単です。
これは良いアプローチですか?より良いアプローチはありますか?