File Coverage

lib/Google/Ads/AdWords/v201702/Ad.pm
Criterion Covered Total %
statement 12 14 85.7
branch n/a
condition n/a
subroutine 4 6 66.6
pod n/a
total 16 20 80.0


line stmt bran cond sub pod time code
1             package Google::Ads::AdWords::v201702::Ad;
2 2     2   2050 use strict;
  2         4  
  2         73  
3 2     2   13 use warnings;
  2         6  
  2         195  
4              
5              
6             __PACKAGE__->_set_element_form_qualified(1);
7              
8 0     0     sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201702' };
9              
10             our $XML_ATTRIBUTE_CLASS;
11             undef $XML_ATTRIBUTE_CLASS;
12              
13             sub __get_attr_class {
14 0     0     return $XML_ATTRIBUTE_CLASS;
15             }
16              
17 2     2   17 use Class::Std::Fast::Storable constructor => 'none';
  2         4  
  2         20  
18 2     2   304 use base qw(Google::Ads::SOAP::Typelib::ComplexType);
  2         4  
  2         221  
19              
20             { # BLOCK to scope variables
21              
22             my %id_of :ATTR(:get);
23             my %url_of :ATTR(:get);
24             my %displayUrl_of :ATTR(:get);
25             my %finalUrls_of :ATTR(:get);
26             my %finalMobileUrls_of :ATTR(:get);
27             my %finalAppUrls_of :ATTR(:get);
28             my %trackingUrlTemplate_of :ATTR(:get);
29             my %urlCustomParameters_of :ATTR(:get);
30             my %urlData_of :ATTR(:get);
31             my %type_of :ATTR(:get);
32             my %devicePreference_of :ATTR(:get);
33             my %Ad__Type_of :ATTR(:get);
34              
35             __PACKAGE__->_factory(
36             [ qw( id
37             url
38             displayUrl
39             finalUrls
40             finalMobileUrls
41             finalAppUrls
42             trackingUrlTemplate
43             urlCustomParameters
44             urlData
45             type
46             devicePreference
47             Ad__Type
48              
49             ) ],
50             {
51             'id' => \%id_of,
52             'url' => \%url_of,
53             'displayUrl' => \%displayUrl_of,
54             'finalUrls' => \%finalUrls_of,
55             'finalMobileUrls' => \%finalMobileUrls_of,
56             'finalAppUrls' => \%finalAppUrls_of,
57             'trackingUrlTemplate' => \%trackingUrlTemplate_of,
58             'urlCustomParameters' => \%urlCustomParameters_of,
59             'urlData' => \%urlData_of,
60             'type' => \%type_of,
61             'devicePreference' => \%devicePreference_of,
62             'Ad__Type' => \%Ad__Type_of,
63             },
64             {
65             'id' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
66             'url' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
67             'displayUrl' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
68             'finalUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
69             'finalMobileUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
70             'finalAppUrls' => 'Google::Ads::AdWords::v201702::AppUrl',
71             'trackingUrlTemplate' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
72             'urlCustomParameters' => 'Google::Ads::AdWords::v201702::CustomParameters',
73             'urlData' => 'Google::Ads::AdWords::v201702::UrlData',
74             'type' => 'Google::Ads::AdWords::v201702::Ad::Type',
75             'devicePreference' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
76             'Ad__Type' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
77             },
78             {
79              
80             'id' => 'id',
81             'url' => 'url',
82             'displayUrl' => 'displayUrl',
83             'finalUrls' => 'finalUrls',
84             'finalMobileUrls' => 'finalMobileUrls',
85             'finalAppUrls' => 'finalAppUrls',
86             'trackingUrlTemplate' => 'trackingUrlTemplate',
87             'urlCustomParameters' => 'urlCustomParameters',
88             'urlData' => 'urlData',
89             'type' => 'type',
90             'devicePreference' => 'devicePreference',
91             'Ad__Type' => 'Ad.Type',
92             }
93             );
94              
95             } # end BLOCK
96              
97              
98              
99              
100              
101              
102              
103             1;
104              
105              
106             =pod
107              
108             =head1 NAME
109              
110             Google::Ads::AdWords::v201702::Ad
111              
112             =head1 DESCRIPTION
113              
114             Perl data type class for the XML Schema defined complexType
115             Ad from the namespace https://adwords.google.com/api/adwords/cm/v201702.
116              
117             The base class of all ad types. {@code Ad} objects themselves cannot be modified. If you want to make a change to an {@code Ad} object, you must REMOVE its AdGroupAd and ADD a new AdGroupAd with the new {@code Ad}. This will result in a new {@code Ad} ID, so stats for the original {@code Ad} and the new {@code Ad} will appear under separate IDs in reports.

When calling {@code AdGroupAdService} to update the {@code status} of an {@code AdGroupAd}, you can construct an {@code Ad} object (instead of the {@code Ad}'s concrete type) with the {@link #id} field set. This is enabled for AdX.

118              
119              
120              
121              
122             =head2 PROPERTIES
123              
124             The following properties may be accessed using get_PROPERTY / set_PROPERTY
125             methods:
126              
127             =over
128              
129             =item * id
130              
131              
132             =item * url
133              
134              
135             =item * displayUrl
136              
137              
138             =item * finalUrls
139              
140              
141             =item * finalMobileUrls
142              
143              
144             =item * finalAppUrls
145              
146              
147             =item * trackingUrlTemplate
148              
149              
150             =item * urlCustomParameters
151              
152              
153             =item * urlData
154              
155              
156             =item * type
157              
158              
159             =item * devicePreference
160              
161              
162             =item * Ad__Type
163              
164             Note: The name of this property has been altered, because it didn't match
165             perl's notion of variable/subroutine names. The altered name is used in
166             perl code only, XML output uses the original name:
167              
168             Ad.Type
169              
170              
171              
172              
173             =back
174              
175              
176             =head1 METHODS
177              
178             =head2 new
179              
180             Constructor. The following data structure may be passed to new():
181              
182              
183              
184              
185              
186              
187             =head1 AUTHOR
188              
189             Generated by SOAP::WSDL
190              
191             =cut
192