public function testSendSimpleHit() { $httpClient = $this->getMock('TheIconic\\Tracking\\GoogleAnalytics\\Network\\HttpClient', ['post']); $this->analytics->setProtocolVersion('1')->setTrackingId('555')->setClientId('666')->setDocumentPath('\\thepage')->setHitType('pageview'); $httpClient->expects($this->once())->method('post')->with($this->equalTo($this->analytics->getUrl())); $this->analytics->setHttpClient($httpClient); $this->analytics->sendPageview(); }
/** * Send Page View Report to Google Analytics * * @return void **/ public function sendPageView($path, $app_info) { $analytics = new Analytics(); if (!$path) { $path = '/'; } $tracking_id = config('app.analytics.ga.tracking_id'); $version = config('app.analytics.ga.version'); $analytics->setProtocolVersion($version)->setTrackingId($tracking_id)->setClientId($app_info['token'])->setQueueTime(1000)->setDocumentPath($path); //->setApplicationName($app_info['name']) //->setApplicationId($app_info['app_id']) $sent = $analytics->sendPageview(); }
/** * @param $config tracking_id | Array */ public function __construct($config) { $defaultOptions = ['tracking_id' => '', 'protocol_version' => 1, 'client_id' => 1, 'user_id' => 1, 'is_async' => true]; if (!is_array($config)) { $defaultOptions['tracking_id'] = $config; $config = $defaultOptions; } else { $config = array_merge($defaultOptions, $config); } $a = new GA(true); $a->setProtocolVersion($config['protocol_version'])->setAsyncRequest($config['is_async'])->setTrackingId($config['tracking_id'])->setUserId($config['user_id'])->setClientId($config['client_id']); $this->analytics = $a; }
/** * Initialize Analytics Library with Default Config. */ public function registerAnalytics() { $this->app->singleton('gamp', function ($app) { $config = $app['config']; $analytics = new Analytics($config->get('gamp.is_ssl', false)); $analytics->setProtocolVersion($config->get('gamp.protocol_version', 1))->setTrackingId($config->get('gamp.tracking_id')); if ($config->get('gamp.anonymize_ip', false)) { $analytics->setAnonymizeIp('1'); } if ($config->get('gamp.async_requests', false)) { $analytics->setAsyncRequest(true); } return $analytics; }); }
/** * Initialize Analytics Library with Default Config. */ public function registerAnalytics() { $this->app->singleton('gamp', function ($app) { $packageNamespace = $this->isLaravel4 ? 'gamp::gamp.' : 'gamp.'; $config = $app['config']; $analytics = new Analytics($config->get($packageNamespace . 'is_ssl', false)); $analytics->setProtocolVersion($config->get($packageNamespace . 'protocol_version', 1))->setTrackingId($config->get($packageNamespace . 'tracking_id')); if ($config->get($packageNamespace . 'anonymize_ip', false)) { $analytics->setAnonymizeIp('1'); } if ($config->get($packageNamespace . 'async_requests', false)) { $analytics->setAsyncRequest(true); } return $analytics; }); }
// Set campaign params from the URL $query = parse_url($url); parse_str($query); if (isset($utm_name)) { $analytics->setCampaignName($utm_name); } if (isset($utm_source)) { $analytics->setCampaignSource($utm_source); } if (isset($utm_medium)) { $analytics->setCampaignMedium($utm_medium); } } // Before we send the redirect to the client, notify GA of the click yourls_add_action('redirect_shorturl', function ($url, $keyword) { // Get a client Id $cid = get_client_id(); // Instantiate the Analytics object, true means use HTTPS $analytics = new Analytics(true); // Build the required hit parameters $analytics->setProtocolVersion('1')->setTrackingId($gaid)->setCacheBuster(rand(100000000000.0, 999999999999.0))->setClientId($cid); set_campaign_props($url, $analytics); // Set the referer url if (isset($_SERVER['HTTP_REFERER'])) { $analytics->setDocumentReferer($_SERVER['HTTP_REFERER']); } // Set optional parameters $analytics->setDataSource('godot'); // Send it to GA $analytics->setAsyncRequest(true)->sendPageview(); });