如果使用Google Analytics,则跟踪在Phonegap中创建的Android混合应用的应用使用情况和事件很容易。我使用this Cordova plugin实现了自己的解决方案。我曾预计实施Piwik分析会同样容易。我从this plugin开始,然后按照说明编写一个小测试应用程序。我使用了jquery-mobile-starter
模板,app.js
我修改了以下几行
$(document).on("deviceready", function()
{
deviceReadyDeferred.resolve();
alert('piwik track');
piwik.startTracker('https://example.com/piwik/piwik.php','siteID');
alert('Device Ready');
});
$(document).on("mobileinit", function ()
{
jqmReadyDeferred.resolve();
window.onerror = whenError;
$(document).on('pagecontainershow',pgcShow);
});
function pgcShow()
{
alert('Page Container now SHOWING!!');
$('#btn').click(doClick);
}
function doClick()
{
alert('Click Me');
piwik.trackEvent('click','I was clicked');
}
function whenError(e,u,l)
{
alert(e);
}
说明
trackEvent
消息发送回我的Piwik API,该API位于“https://mypiwikserver.com/piwik/piwik.php”siteID
是我创建的“网站”的ID,用于从我的Piwik管理控制台上的所有网站列表中选择的目的。< / LI>
为了更好的衡量,我修改了Phonegap config.xml
文件
access origin =“*” access origin =“https://mypiwikserver.com”
完成所有这些后,我构建了应用程序,将其安装在我的Android手机上,打开它,然后转到我的Piwik Web控制台,希望看到操作:事件中记录的事件。但是,我发现它一直是空白的。我已经注意到没有错误消息,并且我的所有alerts
都按预期出现,所以我没有看到我在这里做错了什么。我非常感谢你的帮助。
答案 0 :(得分:0)
@DroidOS,
我假设你有一个white-list
问题。我无法证实这一点,但我已经阅读过(可能在白名单文档中),有些住宿是针对*某些*谷歌网站制作的。
这个快速回答可以帮助您快速解决问题。
另一种选择就是快速修复 - 但要知道此快速修复会消除white-list
的所有需求。这会创建一个您可能不希望通过的security issue。
快速修正将此添加到config.xml
PHONEGAP BUILD ONLY
<preference name="phonegap-version" value="3.7.0" />
答案很长:
来自Top Mistakes by Developers new to Cordova/Phonegap你已经点击了:
对于#6&amp; #7
使用CLI版本,如果您没有为您的平台分配版本,或者在&#39;&#39; Phonegap Build&#39;&#39;如果你没有在config.xml中设置phonegap-version,你将获得最新版本。如果运气好,您的程序就会按预期运行。如果你不幸运,你会得到一系列级联错误。
幸运的是,对于我们所有人来说,Holly Schinsky写了一篇很好的博文来解释这一切:
Cordova / PhoneGap版本混淆
http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/
#10
这个相对*新*要求意味着 - 要访问网络上的任何网站或资源,您必须使用白名单和白名单插件。如果您使用cordova-android@4.0.0或更高版本,此要求将生效;包括cli-5.1.1和cli-5.2.0。但是,如果您的版本在4.0.0之前,让我们说3.5.0或3.7.0,那么您将不必须添加白名单要求。
要明确,&#34;白名单&#34;已经存在了一段时间,但插件和要求是非常新的。正如您所期望的那样,&#34;白名单&#34;添加了,defacto开放访问功能已被弃用。或者说另一种方式,事实上开放访问功能已被计划并计划被淘汰。此更改标志着删除开放访问功能的一个步骤。
此外,内容安全策略(CSP)已经吸引了众多开发人员 - 因为它的公开性很差。 根据您的使用情况和您使用的Phonegap版本,CSP需要进入您使用的每个HTML页面,就像您必须等待“设备准备”一样。但是,有些情况根本不需要它。文档让一些人感到困惑,请仔细阅读。文档隐藏在许多最新文档页面的底部。
最后,Raymond Camden在他的博客中指出LARGE change in policy starting with Cordova 5
相关链接
Phonegap Build Forum:Notes for upgrading to cli-5.1.1 on PGB,现在需要白名单