/** * Equivalent of _trackEvent() in GA Javascript client. * * @link http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEventTracking.html#_gat.GA_EventTracker_._trackEvent * @param \Plugin\GoogleAnalytics\ApiLib\Event $event * @param \Plugin\GoogleAnalytics\ApiLib\Session $session * @param \Plugin\GoogleAnalytics\ApiLib\Visitor $visitor * @param \Plugin\GoogleAnalytics\ApiLib\Page $page */ public function trackEvent(Event $event, Session $session, Visitor $visitor, Page $page = null) { // Ensure that all required parameters are set $event->validate(); $request = new EventRequest(static::$config); $request->setEvent($event); $request->setSession($session); $request->setVisitor($visitor); if ($page) { $request->setPage($page); } $request->setTracker($this); $request->fire(); }