2012-04-23 19 views
6

Intento integrar Google Analytics en mi aplicación Smart TV.Google Analytics y Samsung Smart TV Apps

Es una aplicación basada en Javascript, y he probado todas las soluciones disponibles en el SamsungDForum, pero nadie funciona.

En la parte del archivo principal index.html, que cargue Google Analytics:

<script type='text/javascript' async='true' src='https://ssl.google-analytics.com/ga.js'></script> 

Entonces, estoy rastreando la entrada página:

<script type='text/javascript'> 
    var _gaq = _gaq || []; 
    _gaq.push([ '_setAccount', 'UA-XXXXXXXX-X' ]); 
    _gaq.push([ '_setCustomVar', 1, 'Device Information', 'Samsung Smart TV' ]); 
    _gaq.push([ '_trackPageview' ]); 
    _gaq.push([ '_trackEvent', "Application", "Start" ]); 
</script> 

Por desgracia, no puedo ver la página rastreado dentro de mi cuenta de Analytics. La ID de cuenta real no es UA-XXXXXXXX-X, estoy usando la ID correcta en el código real.

¿Qué estoy haciendo mal?

Respuesta

1

Por lo que sé, necesita vincularse utilizando un iframe; de ​​lo contrario, no activará los eventos.

<iframe src='http://yourwebserver.com/ga-code-application-start.html' width='0' height='0'/></iframe> 
+0

Gracias. Usando el Iframe, ¿podré rastrear eventos y vistas internas de la página? –

+0

Si agrega _trackEvent al archivo que carga el iframe, entonces sí. Sin embargo, si desea rastrear algo más adelante, debe cambiar iframes scr para que cargue una página diferente con ese evento requerido. Por lo que puede terminar con varios archivos tracking.html. Es una manera sucia de hacerlo funcionar, pero al menos obtienes algunas estadísticas. – Scriptor

+0

Me preocupan las actuaciones ... –

7

Necesita un iframe para colocar el archivo con el fragmento de GA dentro. El archivo debe estar en el servidor remoto, ya que las aplicaciones Samsung Smart TV funcionan en localhost y GA ignoran las llamadas locales.

<iframe name='ga' src="http://example.com/ga.html" width="0" height="0"/> 

Desde el GA de fragmento de código se puede quitar la línea, si usted no quiere GA contar trackPage de la carga de marco flotante.

_gaq.push(['_trackPageview']); 

Luego, en el script principal de agregar esta función:

var trackPage = function(url) { 
    if (window.ga && window.ga._gaq) 
     window.ga._gaq.push(['_trackPageview', '/samsung' + url.replace(/ /g, "_")]); 
    }; 

Así llamando por ejemplo trackPage("/sports/football/barcelona chelsea") en algún lugar de la aplicación producirá página de pista GA con url exacta:

/samsung/sports/football/barcelona_chelsea 

Se es muy eficiente: puedes jugar con GA Real Time y puedes ver lo bueno que funciona. Como GA funciona de forma asíncrona, el iframe nunca se vuelve a cargar.

1

recomendaría - y terminó con- implementación de su/mi cuenta, por ejemplo, un Ajax llamada con GET a Google Analytics como se describe aquí https://stackoverflow.com/a/24181771/174953 Sobre todo porque todos los parámetros necesarios se pueden encontrar en la propia documentación de GA https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content

Descubrí en los foros de Samsung que la opción iframe no funcionaba en todos los modelos, creo que no en 2013+