2010-10-29 62 views
5

我有一个运行在android等移动设备上的应用程序,并且我有一些第三方流量跟踪js代码来跟踪我的应用程序的使用情况。所以每当用户打开我的应用程序时,js代码就会向第三方跟踪服务器发送一个ping。然而,我不确定是否有一种简单的方法将js代码直接嵌入到我的应用程序中,该应用程序不是基于浏览器的,并且无法解释js代码。所以我可能必须在服务器端执行js代码。第三方代码是这样的:在服务器端运行javascript的最简单方法

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

在服务器端运行此代码的最简单方法是什么?

在此先感谢。

+1

我认为你应该在决定在服务器上运行是否有意义之前,调查一下代码在做什么。例如:像这样的大多数跟踪工具都依赖于cookie,每个客户端都需要一个独特的值。 – Pointy 2010-10-29 14:01:17

回答

5

有几种运行服务器端JavaScript(Node.JS,或基于Rhino的东西)的解决方案,但该代码可能依赖于仅存在于浏览器中的功能。

编辑

我回答了这个问题,但我并没有真正解决问题。即使代码将在服务器上运行,它也不会按预期运行。你真的需要想出一个更好的解决方案来跟踪非基于web的应用程序的使用情况。

您应该问的问题是:如何跟踪Android应用程序的使用情况?

如果您已经在运行服务器,他们可以编写一个简单的Web服务来记录使用情况,您只需要在您的应用程序中打开HTTP连接。

如果没有现有的解决方案,我会感到惊讶,但我不是一个Android的人,所以我不知道。

我会建议删除这个问题,并将其替换为您实际尝试完成的目标。

+0

谢谢。但是,你能否详细说明如何在node.js中做到这一点? – Shawn 2010-10-29 14:04:05

+0

@Shawn,更新我的答案更有帮助。 – mikerobi 2010-10-29 14:47:02

1

我不确定它是否真的有可能。

如果它是一个Java的服务器可以使用BeanScripting框架,

如果Javascript代码做一些计算像屏幕尺寸,浏览器等,您将无法获得这些信息。

您无法获取IP或HTTP客户端(哪个浏览器等)。

我不知道JavaScript代码,所以我可能是错的。

事实上,Javascript代码将调用您的服务器来存储信息。您可以通过使用网络嗅探器来反转发送的信息。

0

'所以我可能必须在服务器端执行js代码。 '不需要它运行在你的本地应用程序中的nclient侧浏览器或浏览器lke组件上 - “Web视图”或者向他们请求REST API,从本地代码获取手机信息并调用API(全部通过http在大多数情况下)

相关问题