Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
混合Android Phonegap应用程序分析与Piwik_Android_Cordova_Analytics_Hybrid Mobile App_Matomo - Fatal编程技术网

混合Android Phonegap应用程序分析与Piwik

混合Android Phonegap应用程序分析与Piwik,android,cordova,analytics,hybrid-mobile-app,matomo,Android,Cordova,Analytics,Hybrid Mobile App,Matomo,如果使用Google Analytics,跟踪Phonegap中创建的Android混合应用的应用使用情况和事件是一件容易的事情。我使用实现了自己的解决方案。我原以为实现Piwik分析同样容易。我从开始,然后按照说明编写了一个小测试应用程序。我使用了phonegapjQueryMobileStarter模板,该模板的app.js经过了以下修改 $(document).on("deviceready", function() { deviceReadyDeferred.resolve();

如果使用Google Analytics,跟踪Phonegap中创建的Android混合应用的应用使用情况和事件是一件容易的事情。我使用实现了自己的解决方案。我原以为实现Piwik分析同样容易。我从开始,然后按照说明编写了一个小测试应用程序。我使用了phonegap
jQueryMobileStarter
模板,该模板的
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); 
}
解释

  • 我已经尝试加入足够多的错误处理,以确保Piwik分析的失败不是由于测试代码中的其他原因
  • 在PageContainerShow事件中,我为index.html页面上的一个按钮连接了click事件,以将
    trackEvent
    消息发送回位于“”的Piwik API
  • siteID
    是我创建的“网站”的ID,它是从我的Piwik管理控制台上的所有网站列表中获取的
  • 为了更好地衡量,我修改了Phonegap
    config.xml
    文件

    访问来源=“*” 访问来源=”https://mypiwikserver.com"

完成所有这些之后,我构建了应用程序,将其安装在我的Android手机上,打开它,然后转到我的Piwik网络控制台,希望看到一个事件登录到操作:事件。然而,我发现它顽固地保持空白。我没有注意到任何错误消息,我所有的
警报都如预期的那样出现,因此我看不出我在这里可能做错了什么。我非常感谢您的帮助。

@DroidOS,
我假设您有一个
白名单问题。我不能证实这一点,但我已经读过(可能在白名单文档中),一些调整是为*一些*谷歌网站所做的

这个快速的回答可能会给你一个快速的解决方案

许多常见白名单问题的修复 另一种选择是这种快速修复方法–但要知道,这种快速修复方法消除了对
白名单的所有需求。这会创建一个您可能不想绕过的对象

快速修复将其添加到您的
config.xml
中,仅用于PHONEGAP构建

答案是这样的:

从您点击的:

  • #6不为编译器设置“phonegap版本”
  • #7不为插件设置“版本”
  • #10不在config.xml中添加新的“白名单”和“白名单插件”参数。
第六和第七节

对于CLI版本,如果未为平台分配版本,或者在“Phonegap构建”中,如果未在config.xml中设置Phonegap版本,则将获得最新版本。如果你幸运的话,你的程序就像预期的那样工作。如果你运气不好,你会得到一组级联错误

幸运的是,霍莉·辛斯基(Holly Schinsky)写了一篇很好的博客文章来解释这一切:

Cordova/PhoneGap版本混淆

10英镑

这一相对较新的要求意味着——要访问任何网站或网络资源,必须使用白名单和白名单插件。如果您使用cordova,此要求将生效-android@4.0.0或者更好;包括cli-5.1.1和cli-5.2.0。但是,如果您的版本在4.0.0之前,比如说3.5.0或3.7.0,那么您将不必添加白名单要求

要明确的是,“白名单”已经存在了一段时间,但是插件和需求是非常新的。正如您所预料的,当添加“白名单”时,事实上的开放访问功能被弃用。或者换一种方式说,事实上的开放存取功能已经计划好并计划取消。此更改标志着删除开放存取功能的一个步骤

此外,内容安全策略(CSP)吸引了众多开发者,因为它的宣传太少了。根据您的使用情况和使用的Phonegap版本,CSP需要进入您使用的每个HTML页面,就像您必须等待“deviceready”一样。然而,在有些情况下根本不需要它。有些人对文档感到困惑,请仔细阅读。文档隐藏在许多最新文档页面的底部

最后,雷蒙德·卡姆登在他的博客中指出

相关链接

Phonegap构建论坛:现在需要白名单

@机器人,
我假设您有一个
白名单问题。我不能证实这一点,但我已经读过(可能在白名单文档中),一些调整是为*一些*谷歌网站所做的

这个快速的回答可能会给你一个快速的解决方案

许多常见白名单问题的修复 另一种选择是这种快速修复方法–但要知道,这种快速修复方法消除了对
白名单的所有需求。这会创建一个您可能不想绕过的对象

快速修复将其添加到您的
config.xml
中,仅用于PHONEGAP构建

答案是这样的:

从您点击的:

  • #6不为编译器设置“phonegap版本”
  • #7不为插件设置“版本”
  • #10不在config.xml中添加新的“白名单”和“白名单插件”参数。
第六和第七节

对于CLI版本,如果未为平台分配版本,或者在“Phonegap构建”中,如果未在config.xml中设置Phonegap版本,则将获得最新版本。如果你幸运的话,你的程序就像预期的那样工作。如果你运气不好,你会得到一组级联错误

幸运的是,霍莉·辛斯基(Holly Schinsky)写了一篇很好的博客文章来解释这一切:

Cordova/PhoneGap版本混淆

10英镑

这一相对“新”的要求意味着