Exemple #1
0
 /**
  * @link http://code.google.com/p/gaforflash/source/browse/trunk/src/com/google/analytics/v4/Tracker.as#1503
  * 
  * @return \UnitedPrototype\GoogleAnalytics\Internals\ParameterHolder
  */
 protected function buildParameters()
 {
     $p = parent::buildParameters();
     $x10 = new X10();
     $x10->clearKey(self::X10_EVENT_PROJECT_ID);
     $x10->clearValue(self::X10_EVENT_PROJECT_ID);
     // Object / Category
     $x10->setKey(self::X10_EVENT_PROJECT_ID, X10::OBJECT_KEY_NUM, $this->event->getCategory());
     // Event Type / Action
     $x10->setKey(self::X10_EVENT_PROJECT_ID, X10::TYPE_KEY_NUM, $this->event->getAction());
     if ($this->event->getLabel() !== null) {
         // Event Description / Label
         $x10->setKey(self::X10_EVENT_PROJECT_ID, X10::LABEL_KEY_NUM, $this->event->getLabel());
     }
     if ($this->event->getValue() !== null) {
         $x10->setValue(self::X10_EVENT_PROJECT_ID, X10::VALUE_VALUE_NUM, $this->event->getValue());
     }
     $p->utme .= $x10->renderUrlString();
     if ($this->event->getNoninteraction()) {
         $p->utmni = 1;
     }
     if (isset($this->page)) {
         $p->utmp = $this->page->getPath();
         $p->utmdt = $this->page->getTitle();
         if ($this->page->getCharset() !== null) {
             $p->utmcs = $this->page->getCharset();
         }
         if ($this->page->getReferrer() !== null) {
             $p->utmr = $this->page->getReferrer();
         }
     }
     return $p;
 }
 /**
  * @link http://code.google.com/p/gaforflash/source/browse/trunk/src/com/google/analytics/v4/Tracker.as#1503
  * 
  * @return \UnitedPrototype\GoogleAnalytics\Internals\ParameterHolder
  */
 protected function buildParameters()
 {
     $p = parent::buildParameters();
     $x10 = new X10();
     $x10->clearKey(self::X10_EVENT_PROJECT_ID);
     $x10->clearValue(self::X10_EVENT_PROJECT_ID);
     // Object / Category
     $x10->setKey(self::X10_EVENT_PROJECT_ID, self::X10_EVENT_OBJECT_KEY_NUM, $this->event->getCategory());
     // Event Type / Action
     $x10->setKey(self::X10_EVENT_PROJECT_ID, self::X10_EVENT_TYPE_KEY_NUM, $this->event->getAction());
     if ($this->event->getLabel() !== null) {
         // Event Description / Label
         $x10->setKey(self::X10_EVENT_PROJECT_ID, self::X10_EVENT_LABEL_KEY_NUM, $this->event->getLabel());
     }
     if ($this->event->getValue() !== null) {
         $x10->setValue(self::X10_EVENT_PROJECT_ID, self::X10_EVENT_VALUE_VALUE_NUM, $this->event->getValue());
     }
     $p->utme .= $x10->renderUrlString();
     if ($this->event->getNoninteraction()) {
         $p->utmni = 1;
     }
     return $p;
 }
Exemple #3
0
 /**
  * Equivalent of _trackEvent() in GA Javascript client.
  * 
  * @link http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEventTracking.html#_gat.GA_EventTracker_._trackEvent
  * @param \UnitedPrototype\GoogleAnalytics\Event $event
  * @param \UnitedPrototype\GoogleAnalytics\Session $session
  * @param \UnitedPrototype\GoogleAnalytics\Visitor $visitor
  */
 public function trackEvent(Event $event, Session $session, Visitor $visitor)
 {
     // Ensure that all required parameters are set
     $event->validate();
     $request = new EventRequest(static::$config);
     $request->setEvent($event);
     $request->setSession($session);
     $request->setVisitor($visitor);
     $request->setTracker($this);
     $request->fire();
 }
Exemple #4
0
function leechgate_track_ga($config)
{
    try {
        // prepare GA structures
        $tracker = new GoogleAnalytics\Tracker($config['gaid'], $config['normalized_host']);
        $visitor = new GoogleAnalytics\Visitor();
        $visitor->fromServerVar($_SERVER);
        if ($config['utma_cookie']) {
            $visitor->fromUtma($config['utma_cookie']);
        }
        $session = new GoogleAnalytics\Session();
        $event = new GoogleAnalytics\Event($config['normalized_host'], $config['product'], $config['product_version']);
        $event->setNoninteraction(true);
        // track it!
        $tracker->trackEvent($event, $session, $visitor);
    } catch (Exception $e) {
        $fe = fopen('php://stderr', 'w');
        fwrite($fe, "Caught exception in leechgate_track_ga: " . $e->getMessage() . "\n");
        fclose($fe);
    }
}