PhoneGap App无法使用Google Analytics

时间:2015-12-23 14:39:25

标签: javascript ios cordova google-analytics

我正在使用analytics.js使用网络应用中的代码跟踪用户活动。

现在构建了Phonegap应用程序ios / android,并希望在Phonegap应用程序中跟踪用户活动,但它没有提供我已阅读并实施解决方案的跟踪结果,如

Phonegap google analytics not tracking at all

https://github.com/blast-analytics-marketing/phonegap-google-universal-analytics

我的问题是:在本机使用phonegap和网络应用程序都使用相同的页面集,我想使用Dimension在单个GA帐户下跟踪相同的页面,但我无法在电话间隙中进行。

有人可以帮我解决这个问题。提前感谢您的帮助。

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
          var ua="UA-XXXXXXX-Y";
          ga('create', ua, {'storage': 'none','clientId': "123"});
          ga('set', 'checkProtocolTask', null);
          ga('set','checkStorageTask',null);

2 个答案:

答案 0 :(得分:8)

两天后,发现solution from the Google Group Phonegap page,这个答案对我有用。谢谢市长,他的回答是

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','gaU');
gaU('create','UA-XXXXXXXX-X',{'storage':'none','clientId':device.uuid});
gaU('set','checkProtocolTask',null);
gaU('set','anonymizeIp',true);
gaU('set','forceSSL',true);
gaU('send','pageview',{'title':'I heart Cordova','page':'/cordova'});
gaU('send','event',{'eventCategory':'My_Category','eventAction':'My_Action','eventLabel':'Event_Label','eventValue':11});

注释:

  • 您必须将google-analytics.com的网址设置为使用http或https(默认设置为//试图加载文件://这不起作用)

  • 使用必须关闭'storage'并添加一个clientId,您可以使用Cordova device.uuid

  • 您必须通过将checkProtocolTask​​设置为null来禁用协议检查(因为file://不起作用)

  • 这仅适用于新的“通用”分析。您的GA帐户必须创建为“网站”而不是“移动应用”

答案 1 :(得分:0)

据我所知,在最新版本的Google Analytics(分析)中明确禁止这样做。他们现在在文档中清楚地说:

  

在Android的WebView中使用Analytics(分析)

     

在WebView中触发的记录事件或设置用户属性的调用必须转发到本机代码,然后才能发送到Google Analytics(分析)中的应用报告。

https://developers.google.com/analytics/devguides/collection/firebase/android/webview