happyr/google-analytics-bundle
Google Analytics Bundle 允许您将数据(如事件跟踪)发送到 Google。
Requires
- php: ^7.1
- cache/void-adapter: ^1.0
- psr/cache: ^1.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- symfony/config: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
- symfony/dependency-injection: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
- symfony/event-dispatcher: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
- symfony/http-foundation: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
- symfony/http-kernel: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
Requires (Dev)
- nyholm/symfony-bundle-test: ^1.4
- phpunit/phpunit: ^7.5.4
- symfony/browser-kit: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
- symfony/framework-bundle: ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1
Suggests
- happyr/google-site-authenticator-bundle: To be able to fetch data from google analytics.
- php-http/httplug-bundle: To register HTTP clients as services
README
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\RequestFactory
和 Http\Client\HttpClient
。如果您使用 HTTPlugBundle,这将自动处理。您还将获得一些有用的日志功能。
# app/config/config.yml happyr_google_analytics: // ... http_client: 'httplug.client' http_message_factory: 'httplug.message_factory
获取数据
如果您想从 Google Analytics 获取数据,您必须安装并配置 GoogleSiteAuthenticatorBundle。阅读其文档,然后使用 client service
和 view 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');