定制 happyr/google-analytics-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

happyr/google-analytics-bundle

Composer 安装命令:

composer require happyr/google-analytics-bundle

包简介

The Google Analytics Bundle lets you send data (like event tracking) to Google.

README 文档

README

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

GoogleAnalyticsBundle is a Symfony2 bundle that helps you to push data to Google Analytics. It could be data like pageview, events etc. It is a bundle implementation of the Measurement Protocol

This is not a library to pull data from Google analytics. That feature is deprecated from the classic-analytics branch. The master branch and version 3 and above will be supporting Google analytics universal.

Special feature

This bundle has a special feature. Say that you want to post data to Analytics. You want to post an event every time someone downloads a file. You may do that from the server like any other library. When looking at the reports you will find that you are missing the information about the actual user for the download event. You can not use a segment to find out which referal the user came from.

This bundle helps you with just that. Before we submit any data we look at the _ga cookie to find the user's clientId. So now you may use segments and advanced queries to analytics and you will get the expected result.

Usage

Read the documentation of the protocol.

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

Installation

Install with composer.

composer require happyr/google-analytics-bundle

Step 2: Register the bundle

Register the bundle in the AppKernel.php

<?php

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

Step 3: Configure the bundle

# app/config/config.yml

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

Step 4: Provide a HTTP client and message factory service.

You need to provide two services to that know how to create and send message factories. The services must implement Http\Message\RequestFactory and Http\Client\HttpClient. If you use HTTPlugBundle this will be taken care of automatically. You will aslo get some nice logging features.

# app/config/config.yml

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

Fetching data

If you want to fetch data from Google Analytics you must install and configure GoogleSiteAuthenticatorBundle. Read its documentaion and then configure the analytics bundle with a client service and a view id. The view id is found in the admin section on Google analytics. Go to Admin > Account > Property > View > View settings.

# 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

You may then run the following code to get the page views for /example-page.

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

统计信息

  • 总下载量: 248.44k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 51
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 1

GitHub 信息

  • Stars: 49
  • Watchers: 4
  • Forks: 16
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-07-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固