happyr/google-analytics-bundle

Google Analytics Bundle 允许您将数据(如事件跟踪)发送到 Google。

安装数量: 243,897

依赖项: 0

建议者: 1

安全性: 0

星级: 49

关注者: 5

分支: 15

开放问题: 7

类型:symfony-bundle

5.0.2 2020-09-18 14:47 UTC

README

Latest Version Software License Build Status Code Coverage Quality Score Total Downloads

GoogleAnalyticsBundle 是一个用于将数据推送到 Google Analytics 的 Symfony2 扩展包。它可以推送的数据包括页面浏览量、事件等。它是 测量协议 的实现。

这并不是一个从 Google Analytics 拉取数据的库。该功能已从 classic-analytics 分支中弃用。主分支和版本 3 及以上将支持 Google Analytics 通用版。

特殊功能

此扩展包具有特殊功能。假设您想将数据发布到 Analytics。每次有人下载文件时,您都希望发布一个事件。您可以从服务器像其他任何库一样执行此操作。当查看报告时,您会发现缺少关于下载事件的实际用户信息。您无法使用细分来找出用户来自哪个来源。

此扩展包可以帮助您实现这一点。在我们提交任何数据之前,我们会查看 _ga 饼干以找到用户的 clientId。因此,现在您可以使用细分和高级查询来分析,并得到预期的结果。

使用方法

阅读协议 的文档。

//in some container aware class
$tracker = $this->get(Tracker::class);
$data=array(
    'dh'=>'mydemo.com',
    'dp'=>'/home',
    'dt'=>'homepage',
);
$tracker->send($data, 'pageview');

安装

使用 composer 安装。

composer require happyr/google-analytics-bundle

步骤 2:注册扩展包

在 AppKernel.php 中注册扩展包。

<?php

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new Happyr\GoogleAnalyticsBundle\HappyrGoogleAnalyticsBundle(),
    // ...
);

步骤 3:配置扩展包

# app/config/config.yml

happyr_google_analytics:
    // ...
    tracking_id: UA-XXXX-Y

步骤 4:提供 HTTP 客户端和消息工厂服务。

您需要提供两个服务来了解如何创建和发送消息工厂。这些服务必须实现 Http\Message\RequestFactoryHttp\Client\HttpClient。如果您使用 HTTPlugBundle,这将自动处理。您还将获得一些有用的日志功能。

# app/config/config.yml

happyr_google_analytics:
    // ...
    http_client: 'httplug.client'
    http_message_factory: 'httplug.message_factory

获取数据

如果您想从 Google Analytics 获取数据,您必须安装并配置 GoogleSiteAuthenticatorBundle。阅读其文档,然后使用 client serviceview id 配置分析扩展包。《view id》可以在 Google Analytics 的管理部分找到。转到 Admin > 账户 > 属性 > 查看 > 查看设置。

# app/config/config.yml

happyr_google_analytics:
    // ...
    tracking_id: UA-XXXX-Y
    fetching:
        client_service: 'google.client.tobias_gmail'
        view_id: 0123456789
        cache_service: 'cache.provider.my_memcached' # optinally a PSR6 cache service
        cache_lifetime: 3600 # default

然后您可以运行以下代码来获取 /example-page 的页面浏览量。

$fetcher = $this->get(AnalyticsDataFetcher::class);
$pv = $fetcher->getPageViews('/example-page');