2012-05-03 42 views
3

我正在研究一个具有Web版本,移动Web版本和iOS应用的应用。我需要跟踪访问量,登录等。 为此,我需要让每个用户都有一个跟踪唯一标识符,因为某些用户是来宾,因此无法成为user_id。如何创建用于跟踪的唯一标识

,我们的工作方式是,每一个环节,我们发布到用户带来全新的应用点“http://core.APP.com”和加载的文件重定向,在后端发送至:

  • 应用商店,如果用户正在使用iPhone,但没有应用程序。
  • ios应用程序,如果用户使用iPhone和应用程序。
  • 移动网络版本,如果用户正在使用手机。 (m.app.com)
  • 其他情况下的网络版本。 (www.app.com)

我已经研究了这些选项是:

  1. 使用IP作为标识符。 (这不是一个好的解决方案,因为可能有许多用户具有相同的IP,例如可能是公司网络的用户)
  2. 使用Cookie。 (如果用户通过直接打开iPhone应用程序登录,我们会失去用户的踪迹)
  3. 使用通过计算连接ip和http_user_agent所创建的字符串的md5创建的散列。(这是我们发现的最好的选择,因为我们不仅通过ip分开,而且添加了应该使标识符更加唯一的http_user_agent)。

有没有什么办法让标识符对所有用户都是唯一的?

注意:我们正计划在将来创建一个Android应用程序。如果答案与Android兼容,我将不胜感激。

回答

0

用户将分为两类

  • 注册
  • 未注册(客人)

注册用户将再次分为两类

  • NotLoggedIn登录

将user_id分配给访客用户。开始跟踪他们,一旦他们识别自己(注册,登录,点击电子邮件等链接)合并活动数据。

这个解决方案的好处在于 - 您在注册之前会重新主动跟踪您的网络应用和移动应用的使用情况。

糟糕的是你的数据库会很快变大,你需要巧妙地管理旧数据。