我正在Roku框(brightscript)上实现分析事件和页面视图跟踪。那部分不是那么重要,但要知道JS不是一个选项,也不是cookie设置。我可以设置变量,但它们不是典型的cookie。好的 - 所以我已经实施了一个很好的解决方案(google-analytics-for-roku-developers/)并且一切都很好 - 除了!!
Google Analytics似乎无法跟踪唯一内容,并且正在列出ZERO。它正在精美地跟踪事件,但是:)
以下是我的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 - 我understand from the docs __utma是跟踪唯一身份的元素。你觉得那里有什么不对吗?
问题#2 - 我实现的开发代码为每个事件发送一个新的随机cookie。这对我来说似乎不对。我正在考虑将其更改为基于会话的cookie,该cookie会在所有事件中持续存在。那是我超越理解的时候。对此有何指导?答案 0 :(得分:1)
我认为#2的答案是#1的答案。基本上,您需要模拟浏览器如何处理代码中的cookie。 “会话cookie”只是一个cookie,也就是说,作为HTTP头传递的值以及请求和响应 - 使它成为会话cookie的原因是它的过期日期被设置为过去,这告诉浏览器在浏览器实例关闭时删除它。
Cookie非常简单 - 一种解决HTTP无状态(没有内存)这一事实的机制。如果在响应中传递HTTP标头Set-cookie: <value>
,则客户端应该记住该值并在后续请求中将其传递回Cookie: <value>
标头。 (关于域和过期的cookie有更多,等等,但它并没有那么多)。
因此,如果您的客户端(Roku)具有某种持久性机制,那么您只需要存储任何新的cookie,然后在设置新的随机cookie之前,检查标头以及是否已存储cookie,只需将其发回原样。您可能需要实施某种定期清理过期cookie的任务,依此类推。
不要害怕饼干。它只是一个标题(具有浏览器传授的神奇力量)。