/**
  * Sends a request to the API for getting an advertisement.
  *
  * @method getAdvertisement
  *
  * @param {string} $category 	category of the add requested.
  * @param {string} $udid 		specifies a universally unique identifier, which must be at least 30 characters in length.
  * @param {string} $userAgent	user agent string to send to API.
  * @param {Object}  $optArgs 	any optional Key/Value JSON for API parameters.
  *
  * @return {Response} Returns Response object
  * @throws ServiceException if API request was not successful.
  */
 public function getAdvertisement($category, $udid, $userAgent, $getParams)
 {
     $token = $this->getCurrentClientToken();
     $adsSrvc = new ADSService($this->base_url, $token);
     $optArgs = new OptArgs();
     /*
     $keys = array(
     	'AgeGroup', 'AreaCode', 'City', 'Country', 'Gender',
     	'Keywords', 'Latitude', 'Longitude', 'MaxHeight', 'MaxWidth',
     	'MinHeight', 'MinWidth', 'Type', 'ZipCode'
     );
     */
     if (isset($getParams["AgeGroup"])) {
         $optArgs->setAgeGroup(urldecode($getParams["AgeGroup"]));
     }
     if (isset($getParams["AreaCode"])) {
         $optArgs->setAreaCode(urldecode($getParams["AreaCode"]));
     }
     if (isset($getParams["City"])) {
         $optArgs->setCity(urldecode($getParams["City"]));
     }
     if (isset($getParams["Country"])) {
         $optArgs->setCountry(urldecode($getParams["Country"]));
     }
     if (isset($getParams["Gender"])) {
         $optArgs->setGender(urldecode($getParams["Gender"]));
     }
     if (isset($getParams["Keywords"])) {
         $optArgs->setKeywords(explode(',', urldecode($getParams["Keywords"])));
     }
     if (isset($getParams["Latitude"])) {
         $optArgs->setLatitude(urldecode($getParams["Latitude"]));
     }
     if (isset($getParams["Longitude"])) {
         $optArgs->setLongitude(urldecode($getParams["Longitude"]));
     }
     if (isset($getParams["MaxHeight"])) {
         $optArgs->setMaxHeight(urldecode($getParams["MaxHeight"]));
     }
     if (isset($getParams["MaxWidth"])) {
         $optArgs->setMaxWidth(urldecode($getParams["MaxWidth"]));
     }
     if (isset($getParams["MinHeight"])) {
         $optArgs->setMinHeight(urldecode($getParams["MinHeight"]));
     }
     if (isset($getParams["MinWidth"])) {
         $optArgs->setMinWidth(urldecode($getParams["MinWidth"]));
     }
     if (isset($getParams["Type"])) {
         $optArgs->setAdType(urldecode($getParams["Type"]));
     }
     if (isset($getParams["ZipCode"])) {
         $optArgs->setZipCode(urldecode($getParams["ZipCode"]));
     }
     return $adsSrvc->getAdvertisement($category, $udid, $userAgent, $optArgs, true);
 }