benallfree / laravel-trackable
多站访问者跟踪。
dev-master
2018-08-11 02:23 UTC
Requires
- php: >=5.5.0
- doctrine/dbal: ^2.5
- illuminate/support: 5.*
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2024-09-26 23:42:31 UTC
README
Trackable 使用 Drip/Segment 风格的联系人跟踪和点击记录。Trackable 使用 Cookie 来跟踪页面上的时间以及独特的用户活动,因此您可以提出复杂的问题,例如“我的哪些用户阅读了我的文章?”或者“我的注册用户在阅读页面 A 之后在页面 B 上花费了多长时间?”
安装
在您的主视图中包含
-echo(\Trackable::scripts());
在 app/config.php
查找
'providers' => [
BenAllfree\Trackable\TrackableServiceProvider::class, // Insert before RouteServiceProvider
App\Providers\RouteServiceProvider::class,
]
别名模型
'aliases' => [
'Contact'=> \BenAllfree\Trackable\Models\Contact::class,
'ContactMeta'=> \BenAllfree\Trackable\Models\ContactMeta::class,
'Action'=> \BenAllfree\Trackable\Models\Action::class,
'ActionMeta'=> \BenAllfree\Trackable\Models\ActionMeta::class,
'Site'=> \BenAllfree\Trackable\Models\Site::class,
'SiteHelper'=> \BenAllfree\Trackable\Helpers\Site::class,
'Visitor'=> \BenAllfree\Trackable\Helpers\Visitor::class,
'Trackable'=> \BenAllfree\Trackable\Helpers\Trackable::class,
]
在 app/Http/Kernel.php
中添加一个中间件组
protected $middlewareGroups = [
'trackable' => [
\BenAllfree\Trackable\Middleware\InitializeContact::class,
\BenAllfree\Trackable\Middleware\LogHit::class,
],
];
然后使用中间件,例如在 app/routes/web.php
Route::group(['middleware'=>'trackable'], function() {
...any routes you want tracked...
});
然后发布
./artisan vendor:publish
访问和检索用户属性
$u = \Visitor::get(); // Get the current user (based on cookie)
$u->meta('foo', 'bar'); // Set foo=bar on the Contact model
$u->meta('foo'); // Retrieve the value of foo
$u->toArray(); // Retrieve a key/value array of all Contact attributes
扩展模型
有时,您可能需要扩展模型,特别是使用便利调用或额外字段扩展 Site
和 Contact
模型。
注册动作和目标
如果您想为联系人记录一个目标
Visitor::get()->goal('some-goal-name', ['meta'=>'data']);