Piwik中特定事件动作的查询计数
Query Count of Specific Event Action in Piwik
我需要使用 Piwik 为我的组织制作一个 widget/plugin,但我有点迷路了。我们向 Piwik 发送自定义事件,例如:
Category: Staff
Action: Login
我如何从 widget/plugin 中查询 piwik 以获得与特定 category/action 匹配的事件数?
这是关于 Events API 的文档。
有 2 种方法您可能会感兴趣:
Events.getCategory
Events.getAction
他们将 return 列表 actions/categories 映射到 nb_uniq_visitors
、nb_visits
和 nb_events
。
nb_events
可能是您应该用来获取每个类别或操作的事件数的方法。下面是查询事件类别列表的例子:
请注意,您不需要为此特别编写 Piwik 插件,您只需要查询 Reporting API。但是,如果您想在 Piwik 中显示这些数字,那么您确实需要编写一个插件。
编辑:您想知道如何从自定义 Piwik 插件中获取该列表。
查看 Calling APIs of other plugins 文档。在您的情况下,您必须像这样调用事件 API:
$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite' => $idSite,
'period' => $period,
'date' => $date,
));
获得 table 后,您可以找到您感兴趣的行:
$row = $table->getRowFromLabel('Staff');
然后获取期间的事件数:
$numberOfEvents = $row->getColumn('nb_events');
请注意,您还可以优化对 API 的调用以过滤并仅获取您正在搜索的标签和您正在使用的列:
$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite' => $idSite,
'period' => $period,
'date' => $date,
'label' => 'Staff',
'showColumns' => 'nb_events',
));
我需要使用 Piwik 为我的组织制作一个 widget/plugin,但我有点迷路了。我们向 Piwik 发送自定义事件,例如:
Category: Staff
Action: Login
我如何从 widget/plugin 中查询 piwik 以获得与特定 category/action 匹配的事件数?
这是关于 Events API 的文档。
有 2 种方法您可能会感兴趣:
Events.getCategory
Events.getAction
他们将 return 列表 actions/categories 映射到 nb_uniq_visitors
、nb_visits
和 nb_events
。
nb_events
可能是您应该用来获取每个类别或操作的事件数的方法。下面是查询事件类别列表的例子:
请注意,您不需要为此特别编写 Piwik 插件,您只需要查询 Reporting API。但是,如果您想在 Piwik 中显示这些数字,那么您确实需要编写一个插件。
编辑:您想知道如何从自定义 Piwik 插件中获取该列表。
查看 Calling APIs of other plugins 文档。在您的情况下,您必须像这样调用事件 API:
$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite' => $idSite,
'period' => $period,
'date' => $date,
));
获得 table 后,您可以找到您感兴趣的行:
$row = $table->getRowFromLabel('Staff');
然后获取期间的事件数:
$numberOfEvents = $row->getColumn('nb_events');
请注意,您还可以优化对 API 的调用以过滤并仅获取您正在搜索的标签和您正在使用的列:
$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite' => $idSite,
'period' => $period,
'date' => $date,
'label' => 'Staff',
'showColumns' => 'nb_events',
));