我在谷歌分析上有一个网络应用程序,例如在用户登录时对事件进行调用:
_gaq.push(['_trackEvent', 'webapp', 'account', 'login', , false]);
我有一个与桌面应用程序相同的Web应用程序(一个在我的客户端桌面上)。如果用户从桌面应用程序登录,它会向我的Web应用程序发送请求,并使用params告诉登录。所以,假设当用户登录桌面应用程序时,它向“http://mywebapp.com/?UserID=[userid]&op=login”发送请求,webapp保存数据,我希望它能够调用google analytics with,
_gaq.push(['_trackEvent', 'desktopapp', 'account', 'login', , false]);
有可能吗?我的webapp是MVC 4 C#。
答案 0 :(得分:5)
绝对是的。您的服务器只需要为Google Analytics形成正确的网址字符串,例如:
http://www.google-analytics.com/__utm.gif?utmwv=4.4sj&utmn=2013699399&utmhn=localhost&utmr=-&utmp=%2Fwebapp&utmac=XX-999999-99&utmcc=__utma%3D999.999.999.999.999.1%3B&utmvid=0x10ccd599999999&utmip=
(您需要检查并将某些请求参数更改为合理的内容 - 阅读更多参数here)。
然后从服务器代码中打开URL。在Java中,您可以这样做:
URL url = new URL(urlAsString);
URLConnection connection = url.openConnection();
connection.setUseCaches(false);
connection.addRequestProperty("User-Agent", "MyBrowser/1.0 MyEngine/1.0");
connection.addRequestProperty("Accept-Language", "en-US");
connection.getContent();
这是一个类似的问题:C#的How to trigger Google Analytics from code?。
更新2014年7月18日
随着Universal Analytics的推出,现在可以更轻松地进行服务器端分析集成 - 有关详细信息,请参阅SA上的以下帖子:Is there any way to post events to Google Analytics via server-side API?