本页是开发人员常见问题解答媒体分析.你可能还会对媒体分析用户常见问题.
你需要加上&enablejsapi = 1
转到Youtube网址:阅读更多关于设置Youtube分析.
如果您使用Vimeo视频将默认跟踪< iframe >
嵌入代码:了解更多关于设置Vimeo分析.
默认情况下,SoundCloud将被跟踪< iframe >
嵌入代码。
HTML5视频和音频将被默认跟踪,为您的HTML5提供广泛的分析报告< >视频
而且<音频>
元素。了解更多HTML5视频分析而且HTML5音频分析.
您可以像这样重新扫描整个文档以寻找新媒体:
_paq.push ([' MediaAnalytics:: scanForMedia ']);
如果你只更新了网页的部分内容,你可以通过传递一个DOM元素作为第二个参数,在该区域搜索新添加的视频和音频:
var updatedElement = document.getElementById('justUpdatedElement');_paq.push(['MediaAnalytics::scanForMedia', updatedElement]);
是的,您可以通过调用以下方法启用调试模式:
_paq.push ([' MediaAnalytics:: enableDebugMode ']);
调用此方法将开始将所有跟踪请求和更多信息记录到浏览器的开发人员控制台。
是的,可以通过调用该方法来实现setPingInterval
.缺省情况下,每5秒发送一次更新。更频繁地发送ping可能有助于获得更准确的统计信息,更低频率地发送ping可能有助于减少服务器必须处理的通信量。
var intervalInSeconds = 2;_paq.push(['MediaAnalytics::setPingInterval', intervalInSeconds]);
确保尽可能早地调用该方法,例如刚调用完_paq.push(['setSiteId', 'X']);
Matomo可以让您跟踪一个网站到不同的Matomo安装或进入不同的Matomo网站。了解更多关于使用JavaScript跟踪指南中的多个Matomo跟踪器.
如果你用的是普通的_paq.push
跟踪方法,当你创建更多的跟踪器时,一切都会开箱即用_paq.push(['addTracker', url, idsite]);
使用_paq.push
当你想要跟踪相同的数据到不同的Matomo安装或不同的Matomo网站时,用于多个跟踪器是一个很好的和简单的方法。
//配置第一个跟踪器_paq。push ([' setTrackerUrl ', ' https://example.com/matomo.php ']);_paq.push(['setSiteId', 1]); // configuration of second tracker _paq.push(['addTracker', 'https://example.com/matomo.php', 2]);
如果你正在使用Matomo跟踪实例,因为你想不同地配置每个跟踪实例,并跟踪不同的数据到每个Matomo,你需要手动设置跟踪实例:
窗口。matomoAsyncInit = function(){//从Matomo 2.17.1开始。在2.17.1之前,您需要定义一个方法// '窗口。matomoMediaAnalyticsAsyncInit` instead of `window.matomoAsyncInit`. var matomoTracker1 = Matomo.getTracker('https://example.com/matomo.php', 1); var matomoTracker2 = Matomo.getTracker('https://example.com/matomo.php', 2); var matomoTracker3 = Matomo.getTracker('https://example.com/matomo.php', 3); Matomo.MediaAnalytics.setMatomoTrackers([matomoTracker1, matomoTracker2, matomoTracker3]); // Media Analytics tracking is enabled by default, you can customize the tracking like this: matomoTracker2.MediaAnalytics.disableTrackProgress(); matomoTracker3.MediaAnalytics.disableTrackEvents(); }
在加载Matomo跟踪器文件之前定义这些方法非常重要。否则,你matomoAsyncInit
或matomoMediaAnalyticsAsyncInit
方法永远不会被调用。
是的。要初始化Media跟踪器,需要定义一个回调方法window.matomoMediaAnalyticsAsyncInit
它将在媒体跟踪器初始化后立即执行。一旦调用这个回调函数,您就可以确定Matomo。MediaAnalytics
对象的定义。
在matomo.js
跟踪器我们区分两种方法:
.
).例如MediaAnalytics.disableTrackEvents
指一个跟踪器方法跟踪器,可以被称为tracker.MediaAnalytics.disableTrackEvents ()
.::
.例如MediaAnalytics: removePlayer
引用静态方法Matomo.MediaAnalytics.removePlayer ()
.window.matomoMediaAnalyticsAsyncInit= function () { // static methods var intervalInSeconds = 2; Matomo.MediaAnalytics.removePlayer('youtube'); Matomo.MediaAnalytics.setPingInterval(intervalInSeconds); // tracker methods var tracker = Matomo.getAsyncTracker(); // get tracker instance if you do not have a reference to the tracker instance yet tracker.MediaAnalytics.disableTrackEvents(); };
是的。静态方法disableMediaAnalytics
禁用对所有创建的跟踪器实例的跟踪。然而,跟踪器的方法disableTrackEvents
而且disableTrackProgress
可用于仅对特定跟踪器实例禁用跟踪,如下所示:
window.matomoMediaAnalyticsAsyncInit= function () { // get tracker instance if you do not have a reference to the tracker instance yet var tracker = Matomo.getAsyncTracker(matomoSiteUrl, piwikSiteId); tracker.MediaAnalytics.disableTrackEvents(); tracker.MediaAnalytics.disableTrackProgress(); };
在大多数情况下,Matomo将自动检测视频或音频的标题。如果您正在使用旧版本的媒体播放器,或者不允许我们自动检测标题的外来媒体播放器,您可以根据自己的自定义逻辑定义一个回调方法来手动检测视频或音频的标题。
例如,如果你总是在一个页面上只有一个视频,你可以回退使用页面标题作为视频标题:
_paq.push(['MediaAnalytics::setMediaTitleFallback', function (mediaElement) { return document.title; }]);
如果页面上有多个视频,或者希望检测相对于视频或音频元素的标题,则可以基于mediaElement
论点:
_paq.push(['MediaAnalytics::setMediaTitleFallback', function (mediaElement) { return $(mediaElement).parent().find('h2').text(); }]);