Commit 41c09f02 authored by 杨培's avatar 杨培

添加 Matomo 追踪服务

parent 3310bc16
...@@ -10,19 +10,61 @@ use internalApi\ucenter\Track; ...@@ -10,19 +10,61 @@ use internalApi\ucenter\Track;
require __DIR__.'/_init.php'; require __DIR__.'/_init.php';
$time = time();
//echo Track::track('test'); //echo Track::track('test');
$ret = Track::trackAsync('_view', 12, time(), [ //$ret = Track::trackAsync('_view', 12, time(), [
'内容标题' => '这是一个测试你懂的', // '内容标题' => '这是一个测试你懂的',
'内容ID' => '123', // '内容ID' => '123',
'内容类型' => '帖子', // '内容类型' => '帖子',
'_id' => '123', // '_id' => '123',
'_title' => '这是一个测试你懂的', // '_title' => '这是一个测试你懂的',
'_type' => 'post', // '_type' => 'post',
'_author' => 12, // '_author' => 12,
'_visitor' => uniqid(), // '_visitor' => uniqid(),
'_reflow' => 1 // '_reflow' => 1
]); //]);
$normalProps = [
['setUserId', 18],
['setForceVisitDateTime', date('Y-m-d H:i:s', $time)],
['setLocalTime', date('H:i:s', $time)],
['setUserAgent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'],
];
//追踪普通页面浏览
//$ret = Track::matomoBulk(array_merge($normalProps, [
// ['setUrl', 'http://www.baidu.com/'],
// ['doTrackPageView', '页面标题测试']
//]));
//追踪事件
//$ret = Track::matomoBulk(array_merge($normalProps, [
// ['setUrl', 'http://www.baidu.com/'],
// ['setCustomVariable', 1, '商品ID', '12345', 'page'],
// ['setCustomVariable', 2, '商品SKU', 'M(D*YGH)H#@(_', 'page'],
// ['setCustomVariable', 3, '商品价格', '99.99', 'event'],
// ['doTrackEvent', '扳手会', '大摇大摆']
//]));
//追踪商品订单
//$ret = Track::matomoBulk(array_merge($normalProps, [
// ['setUrl', 'http://www.baidu.com/'],
// ['addEcommerceItem', 'sku111', '苹果iPhone11', '手机', '6666', 1],
// ['addEcommerceItem', 'sku121', 'iPhone11 手机壳', '手机', '10', 1],
// ['addEcommerceItem', 'sku211', '一次性口罩', '生活用品', '0.5', 10],
// ['doTrackEcommerceOrder', 'order201911221659002', '6660', '6681']
//]));
//追踪加入购物车操作
$ret = Track::matomoBulk(array_merge($normalProps, [
['setUrl', 'http://www.baidu.com/'],
['addEcommerceItem', 'sku130', 'iPhone 6s 高容量电池', '手机', '100', 1],
['addEcommerceItem', 'sku123', 'iPhone11 手机壳 666', '手机', '10', 1],
//['doTrackEcommerceCartUpdate', 110],
['doTrackPageView', '购物车']
]));
print_r($ret); print_r($ret);
echo "\n"; echo "\n";
...@@ -58,4 +58,19 @@ class Track extends Client ...@@ -58,4 +58,19 @@ class Track extends Client
return self::call('track.update', compact('id', 'uid', 'time', 'props')); return self::call('track.update', compact('id', 'uid', 'time', 'props'));
} }
/**
* 发起 Matomo 调用
*
* 所有方法参考 Matomo PHP-Piwik-Tracker 文档
* 发送后将自动使用 bulk 模式调用,所以请不要调用 enableBulkTracking 和 doBulkTrack 这两个方法
*
* @see https://developer.matomo.org/api-reference/PHP-Piwik-Tracker
* @param array $bulks
* @return bool|int
*/
public static function matomoBulk($bulks)
{
return self::emit('track.matomoBulk', func_get_args());
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment