2012-09-11 4 views
7

Ich implementiere Analytics-Ereignis- und Seitenansicht-Tracking auf einer Roku-Box (BrightScript). Dieser Teil ist nicht so wichtig, aber wissen Sie, dass JS keine Option ist, noch ist Cookie-Einstellung. Ich kann Variablen setzen, aber das sind keine typischen Cookies. Ok - also habe ich eine großartige Lösung implementiert (google-analytics-for-roku-developers/) und alles ist gut - AUSSER !!Google Analytics in einer Cookie-freien Umgebung (BrightScript)

Analytics scheint keine Uniques zu verfolgen und führt ZERO auf. Es ist Ereignisse schön, aber Verfolgung :)

Hier ist eine Probe meiner URI-Anforderung (für Klarheit decodiert):

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; 

so, Frage # 1 - Ich understand from the docs, dass die __utma das Element ist, das unique verfolgt . Siehst du da irgendwas, was falsch ist?

Frage # 2 - Der Entwicklungscode, den ich implementiert habe, sendet einen neuen zufälligen Cookie für jedes Ereignis. Das scheint mir falsch zu sein. Ich überlege, es in einen sitzungsbasierten Cookie zu ändern, der alle Ereignisse durchläuft. Da bin ich weit jenseits meines Verständnisses. Irgendwelche Hinweise dazu?

+2

Haben Sie http://code.google.com/p/php-ga/ gesehen? –

Antwort

1

Ich denke, die Antwort auf # 2 ist die Antwort auf # 1. Grundsätzlich müssen Sie emulieren, wie ein Browser Cookies in Ihrem Code verarbeitet. Ein "Sitzungscookie" ist nur ein Cookie, dh ein Wert, der zusammen mit der Anfrage und Antwort als HTTP-Header übergeben wird - was es zu einem Session-Cookie macht ist, dass das Ablaufdatum auf die Vergangenheit gesetzt ist, was den Browser anweist Löschen Sie es, wenn die Browserinstanz geschlossen wird.

Cookies sind ziemlich einfach - ein Mechanismus, um die Tatsache zu umgehen, dass HTTP statuslos ist (hat keinen Speicher). Wenn Sie in der Antwort einen HTTP-Header Set-cookie: <value> übergeben, soll sich der Client den Wert merken und in nachfolgenden Anfragen in einem Header Cookie: <value> zurückgeben. (Es gibt ein bisschen mehr zu den Cookies in Bezug auf Domains und Ablauf und so weiter, aber es ist nicht so viel).

Wenn Ihr Client (der Roku) einen Mechanismus für persistance hat, dann müssen Sie nur einen neuen Cookie speichern, bevor Sie einen neuen zufälligen setzen, überprüfen Sie den Header und wenn der Cookie gespeichert wurde, senden Sie ihn einfach zurück wie es ist. Sie müssen wahrscheinlich eine Art Aufgabe implementieren, die abgelaufene Cookies regelmäßig löscht, und so weiter.

Haben Sie keine Angst vor dem Keks. Es ist nur ein Header (mit browservermittelten magischen Kräften).