// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.api.ads.adwords.jaxws.v201702.cm;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
*
* Represents a dynamic search ad. This ad will have its headline and
* tracking URL auto-generated at serving time according to domain name
* specific information provided by {@link DomainInfoExtension} linked at the
* campaign level.
*
* <p>Auto-generated fields: headline and optional tracking URL.</p>
*
* <p><b>Required fields:</b> {@code description1}, {@code description2},
* {@code displayUrl}.</p>
*
* <p>The tracking URL field must contain at least one of the following placeholder tags
* (URL parameters):</p>
* <ul>
* <li>{unescapedlpurl}</li>
* <li>{escapedlpurl}</li>
* <li>{lpurl}</li>
* <li>{lpurl+2}</li>
* <li>{lpurl+3}</li>
* </ul>
*
* <ul>
* <li>{unescapedlpurl} will be replaced with the full landing page URL of the displayed ad.
* Extra query parameters can be added to the end, e.g.: "{unescapedlpurl}?lang=en".</li>
*
* <li>{escapedlpurl} will be replaced with the URL-encoded version of the full
* landing page URL. This makes it suitable for use as a query parameter
* value (e.g.: "http://www.3rdpartytracker.com/?lp={escapedlpurl}") but
* not at the beginning of the URL field.</li>
*
* <li>{lpurl} encodes the "?" and "=" of the landing page URL making it suitable
* for use as a query parameter. If found at the beginning of the URL field, it is
* replaced by the {unescapedlpurl} value.
* E.g.: "http://tracking.com/redir.php?tracking=xyz&url={lpurl}".</li>
*
* <li>{lpurl+2} and {lpurl+3} will be replaced with the landing page URL escaped two or three
* times, respectively. This makes it suitable if there is a chain of redirects in the tracking
* URL.</li>
* </ul>
*
* <p class="note">Note that {@code finalUrls} and {@code finalMobileUrls}
* cannot be set for dynamic search ads.</p>
*
* <p>For more information, see the article
* <a href="//support.google.com/adwords/answer/2549100">Using dynamic tracking URLs</a>.
* </p>
* <span class="constraint AdxEnabled">This is disabled for AdX when it is contained within Operators: ADD, SET.</span>
*
*
* <p>Java class for DynamicSearchAd complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="DynamicSearchAd">
* <complexContent>
* <extension base="{https://adwords.google.com/api/adwords/cm/v201702}Ad">
* <sequence>
* <element name="description1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="description2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DynamicSearchAd", propOrder = {
"description1",
"description2"
})
public class DynamicSearchAd
extends Ad
{
protected String description1;
protected String description2;
/**
* Gets the value of the description1 property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDescription1() {
return description1;
}
/**
* Sets the value of the description1 property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDescription1(String value) {
this.description1 = value;
}
/**
* Gets the value of the description2 property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDescription2() {
return description2;
}
/**
* Sets the value of the description2 property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDescription2(String value) {
this.description2 = value;
}
}