fideloper / universalanalytics
在服务器端实现 Google 的通用分析测量协议
dev-master
2014-04-10 11:56 UTC
Requires
- kriswallsmith/buzz: dev-master
Requires (Dev)
- mockery/mockery: 0.8.*
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-06 08:17:13 UTC
README
这实现了 Google 的 测量协议。这是一个 RESTful API,您可以使用它从客户端或服务器端发送数据。
这是一个服务器端实现,您可能想用它将与应用程序相关的分析发送到 Google,例如服务器指标、异常跟踪等。
Google 开发者文档可以在 这里 找到。
安装
此包可通过 Packagist 获取。您可以通过在您的 composer.json
文件中添加依赖项来安装它。
{ "require": { "fideloper/universalanalytics": "dev-master" }, }
然后运行
$ composer install # or composer update
注意: Composer 现在默认会安装开发依赖项。[有关更多信息,请参阅](http://seld.be/notes/composer-installing-require-dev-by-default)。对于此项目,这些依赖项是 phpunit 和 mockery。
基本用法
以下是一些基本用法示例
<?php $ua = new \UniversalAnalytics\UA(array( 'v' => 1, 'tid' => 'UX-XXXX-XXX', 'cid' => 555, )); $event = new \UniversalAnalytics\Track\Event; $event->category = 'Video'; $event->action = 'Play'; $event->label = 'Cat Video 42'; $event->value = '0'; $request = $ua->track($event); $response = $request->send();
或者,这里有一个稍微简单一点的实现
$ua = new \UniversalAnalytics\UA(array( 'v' => 1, 'tid' => 'UX-XXXX-XXX', 'cid' => 555, )); $request = $ua->event(array( 'category' => 'Video', 'action' => 'Play', 'label' => 'Cat Video 42', 'value' => '0', ))->track(); $response = $request->send();
IoC 容器
绑定到您的应用
您可能会想将此放入某种 IoC 容器中。这取决于您的应用程序。以下是一个 Laravel 4 的示例。
设置配置文件
// app/config/ga.php <?php return array( 'trackingid' => 'UX-XXXX-XXX', );
然后在您的 Laravel 代码中,可能是 start.php
文件中
App::bind('ua', function() { return new \UniversalAnalytics\UA(array( 'v' => 1, // This likely won't change anytime soon 'tid' => Config::get('ga.trackingid') )); }); // Later, somewhere in your code... $ua = App::make('ua'); $ua->clientid(Auth::user()->id); // Pass in some sort of session-based user id $request = $ua->event(array( 'category' => 'Video', 'action' => 'Play', 'label' => 'Cat Video 42', 'value' => '0', ))->track(); $response = $request->send();
待办事项
- 请求应具有请求者接口和 Buzz 实现以进行测试和可维护性。