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();
 }
Beispiel #2
0
 /**
  * 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();
 }
Beispiel #3
0
 /**
  * @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;
     });
 }
Beispiel #6
0
    // 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();
});