/** * Build the POST Packet * * @param AbstractTracking $event * @return string * @throws Exception\MissingConfigurationException */ private function buildPacket(AbstractTracking $event) { // get packet $eventPacket = $event->getPaket(); if (!$this->getAccountID()) { throw new MissingConfigurationException('Google Account ID is missing'); } // Add Protocol $eventPacket['v'] = $this->protocol; // protocol version $eventPacket['tid'] = $this->getAccountID(); // account id $eventPacket['cid'] = $this->getClientID(); // client id $eventPacket = array_reverse($eventPacket); // build query return http_build_query($eventPacket); }
/** * Build the Tracking Payload Data * * @param Tracking\AbstractTracking $event * @return array * @throws Exception\MissingConfigurationException */ protected function getTrackingPayloadData(Tracking\AbstractTracking $event) { $payloadData = $event->getPackage(); $payloadData['v'] = $this->apiProtocolVersion; // protocol version $payloadData['tid'] = $this->analyticsAccountUid; // account id $payloadData['uid'] = $this->getOption('user_id'); $payloadData['cid'] = $this->getClientId(); $proxy = $this->getOption('proxy'); if ($proxy) { if (!isset($proxy['ip'])) { throw new Exception\MissingConfigurationException('proxy options need "ip" key/value'); } if (isset($proxy['user_agent'])) { $payloadData['ua'] = $proxy['user_agent']; } $payloadData['uid'] = $proxy['ip']; } return array_filter($payloadData); }
/** * Build the POST Packet * * @param AbstractTracking $event * @return string * @throws Exception\MissingConfigurationException */ private function buildPacket(AbstractTracking $event) { // get packet $eventPacket = $event->getPaket(); if (!$this->getAccountID()) { throw new MissingConfigurationException('Google Account ID is missing'); } // Add Protocol $eventPacket['v'] = $this->protocol; // protocol version $eventPacket['tid'] = $this->getAccountID(); // account id $eventPacket['cid'] = $this->getClientID(); // client id if ($this->getUserID() != null) { $eventPacket['uid'] = $this->getUserID(); } //Proxy Variables if ($this->getProxy()) { $eventPacket['uip'] = $_SERVER['REMOTE_ADDR']; // IP Override $eventPacket['ua'] = $_SERVER['HTTP_USER_AGENT']; // UA Override } $eventPacket = array_reverse($eventPacket); // build query return http_build_query($eventPacket); }