2010-10-29 7 views
5

Tengo una aplicación que se ejecuta en dispositivos móviles como Android, y tengo un código js de rastreo de tráfico de terceros para rastrear el uso de mi aplicación. Por lo tanto, cada vez que un usuario abre mi aplicación, el código js envía un ping al servidor de seguimiento de terceros. Sin embargo, no estoy seguro de si hay una manera fácil de insertar el código js directamente en mi aplicación que no está basada en el navegador y no pudo interpretar el código js. Así que puede que tenga que ejecutar el código js en el lado del servidor. El código de tercera parte es la siguiente:La forma más fácil de ejecutar javascript en el lado del servidor

<script type="text/javascript" src="http://www.3rdparty.com/tracking.lib.js"></script> 
<script type="text/javascript"> 
    var instance = new Tracking(); 
    instance.run(); 
</script> 

Cuál es la forma más fácil de ejecutar este código en el lado del servidor?

Gracias de antemano.

+1

Creo que debería investigar qué está haciendo ese código antes de decidir si ejecutar en el servidor tiene algún sentido. Por ejemplo: la mayoría de las herramientas de seguimiento se basan en una cookie, que debe ser un valor único por cliente. – Pointy

Respuesta

5

Existen varias soluciones para ejecutar javascript en el lado del servidor (Node.JS, o algo basado en Rhino), pero ese código probablemente depende de la funcionalidad que solo existe en un navegador.

EDITAR

que respondieron a la pregunta, pero en realidad no abordar el problema. Incluso si el código se ejecutará en el servidor, no funcionará como se esperaba. Realmente necesita encontrar una mejor solución para rastrear el uso de una aplicación no basada en la web.

La pregunta que debería haber hecho es: ¿Cómo puedo rastrear el uso de una aplicación de Android?

Si ya está ejecutando un servidor, podría escribir un servicio web simple que registra el uso, solo necesita abrir una conexión HTTP desde su aplicación.

Me sorprendería si no hay soluciones existentes, pero no soy un tipo de Android, por lo que no sabría.

Yo sugeriría eliminar esta pregunta y reemplazarla por una que trate de lo que realmente está tratando de lograr.

+0

Gracias. ¿Pero podrías elaborar cómo hacer eso en node.js? – Shawn

+0

@ Shawn, actualicé mi respuesta para ser más útil. – mikerobi

1

No estoy seguro si es realmente posible.

Si es un Java Server, puede utilizar el Marco BeanScripting, pero :

Si el código Javascript hace algunos cálculos, como la pantalla de tamaño, navegador, etc Usted no recibirá esa información.

No puede obtener la dirección IP ni el cliente HTTP (qué navegador, etc.).

I No conozco el código JavaScript, por lo que podría estar equivocado.

De hecho, el código de Javascript llamará a su Servidor para almacenar la información. Puede revertir el generador de la información enviada, usando un Sniffer de Red.

0

'Así que puede que tenga que ejecutar el código js en el lado del servidor. 'No es necesario que se ejecute en un navegador lateral nclient, o en el componente del navegador en su aplicación nativa - "Vista web" o solicite una API REST, obtenga información del teléfono desde el código nativo y llame a la API (servicio web en http en la mayoría de los casos)

Cuestiones relacionadas