我正在Roku框(brightscript)上实现分析事件和页面 View 跟踪。那部分不是那么重要,但是知道JS不是一个选项,Cookie设置也不是。我可以设置变量,但它们不是典型的cookie。好的-我已经实现了一个很好的解决方案(google-analytics-for-roku-developers/),一切都很好-除了!
Google Analytics(分析)似乎没有跟踪唯一身份,而是列出了零。它可以很好地跟踪事件,但是:)
这是我的URI请求的示例(为清晰起见,已解码):
http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=1736644096&utmsr=720p HDTV&utmsc=24-bit&utmul=en-us&utmje=0&utmfl=-&utmdt=RokuPageView&utmhn=Home&utmr=-&utmp=Home&utmac=UA-5035974-13&utmcc=__utma=1394882688.2097034752.1347384621.1347384621.1347384621.2;+__utmb=1394882688;+__utmc=1394882688;+__utmz=1394882688.1347384621.2.2.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none);+__utmv=1394882688.13C1CJ109560;
因此,问题1-我__tma是跟踪唯一性的元素。您看到那里有什么不对吗?
问题2-我实现的开发代码为每个事件发送了一个新的随机cookie。对我来说这似乎是错误的。我正在考虑将其更改为基于 session 的cookie,该cookie会在所有事件中持续存在。那是我无法理解的时候。有什么指导吗?
最佳答案
我认为#2的答案就是#1的答案。基本上,您需要模拟浏览器如何处理代码中的cookie。 “ session cookie”只是一个cookie,即作为HTTP header 与请求和响应一起传递的值-使其成为 session cookie的原因是其过期日期已设置为过去,这告诉浏览器浏览器实例关闭时将其删除。
Cookies非常简单-一种解决HTTP无状态(无内存)这一事实的机制。如果在响应中传递HTTP header Set-cookie: <value>
,则客户端应记住该值,并在后续请求中将其传递回Cookie: <value>
header 。 (与域和有效期有关的cookie还有很多,但不多)。
因此,如果您的客户端(Roku)具有某种持久性机制,则只需要存储任何新的cookie,然后在设置新的随机cookie之前,检查 header ,如果cookie已存储,则将其原样发送回即可。您可能需要实现某种定期清除过期cookie的任务,依此类推。
不要害怕cookie。它只是一个标题(具有浏览器赋予的魔力)。
关于google-analytics - 无cookie的环境中的Google Analytics(分析),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12375383/