当我使用cordova run android
通过USB连接设备时,我的事件在Google Analytics中完美显示。但是,当我在Play商店的同一设备(或其他设备)上安装相同的代码时,我无法获得任何事件或页面加载。
我现在只使用Android(显然)。我的config.xml已经设置为<access origin="*" />
,但是当它没有工作时,我添加了这些(冗余?)好的措施:
<access origin="http://*.google-analytics.com"/>
<access origin="https://*.google-analytics.com"/>
它没有与这两种状态一起工作。知道为什么会这样吗?
已安装的插件:
cc.fovea.cordova.purchase 4.0.0 "Purchase"
cordova-plugin-device 1.1.0 "Device"
cordova-plugin-dialogs 1.2.0 "Notification"
cordova-plugin-file 3.0.0 "File"
cordova-plugin-google-analytics 0.8.1 "Google Universal Analytics Plugin"
cordova-plugin-splashscreen 3.0.0 "Splashscreen"
cordova-plugin-statusbar 2.0.0 "StatusBar"
cordova-plugin-whitelist 1.2.0 "Whitelist"
cordova-plugin-x-socialsharing 5.0.7 "SocialSharing"
cordova-plugin-x-toast 2.3.1 "Toast"
config.xml:http://pastebin.com/mRH2jaET
Cordova版本5.4.1
只是为了澄清以防任何歧义:
关于我的应用程序的其他所有工作正常。所有其他插件都按预期工作,当我在本地安装时,Google Analytics插件按预期工作。
我已经在我的.html文件中设置了CSP,而且我没有任何与CSP相关的错误。
答案 0 :(得分:0)
@Sarah,
在审核了您的config.xml
之后,很明显您是Cordova / Phonegap的新手。您正在使用混合的XML组件,而不知道它们的意思和使用方式。
0) Phonegap Build 是一个由Phonegap / Adobe运营的基于云的构建服务。
1)您没有在Stackoverflow帖子中使用 Phonegap Build 标记。这与您的帖子和config.xml
。
2)您在某些XML组件上使用gap:
前缀。此前缀仅适用于 Phonegap Build ,这是Phonegap / Adobe提供的基于云的服务。
3)您还在使用xmlns:android="http://schemas.android.com/apk/res/android"
。
此组件用于将XML组件添加到最终AndroidManifest.xml
,但这仅适用于 Phonegap Build 。据我所知,任何其他工具集都不支持。
4)这似乎支持#3。
<gap:config-file platform="android" parent="/manifest">
<application android:debuggable="false" />
</gap:config-file>
但是,android:debuggable="false"
不需要使用,因为所有使用Cordova的框架都有 debug 和 release 开关。超过两(2)年不需要这段代码。在一些较旧的博客上可以看到它,但博客已经过时了。注意:任何超过6个月的博客(截至今日2015-12-28)都有可能过时和错误。
5)<feature (...) />
仅与SDK一起使用。这是为了支持IDE,因此我的原始问题。
参见文档 - &gt; The config.xml
File - &gt; 功能元素
我引用
如果使用CLI构建应用程序,则使用plugin命令启用设备API。这不会*修改顶级config.xml文件,因此
<feature>
元素不适用于您的工作流程。如果您直接在SDK中工作并使用特定于平台的config.xml文件作为源,则可以使用
<feature>
标记来启用设备级API和外部插件。他们通常在特定于平台的config.xml文件中显示自定义值。
6)同样,您使用的是gap:
前缀,但在这种情况下,您正在使用插件。您使用的是过时的名称,但未列出new source=npm
但同样,您没有使用 Phonegap Build 标记。这让我相信你正在使用样板,但你可能使用了错误的样板。这是因为Cordova / Phonegap有3个平台。阅读#1
的Top Mistakes by Developers new to Cordova/Phonegap 7)您正在使用<engine name="android" spec="~4.1.1" />
。这个和whitelist
条目告诉我这是一个相当新的锅炉板。 Cordova Android is pinned to 4.1.1的最新版本。另请参阅Platforms and Plugins Version Management - &gt;保存平台
8)您需要使用whitelist
插件,并根据您编写的代码的方式,您需要使用CSP
。
总结,您拥有 Phonegap Build , Phonegap SDK 的组件,但您的帖子表明您正在使用 Phonegap CLI < / em>的。在继续之前,你需要解读你所拥有的烂摊子。
最后,您无法从 Play商店进行安装,因为如果您从Play商店获得了&#34;我将无法获得任何活动或页面加载。&#34; <正如你所说的那样 - 你永远不会在商店里开始。
我强烈建议你重新开始并一次做一(1)个插件,否则你会让自己疯狂。就此而言,在这个时间点,我能做的最好的事情就是重新开始你的工作。因此,这里有一些阅读:Top Mistakes by Developers new to Cordova/Phonegap - 最好的运气