fideloper/universalanalytics

在服务器端实现 Google 的通用分析测量协议

dev-master 2014-04-10 11:56 UTC

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)。对于此项目,这些依赖项是 phpunitmockery

基本用法

以下是一些基本用法示例

<?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();

待办事项

  1. 请求应具有请求者接口和 Buzz 实现以进行测试和可维护性。