我正在使用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);
答案 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