line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# Copyright 2020, Google LLC |
2
|
|
|
|
|
|
|
# |
3
|
|
|
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
4
|
|
|
|
|
|
|
# you may not use this file except in compliance with the License. |
5
|
|
|
|
|
|
|
# You may obtain a copy of the License at |
6
|
|
|
|
|
|
|
# |
7
|
|
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0 |
8
|
|
|
|
|
|
|
# |
9
|
|
|
|
|
|
|
# Unless required by applicable law or agreed to in writing, software |
10
|
|
|
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS, |
11
|
|
|
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12
|
|
|
|
|
|
|
# See the License for the specific language governing permissions and |
13
|
|
|
|
|
|
|
# limitations under the License. |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
use strict; |
17
|
1
|
|
|
1
|
|
795
|
use warnings; |
|
1
|
|
|
|
|
12
|
|
|
1
|
|
|
|
|
37
|
|
18
|
1
|
|
|
1
|
|
6
|
use base qw(Google::Ads::GoogleAds::BaseEntity); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
27
|
|
19
|
1
|
|
|
1
|
|
11
|
|
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
72
|
|
20
|
|
|
|
|
|
|
use Google::Ads::GoogleAds::Utils::GoogleAdsHelper; |
21
|
1
|
|
|
1
|
|
10
|
|
|
1
|
|
|
|
|
5
|
|
|
1
|
|
|
|
|
483
|
|
22
|
|
|
|
|
|
|
my ($class, $args) = @_; |
23
|
|
|
|
|
|
|
my $self = { |
24
|
0
|
|
|
0
|
0
|
|
adDestinationType => $args->{adDestinationType}, |
25
|
|
|
|
|
|
|
adNetworkType => $args->{adNetworkType}, |
26
|
|
|
|
|
|
|
assetInteractionTarget => $args->{assetInteractionTarget}, |
27
|
|
|
|
|
|
|
budgetCampaignAssociationStatus => $args->{budgetCampaignAssociationStatus}, |
28
|
|
|
|
|
|
|
clickType => $args->{clickType}, |
29
|
|
|
|
|
|
|
conversionAction => $args->{conversionAction}, |
30
|
|
|
|
|
|
|
conversionActionCategory => $args->{conversionActionCategory}, |
31
|
|
|
|
|
|
|
conversionActionName => $args->{conversionActionName}, |
32
|
|
|
|
|
|
|
conversionAdjustment => $args->{conversionAdjustment}, |
33
|
|
|
|
|
|
|
conversionAttributionEventType => $args->{conversionAttributionEventType}, |
34
|
|
|
|
|
|
|
conversionLagBucket => $args->{conversionLagBucket}, |
35
|
|
|
|
|
|
|
conversionOrAdjustmentLagBucket => $args->{conversionOrAdjustmentLagBucket}, |
36
|
|
|
|
|
|
|
conversionValueRulePrimaryDimension => |
37
|
|
|
|
|
|
|
$args->{conversionValueRulePrimaryDimension}, |
38
|
|
|
|
|
|
|
date => $args->{date}, |
39
|
|
|
|
|
|
|
dayOfWeek => $args->{dayOfWeek}, |
40
|
|
|
|
|
|
|
device => $args->{device}, |
41
|
|
|
|
|
|
|
externalConversionSource => $args->{externalConversionSource}, |
42
|
|
|
|
|
|
|
geoTargetAirport => $args->{geoTargetAirport}, |
43
|
|
|
|
|
|
|
geoTargetCanton => $args->{geoTargetCanton}, |
44
|
|
|
|
|
|
|
geoTargetCity => $args->{geoTargetCity}, |
45
|
|
|
|
|
|
|
geoTargetCountry => $args->{geoTargetCountry}, |
46
|
|
|
|
|
|
|
geoTargetCounty => $args->{geoTargetCounty}, |
47
|
|
|
|
|
|
|
geoTargetDistrict => $args->{geoTargetDistrict}, |
48
|
|
|
|
|
|
|
geoTargetMetro => $args->{geoTargetMetro}, |
49
|
|
|
|
|
|
|
geoTargetMostSpecificLocation => $args->{geoTargetMostSpecificLocation}, |
50
|
|
|
|
|
|
|
geoTargetPostalCode => $args->{geoTargetPostalCode}, |
51
|
|
|
|
|
|
|
geoTargetProvince => $args->{geoTargetProvince}, |
52
|
|
|
|
|
|
|
geoTargetRegion => $args->{geoTargetRegion}, |
53
|
|
|
|
|
|
|
geoTargetState => $args->{geoTargetState}, |
54
|
|
|
|
|
|
|
hotelBookingWindowDays => $args->{hotelBookingWindowDays}, |
55
|
|
|
|
|
|
|
hotelCenterId => $args->{hotelCenterId}, |
56
|
|
|
|
|
|
|
hotelCheckInDate => $args->{hotelCheckInDate}, |
57
|
|
|
|
|
|
|
hotelCheckInDayOfWeek => $args->{hotelCheckInDayOfWeek}, |
58
|
|
|
|
|
|
|
hotelCity => $args->{hotelCity}, |
59
|
|
|
|
|
|
|
hotelClass => $args->{hotelClass}, |
60
|
|
|
|
|
|
|
hotelCountry => $args->{hotelCountry}, |
61
|
|
|
|
|
|
|
hotelDateSelectionType => $args->{hotelDateSelectionType}, |
62
|
|
|
|
|
|
|
hotelLengthOfStay => $args->{hotelLengthOfStay}, |
63
|
|
|
|
|
|
|
hotelPriceBucket => $args->{hotelPriceBucket}, |
64
|
|
|
|
|
|
|
hotelRateRuleId => $args->{hotelRateRuleId}, |
65
|
|
|
|
|
|
|
hotelRateType => $args->{hotelRateType}, |
66
|
|
|
|
|
|
|
hotelState => $args->{hotelState}, |
67
|
|
|
|
|
|
|
hour => $args->{hour}, |
68
|
|
|
|
|
|
|
interactionOnThisExtension => $args->{interactionOnThisExtension}, |
69
|
|
|
|
|
|
|
keyword => $args->{keyword}, |
70
|
|
|
|
|
|
|
month => $args->{month}, |
71
|
|
|
|
|
|
|
monthOfYear => $args->{monthOfYear}, |
72
|
|
|
|
|
|
|
partnerHotelId => $args->{partnerHotelId}, |
73
|
|
|
|
|
|
|
placeholderType => $args->{placeholderType}, |
74
|
|
|
|
|
|
|
productAggregatorId => $args->{productAggregatorId}, |
75
|
|
|
|
|
|
|
productBiddingCategoryLevel1 => $args->{productBiddingCategoryLevel1}, |
76
|
|
|
|
|
|
|
productBiddingCategoryLevel2 => $args->{productBiddingCategoryLevel2}, |
77
|
|
|
|
|
|
|
productBiddingCategoryLevel3 => $args->{productBiddingCategoryLevel3}, |
78
|
|
|
|
|
|
|
productBiddingCategoryLevel4 => $args->{productBiddingCategoryLevel4}, |
79
|
|
|
|
|
|
|
productBiddingCategoryLevel5 => $args->{productBiddingCategoryLevel5}, |
80
|
|
|
|
|
|
|
productBrand => $args->{productBrand}, |
81
|
|
|
|
|
|
|
productChannel => $args->{productChannel}, |
82
|
|
|
|
|
|
|
productChannelExclusivity => $args->{productChannelExclusivity}, |
83
|
|
|
|
|
|
|
productCondition => $args->{productCondition}, |
84
|
|
|
|
|
|
|
productCountry => $args->{productCountry}, |
85
|
|
|
|
|
|
|
productCustomAttribute0 => $args->{productCustomAttribute0}, |
86
|
|
|
|
|
|
|
productCustomAttribute1 => $args->{productCustomAttribute1}, |
87
|
|
|
|
|
|
|
productCustomAttribute2 => $args->{productCustomAttribute2}, |
88
|
|
|
|
|
|
|
productCustomAttribute3 => $args->{productCustomAttribute3}, |
89
|
|
|
|
|
|
|
productCustomAttribute4 => $args->{productCustomAttribute4}, |
90
|
|
|
|
|
|
|
productItemId => $args->{productItemId}, |
91
|
|
|
|
|
|
|
productLanguage => $args->{productLanguage}, |
92
|
|
|
|
|
|
|
productMerchantId => $args->{productMerchantId}, |
93
|
|
|
|
|
|
|
productStoreId => $args->{productStoreId}, |
94
|
|
|
|
|
|
|
productTitle => $args->{productTitle}, |
95
|
|
|
|
|
|
|
productTypeL1 => $args->{productTypeL1}, |
96
|
|
|
|
|
|
|
productTypeL2 => $args->{productTypeL2}, |
97
|
|
|
|
|
|
|
productTypeL3 => $args->{productTypeL3}, |
98
|
|
|
|
|
|
|
productTypeL4 => $args->{productTypeL4}, |
99
|
|
|
|
|
|
|
productTypeL5 => $args->{productTypeL5}, |
100
|
|
|
|
|
|
|
quarter => $args->{quarter}, |
101
|
|
|
|
|
|
|
recommendationType => $args->{recommendationType}, |
102
|
|
|
|
|
|
|
searchEngineResultsPageType => $args->{searchEngineResultsPageType}, |
103
|
|
|
|
|
|
|
searchTermMatchType => $args->{searchTermMatchType}, |
104
|
|
|
|
|
|
|
skAdNetworkAdEventType => $args->{skAdNetworkAdEventType}, |
105
|
|
|
|
|
|
|
skAdNetworkAttributionCredit => $args->{skAdNetworkAttributionCredit}, |
106
|
|
|
|
|
|
|
skAdNetworkConversionValue => $args->{skAdNetworkConversionValue}, |
107
|
|
|
|
|
|
|
skAdNetworkSourceApp => $args->{skAdNetworkSourceApp}, |
108
|
|
|
|
|
|
|
skAdNetworkUserType => $args->{skAdNetworkUserType}, |
109
|
|
|
|
|
|
|
slot => $args->{slot}, |
110
|
|
|
|
|
|
|
webpage => $args->{webpage}, |
111
|
|
|
|
|
|
|
week => $args->{week}, |
112
|
|
|
|
|
|
|
year => $args->{year}}; |
113
|
|
|
|
|
|
|
|
114
|
0
|
|
|
|
|
|
# Delete the unassigned fields in this object for a more concise JSON payload |
115
|
|
|
|
|
|
|
remove_unassigned_fields($self, $args); |
116
|
|
|
|
|
|
|
|
117
|
0
|
|
|
|
|
|
bless $self, $class; |
118
|
|
|
|
|
|
|
return $self; |
119
|
0
|
|
|
|
|
|
} |
120
|
0
|
|
|
|
|
|
|
121
|
|
|
|
|
|
|
1; |