【发布时间】:2015-05-22 12:44:15
【问题描述】:
我在 Ionic/Cordova 应用程序中使用 google-analytics-plugin。当我处于调试模式时,一切正常,使用以下代码:
$ionicPlatform.ready(function() {
if (typeof analytics !== "undefined") {
analytics.startTrackerWithId("UA-x-x");
} else {
console.log("Google Analytics Unavailable");
}
});
无论哪个模板(页面)需要跟踪,我都将它添加到它的控制器中:
analytics.trackView('my-page');
但是在我使用我的密钥库文件签署我的应用程序然后安装 apk 后,该应用程序卡在 index.html 页面上,即错误在于任何运行分析的模板。我检查了logcat,发现了这个:
D/CordovaLog(29315): file:///android_asset/www/lib/ionic/js/ionic.bundle.js: Line 19387 : ReferenceError: analytics is not defined
D/CordovaLog(29315): at new <anonymous> (file:///android_asset/www/js/controllers.js:224:5)
D/CordovaLog(29315): at invoke (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11994:17)
D/CordovaLog(29315): at Object.instantiate (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:12002:27)
D/CordovaLog(29315): at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:16255:28
D/CordovaLog(29315): at self.appendViewElement (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:47320:24)
D/CordovaLog(29315): at Object.switcher.render (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:45864:41)
D/CordovaLog(29315): at Object.switcher.init (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:45784:20)
D/CordovaLog(29315): at self.render (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:47225:14)
D/CordovaLog(29315): at self.register (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:47181:10)
D/CordovaLog(29315): at updateView (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:50834:23)
【问题讨论】:
-
错误是“未定义分析”。您可以在平台/android 中检查您的插件文件夹,这个 google-analytics 是否可用?由于某种原因,您的插件对您的应用不可见。
-
是的,它可用。而且,如果您错过了它,当 apk 未签名时,该插件确实可以工作。
-
是的,这很奇怪。日志中在此之前是否有任何错误。此错误意味着插件不是“可见的”。因为正如您所说,插件在那里,所以加载cordova上下文时一定有一些错误,可能或在此之前导致插件不可用。重新加载页面时,Web 浏览器控制台中是否有任何内容?
-
在网络浏览器上显示“Google Analytics Unavailable”,这很好,因为它无法在浏览器上运行。不,没有任何与 Cordova 相关的错误(我正在使用
adb logcat CordovaLog:D *:S过滤它们)。如果您知道这不是阅读日志的正确方式,请告诉我。 -
当我说要在浏览器中调试时,我想在设备上运行应用程序,但要在浏览器上调试。请查看此链接developer.chrome.com/devtools/docs/remote-debugging。
标签: android cordova google-analytics cordova-plugins