He escrito un servicio RESTful node.js como servidor para http://www.cross-copy.net y me gustaría no solo rastrear el uso del cliente web sino también otros clientes (como la línea de comandos o las aplicaciones) que usan el servicio para la copia entre dispositivos. pegar. ¿Es posible insertar la API de JavaScript de Google Analytics en una aplicación node.js y hacer un seguimiento del lado del servidor?¿Cómo rastrear el uso en un servicio RESTful node.js con Google Analytics?
Respuesta
Como Brad razón triste, no había nada para el nodo ... Así que escribió un módulo nodejs adaptado para este estos últimos días y acaba de publicar en la NGP: node-ga
El módulo es todavía muy nuevo (apenas probarlo en la producción de un proyecto de mascotas), por lo que no duda en dar su opinión :)
No podrá simplemente colocar ga.js en su proyecto Node. Tiene que ser cargado en un navegador para funcionar correctamente.
No creo que hay algo ahí fuera para el nodo todavía (corríjanme si me equivoco!), Sino que debe ser capaz de adaptarse fácilmente a las clases PHP existentes para hacer el registro del lado del servidor:
https://developers.google.com/analytics/devguides/collection/other/mobileWebsites
Puede ver cómo se construye la URL para solicitar el GIF de seguimiento dentro de ga.php. Traduce ga.php a JS y estás listo.
$utmGifLocation = "http://www.google-analytics.com/__utm.gif";
// Construct the gif hit url.
$utmUrl = $utmGifLocation . "?" .
"utmwv=" . VERSION .
"&utmn=" . getRandomNumber() .
"&utmhn=" . urlencode($domainName) .
"&utmr=" . urlencode($documentReferer) .
"&utmp=" . urlencode($documentPath) .
"&utmac=" . $account .
"&utmcc=__utma%3D999.999.999.999.999.1%3B" .
"&utmvid=" . $visitorId .
"&utmip=" . getIP($_SERVER["REMOTE_ADDR"]);
probé nodo-ga, pero no obtuvo el seguimiento de eventos para trabajar. nodealytics hizo el trabajo.
Ver Core Reporting API Client Libraries & Sample Code (v3).
También existe la siguiente versión: Google APIs Client Library for Node.js (alpha).
Puesto que todas las respuestas son muy viejo, voy a mencionar un nuevo paquete de NPM: https://www.npmjs.com/package/universal-analytics
Es realmente genial e increíble fácil de usar.
Instalar análisis universales
npm install universal-analytics --save
En el archivo de rutas, requieren el módulo. (Reemplazar process.env.GA_ACCOUNT con cadena como 'UA-12345678-1')
// Init GA client
var ua = require('universal-analytics');
var visitor = ua(process.env.GA_ACCOUNT);
Ahora dentro de sus funciones de punto final, se puede realizar un seguimiento de una visita de página. (Reemplazar request.url con la cadena URL actual como '/api/users/1'
)
// Track pageview
visitor.pageview(request.url).send();
Leer el documentation sobre AU para obtener más información sobre este módulo.
Escribí un script para consultar datos con Node.js de la API de informes principales de Google Analytics (v3). La secuencia de comandos y una descripción detallada de la configuración están disponibles here.
Aquí es la parte de la escritura:
'use strict';
var googleapi = require('googleapis');
var ApiKeyFile = require('mywebsiteGAapi-6116b1dg49a1.json');
var viewID = 'ga:123456700';
var google = getdefaultObj(googleapi);
var Key = getdefaultObj(ApiKeyFile);
function getdefaultObj(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var jwtClient = new google.default.auth.JWT(Key.default.client_email, null, Key.default.private_key, ['https://www.googleapis.com/auth/analytics.readonly'], null);
jwtClient.authorize(function (err, tokens) {
if (err) {
console.log(err);
return;
}
var analytics = google.default.analytics('v3');
queryData(analytics);
});
function queryData(analytics) {
analytics.data.ga.get({
'auth': jwtClient,
'ids': viewID,
'metrics': 'ga:users,ga:pageviews',
'start-date': 'yesterday',
'end-date': 'today',
}, function (err, response) {
if (err) {
console.log(err);
return;
}
console.log(JSON.stringify(response, null, 4));
});
}
- 1. Uso de Google Analytics para rastrear solicitudes AJAX
- 2. ¿Cómo rastrear las solicitudes de Ajax con Google Analytics?
- 3. Cómo rastrear etiquetas de anclaje con Google Analytics
- 4. Para rastrear clics en un div usando google analytics
- 5. ¿Es posible rastrear enlaces hash como páginas con google analytics?
- 6. rastrear una página de redirección con Google Analytics
- 7. Usar Google Analytics para rastrear las presentaciones de Google Form
- 8. Android: ¿puedo usar Google Analytics dentro de un servicio?
- 9. ¿Cómo puedo rastrear el uso de API en Symfony2?
- 10. ¿Existe una solución similar a Google Analytics para rastrear llamadas REST a un servicio web?
- 11. Uso de JS Callback con Google Analytics
- 12. Uso de R con Google Analytics
- 13. Uso de Google Analytics desde el servidor
- 14. ¿Puedo rastrear múltiples eventos de Google Analytics a la vez?
- 15. Google-Analytics API para rastrear la búsqueda del sitio?
- 16. Paginación en un servicio RESTful
- 17. ¿hay un número máximo de eventos que puede rastrear en Google Analytics para iOS?
- 18. ¿Cómo funciona Google Analytics In-Page Analytics?
- 19. Cómo integrar Google Analytics en GWT mediante el script asíncrono
- 20. cómo cruzar el usuario directo con google analytics
- 21. Google Analytics con múltiples subdominios
- 22. iFrames + Google Analytics + Cookies + P3P
- 23. google analytics seguimiento del servidor
- 24. redireccionamiento de JavaScript con Google Analytics
- 25. cuenta de servicio de Google Analytics OAuth AccessType = Desconectado C#
- 26. Google Analytics Access con C#
- 27. ¿Cómo desencadenar Google Analytics desde el código?
- 28. jQuery pjax y google analytics
- 29. Google Analytics interfiere con history.back() en el navegador android?
- 30. ¿Cómo consumir el servicio web RESTful en mi proyecto JSF?
Esto es realmente divertido ... Sólo estaba dando los toques en un módulo que hace exactamente lo mismo este fin de semana! He estado usando una versión en producción, pero pensé que limpiaría un poco el código antes de lanzarlo allí. – Brad
@Brad: Cuantos más módulos, mejor el usuario :) – red
Ha, quizás. Por ahora, creo que el tuyo satisface la necesidad. ¡Buen trabajo! – Brad