package Google::Ads::AdWords::v201809::ResponsiveSearchAd;
use strict;
use warnings;


__PACKAGE__->_set_element_form_qualified(1);

sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201809' };

our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}


use base qw(Google::Ads::AdWords::v201809::Ad);
# Variety: sequence
use Class::Std::Fast::Storable constructor => 'none';
use base qw(Google::Ads::SOAP::Typelib::ComplexType);

{ # BLOCK to scope variables

my %id_of :ATTR(:get<id>);
my %url_of :ATTR(:get<url>);
my %displayUrl_of :ATTR(:get<displayUrl>);
my %finalUrls_of :ATTR(:get<finalUrls>);
my %finalMobileUrls_of :ATTR(:get<finalMobileUrls>);
my %finalAppUrls_of :ATTR(:get<finalAppUrls>);
my %trackingUrlTemplate_of :ATTR(:get<trackingUrlTemplate>);
my %finalUrlSuffix_of :ATTR(:get<finalUrlSuffix>);
my %urlCustomParameters_of :ATTR(:get<urlCustomParameters>);
my %urlData_of :ATTR(:get<urlData>);
my %automated_of :ATTR(:get<automated>);
my %type_of :ATTR(:get<type>);
my %devicePreference_of :ATTR(:get<devicePreference>);
my %systemManagedEntitySource_of :ATTR(:get<systemManagedEntitySource>);
my %Ad__Type_of :ATTR(:get<Ad__Type>);
my %headlines_of :ATTR(:get<headlines>);
my %descriptions_of :ATTR(:get<descriptions>);
my %path1_of :ATTR(:get<path1>);
my %path2_of :ATTR(:get<path2>);

__PACKAGE__->_factory(
    [ qw(        id
        url
        displayUrl
        finalUrls
        finalMobileUrls
        finalAppUrls
        trackingUrlTemplate
        finalUrlSuffix
        urlCustomParameters
        urlData
        automated
        type
        devicePreference
        systemManagedEntitySource
        Ad__Type
        headlines
        descriptions
        path1
        path2

    ) ],
    {
        'id' => \%id_of,
        'url' => \%url_of,
        'displayUrl' => \%displayUrl_of,
        'finalUrls' => \%finalUrls_of,
        'finalMobileUrls' => \%finalMobileUrls_of,
        'finalAppUrls' => \%finalAppUrls_of,
        'trackingUrlTemplate' => \%trackingUrlTemplate_of,
        'finalUrlSuffix' => \%finalUrlSuffix_of,
        'urlCustomParameters' => \%urlCustomParameters_of,
        'urlData' => \%urlData_of,
        'automated' => \%automated_of,
        'type' => \%type_of,
        'devicePreference' => \%devicePreference_of,
        'systemManagedEntitySource' => \%systemManagedEntitySource_of,
        'Ad__Type' => \%Ad__Type_of,
        'headlines' => \%headlines_of,
        'descriptions' => \%descriptions_of,
        'path1' => \%path1_of,
        'path2' => \%path2_of,
    },
    {
        'id' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
        'url' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'displayUrl' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'finalUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'finalMobileUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'finalAppUrls' => 'Google::Ads::AdWords::v201809::AppUrl',
        'trackingUrlTemplate' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'finalUrlSuffix' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'urlCustomParameters' => 'Google::Ads::AdWords::v201809::CustomParameters',
        'urlData' => 'Google::Ads::AdWords::v201809::UrlData',
        'automated' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean',
        'type' => 'Google::Ads::AdWords::v201809::Ad::Type',
        'devicePreference' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
        'systemManagedEntitySource' => 'Google::Ads::AdWords::v201809::SystemManagedEntitySource',
        'Ad__Type' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'headlines' => 'Google::Ads::AdWords::v201809::AssetLink',
        'descriptions' => 'Google::Ads::AdWords::v201809::AssetLink',
        'path1' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
        'path2' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
    },
    {

        'id' => 'id',
        'url' => 'url',
        'displayUrl' => 'displayUrl',
        'finalUrls' => 'finalUrls',
        'finalMobileUrls' => 'finalMobileUrls',
        'finalAppUrls' => 'finalAppUrls',
        'trackingUrlTemplate' => 'trackingUrlTemplate',
        'finalUrlSuffix' => 'finalUrlSuffix',
        'urlCustomParameters' => 'urlCustomParameters',
        'urlData' => 'urlData',
        'automated' => 'automated',
        'type' => 'type',
        'devicePreference' => 'devicePreference',
        'systemManagedEntitySource' => 'systemManagedEntitySource',
        'Ad__Type' => 'Ad.Type',
        'headlines' => 'headlines',
        'descriptions' => 'descriptions',
        'path1' => 'path1',
        'path2' => 'path2',
    }
);

} # end BLOCK







1;


=pod

=head1 NAME

Google::Ads::AdWords::v201809::ResponsiveSearchAd

=head1 DESCRIPTION

Perl data type class for the XML Schema defined complexType
ResponsiveSearchAd from the namespace https://adwords.google.com/api/adwords/cm/v201809.

Represents a responsive search ad. <p><strong>Important</strong></p> <p> <ul> <li>Responsive search ads are in beta and may not be available to all AdWords advertisers.</li> <li>Per the <a href="https://support.google.com/adwordspolicy/answer/54818">AdWords Terms &amp; Conditions</a> for features in beta, you may not disclose any non-public information.</li> <li>Responsive search ads will learn and improve over time, so make sure to regularly monitor the performance and status of your ads.</li> <li>Responsive search ads are currently available in English, French, German, Spanish, Portuguese, Italian, Swedish, Dutch, Russian, Japanese, Polish, Turkish, Danish, and Norwegian, with other languages on the way.</li> <li>Assets can be shown in any order, so make sure that they make sense individually or in combination, and don’t violate our policies or local law.</li> <li>Even after ads are assembled, they may not serve.</li> <li>If you have text that should appear in every ad, then you must pin it to either Headline position 1, Headline position 2, or Description position 1, and also make sure it is less than 80 characters long.</li> </ul> </p> <p>To increase the likelihood that your ad shows, be sure to provide at least 5 distinct headlines and 2 distinct descriptions that don't repeat the same or similar phrases. Providing redundant content will restrict the system's ability to assemble combinations. <a href="https://support.google.com/adwords/answer/9023565">See example ads</a></p> <p>Help center documentation <ul> <li><a href="https://support.google.com/adwords/answer/7684791">About responsive search ads</a></li> <li><a href="https://support.google.com/adwords/answer/9023565">Create a responsive search ad (see examples)</a></li> </ul> </p> <p class="caution"><b>Caution:</b> Responsive search ads do not use {@link #url url}, {@link #displayUrl displayUrl}, {@link #finalAppUrls finalAppUrls}, or {@link #devicePreference devicePreference}; setting these fields on a responsive search ad will cause an error.</p> <span class="constraint AdxEnabled">This is enabled for AdX.</span> 




=head2 PROPERTIES

The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:

=over

=item * headlines


=item * descriptions


=item * path1


=item * path2




=back


=head1 METHODS

=head2 new

Constructor. The following data structure may be passed to new():






=head1 AUTHOR

Generated by SOAP::WSDL

=cut

