我有一个用 Phonegap 和 jQueryMobile 构建的 HTML5 应用程序,我正在为 Android 测试它。我想加入 Analytics,但我采用的每一种方法都会遇到障碍。
这个解决方案真的让我很兴奋:只需包含一个 JS 文件,在 html 中初始化 Analytics,我就准备好了。它看起来非常有前途。它在浏览器中工作。但不是在我运行 Android 4.1.2 的 Nexus S 上。
我把这个脚本放在文件头的末尾:
<script type="text/javascript" src="GALocalStorage.js"></script>
<script>
ga_storage._setAccount('UA-XXXXXXXX-1');
ga_storage._trackPageview('/index.html');
ga_storage._trackEvent('Startup','Starting scripts all loaded')
</script>
在应用程序启动的早期,我得到了这些令人鼓舞的调试迹象:
09-05 21:47:49.558: V/GAV3(22963): Thread[GAThread,5,main]: connecting to Analytics service
09-05 21:47:49.609: V/GAV3(22963): Thread[GAThread,5,main]: connect: bindService returned true for Intent { act=com.google.android.gms.analytics.service.START (has extras) }
09-05 21:47:49.656: V/GAV3(22963): Thread[GAThread,5,main]: Loaded clientId
...
09-05 21:47:49.660: I/GAV3(22963): Thread[GAThread,5,main]: No campaign data found.
09-05 21:47:49.664: V/GAV3(22963): Thread[GAThread,5,main]: putHit called
不久之后出现了一些“Unknown Chromium error: 0”。当我将 GALocalStorage 设置为调试模式时,我发现这几乎总是在“跟踪事件”之后。
然后,很久以后,这些行出现了:
09-05 21:47:52.558: V/GAV3(22963): Thread[Failed Connect,5,main]: falling back to local store
09-05 21:47:52.609: V/GAV3(22963): Thread[GAThread,5,main]: Sending hit to store PATH: https: PARAMS: v=1, ul=nl-nl, t=appview, ht=1378410463883, sr=480x800, an=True-Budget, tid=UA-XXXXXXX-1, aid=com.mappingtheforest.truebudget, cid=c1c63a4d-0dfd-48fb-9e8a-1371e06d28b4, av=1.0.0, _u=.KnL,
09-05 21:47:52.777: V/GAV3(22963): Thread[GAThread,5,main]: PowerSaveMode initiated.
09-05 21:47:52.937: V/GAV3(22963): Thread[GAThread,5,main]: PowerSaveMode terminated.
09-05 21:47:52.937: V/GAV3(22963): Thread[GAThread,5,main]: Dispatch running...
09-05 21:47:52.976: V/GAV3(22963): Thread[GAThread,5,main]: User-Agent: GoogleAnalytics/3.0 (Linux; U; Android 4.1.2; nl-nl; Nexus S Build/JZO54K)
09-05 21:47:52.976: V/GAV3(22963): Host: ssl.google-analytics.com
09-05 21:47:52.976: V/GAV3(22963): GET /collect?v=1&ul=nl-nl&t=appview&ht=1378410463883&sr=480x800&an=True-Budget&tid=UA-XXXXXXXX-1&aid=com.mappingtheforest.truebudget&cid=c1c63a4d-0dfd-48fb-9e8a-1371e06d28b4&av=1.0.0&_u=.KnL&_v=ma3.0.0&qt=9079&z=1 HTTP/1.1
我已经确保 google-analytics.com 域在 Phonegap 的 config.xml 文件中被列入白名单。
这是怎么回事?