The main interface for the clients, it relies heavily in magic methods exposing an interface with method tags. ==== GETTERS ==== General
コード例 #1
0
 /**
  * @return Analytics
  */
 public function request()
 {
     $request = new Analytics($this->useSsl);
     $request->setTrackingId($this->trackingId)->setProtocolVersion($this->version)->setAsyncRequest($this->asyncMode);
     if ($this->overrideIp && isset(\Yii::$app->request->userIP)) {
         $request->setIpOverride(\Yii::$app->request->userIP);
     }
     if ($this->anonymizeIp) {
         $request->setAnonymizeIp(1);
     }
     return $request;
 }
コード例 #2
0
ファイル: Ga.php プロジェクト: GreenHackers/router-app
 /**
  * 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();
 }
コード例 #3
0
ファイル: Analytics.php プロジェクト: gradosevic/easy-ga
 /**
  * @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;
 }
コード例 #4
0
 /**
  * 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;
     });
 }
コード例 #6
0
 /**
  * Override sendHit() so that we can prevent Analytics data from being sent
  *
  * @param $methodName
  * @return AnalyticsResponse
  */
 private function sendHit($methodName)
 {
     if ($this->shouldSendAnalytics) {
         return parent::sendHit($methodName);
     } else {
         return null;
     }
 }
コード例 #7
0
 /**
  * @expectedException \BadMethodCallException
  */
 public function testInvalidMethodCall()
 {
     $this->analytics->iDontExists();
 }
コード例 #8
0
ファイル: plugin.php プロジェクト: prodatakey/yourls-gatrack
    // 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();
});