krizon / php-ga-measurement-protocol
Easy use of the Google Analytics Measurement Protocol in PHP
Installs: 476 798
Dependents: 5
Suggesters: 0
Security: 0
Stars: 110
Watchers: 9
Forks: 23
Open Issues: 9
Requires
- guzzle/guzzle: ~3.7
Requires (Dev)
- phpunit/phpunit: >=3.7.28
Suggests
- ramsey/uuid: Generate RFC 4122 UUID with PHP.
This package is not auto-updated.
Last update: 2024-12-17 01:42:48 UTC
README
A full featured php client for the Google Analytics Measurment Protocol API. Build upon the shoulders of the great Guzzle.
See https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide
Installation
Use Composer to add this library to your dependencies:
$ composer require krizon/php-ga-measurement-protocol
Features
- Page tracking
- Event tracking
- Ecommerce tracking
- Social interactions tracking
- Exception tracking
- User timing tracking
- App tracking
- Non-blocking requests (todo)
Usage
$config = array( 'ssl' => true // Enable/Disable SSL, default false ); $client = Krizon\Google\Analytics\MeasurementProtocol\MeasurementProtocolClient::factory($config); $client->pageview(array( 'tid' => 'UA-XXXX-XXXX', // Tracking Id 'cid' => 'XXXX-XXXXX-XXXXX', // Customer Id 'dh' => 'domain.do', 'dp' => '/php-ga-measurement-protocol/phpunit-test', 'dt' => 'PHP GA Measurement Protocol' ));
Testing
Before you can run the tests make sure you installed the dependencies using composer:
$ composer install
PHPUnit itself is included in the dependencies so now you can call:
$ vendor/bin/phpunit
We have two types of tests:
- Tests with mocked 200 OK response, @group
__nogroup__
. This type of tests are used tor testing required fields, asserting classtypes etc.; - Tests that do real calls to the Google API, @group
internet
. The Google API itself always returns a 200 OK so to be sure the requests are transferred and handled correctly you can run the tests of group 'internet'. Before running this group make sure you've configured the correct tracking id in the phpunit.xml configuration by setting the env variabletracking_id
. This group is excluded by default but you can run this tests by calling:$ vendor/bin/phpunit --group internet