kairos / googleanalyticsserversidebundle
Symfony 2 组件,从服务器推送 Google Analytics 击中事件
Requires
- php: >=5.4.0
- kairos/googleanalyticsserverside: ~1.0.1
- kairos/googleanalyticsserverside: ~1.0.1
- krizon/php-ga-measurement-protocol: ~0.1.0
- symfony/framework-bundle: ~2.1
Requires (Dev)
- phpunit/phpunit: ~4.2
This package is not auto-updated.
Last update: 2024-09-14 15:00:47 UTC
README
重要
主分支进行重大更改后,您的组件可能不再工作。为了解决这个问题,请更新您的 composer.json 并将组件版本设置为 ~1.0.0
{ "require": { "kairos/googleanalyticsserversidebundle": "~1.0.0" } }
此组件已更新以支持通用分析,这比 php-ga 库是一个更好的解决方案。
摘要
Google Analytics 服务器端组件旨在从服务器发送 Google Analytics 击中事件。这可以非常适用于应用程序,或者在 Google Analytics 被阻止的情况下。
此组件最初使用了来自 UnitedPrototype 的优秀项目:http://code.google.com/p/php-ga/但现在使用新的 Google 通用分析,这更加高效和健壮。
要求
需要 PHP 5.3,因为使用了命名空间和闭包,还需要 Symfony 2 框架。
安装
在您的 composer 文件中
{ "require": { "kairos/googleanalyticsserversidebundle": "~2.0.0" } }
更新您的 composer
php composer.phar update kairos/googleanalyticsserversidebundle
Composer 将将组件安装到您的项目的 vendor/kairos 目录中。
在 AppKernel 文件中启用组件
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Kairos\GoogleAnalyticsServerSideBundle\KairosGoogleAnalyticsServerSideBundle(), ); }
在您的 config.yml 中
kairos_google_analytics_server_side: account_id: UA-XXXXXXXX-XX domain: your.domain async: true|false // use register shutdown function to send "async" hits to google analytics ssl: true|false localhost: true|false // set to true if you want js code to push analytics on localhost timeout: 10 // value in seconds if you don't want your php script to block in case ga dos not respond connect_timeout: 2 // same thing as above
要启用 JS 跟踪
twig: globals: gajs: "@ga_js_tracker"
如何使用
通用分析
超级酷技巧! 您可以使用服务器端和客户端!会话将在您的服务器端和客户端代码之间同步,因此不会有重复。
服务器端使用
您可以直接使用谷歌提供的文档,地址为: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
// Call tracker from container $this->container->get('ga_mp_tracker')->track('pageview', array( 'dp' => 'your.address.com', 'dt' => 'your title' ) ); // Track event $this->container->get('ga_mp_tracker')->track('event', array( 'dp' => 'your.address.com', 'dt' => 'your title', 'ec' => 'event category', 'ea' => 'event action', 'el' => 'event label', ) );
客户端使用
要在客户端使用 ga.js,您必须在 twig 配置中注册 ga_js_tracker 服务,然后您就可以这样调用它
{{ gajs.getGAjs()|raw }}
您可以通过调用带有这些参数的函数来覆盖跟踪 ID 和域名
{{ gajs.getGAjs('trackingID','domain')|raw }}
如果您不想让标签被 twig 转义,请不要忘记使用原始数据。您的 ga.js 会话将自动与您的服务器端会话同步(客户端 ID 在 cookies 中共享)。
使用旧版 Google Analytics 账户
警告 这已被弃用且不再受支持
// Initilize GA Tracker $tracker = $this->get('google_analytics'); // Assemble Visitor information (could also get unserialized from database) $visitor = new GoogleAnalytics\Visitor(); $visitor->setIpAddress($_SERVER['REMOTE_ADDR']); $visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']); $visitor->setScreenResolution('1024x768'); // Assemble Session information (could also get unserialized from PHP session) $session = new GoogleAnalytics\Session(); // Assemble Page information $page = new GoogleAnalytics\Page('/page.html'); $page->setTitle('My Page'); // Track page view $tracker->trackPageview($page, $session, $visitor);
感谢
此软件包直接基于 UnitedPrototype 的此项目:http://code.google.com/p/php-ga/