google-ads-googleads 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +4 -1
  3. data/README.md +1 -1
  4. data/lib/google/ads/googleads/{v0/services/credentials.rb → credentials.rb} +6 -10
  5. data/lib/google/ads/googleads/path_lookup_util.rb +18 -0
  6. data/lib/google/ads/googleads/proto_lookup_util.rb +79 -8
  7. data/lib/google/ads/googleads/v0/common/ad_pb.rb +4 -0
  8. data/lib/google/ads/googleads/v0/common/criteria_pb.rb +71 -0
  9. data/lib/google/ads/googleads/v0/enums/ad_group_type_pb.rb +1 -0
  10. data/lib/google/ads/googleads/v0/enums/ad_type_pb.rb +1 -0
  11. data/lib/google/ads/googleads/v0/enums/advertising_channel_type_pb.rb +1 -0
  12. data/lib/google/ads/googleads/v0/enums/bidding_source_pb.rb +29 -0
  13. data/lib/google/ads/googleads/v0/enums/criterion_type_pb.rb +3 -0
  14. data/lib/google/ads/googleads/v0/enums/listing_custom_attribute_index_pb.rb +31 -0
  15. data/lib/google/ads/googleads/v0/enums/listing_group_type_pb.rb +28 -0
  16. data/lib/google/ads/googleads/v0/enums/recommendation_type_pb.rb +30 -0
  17. data/lib/google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal_pb.rb +30 -0
  18. data/lib/google/ads/googleads/v0/errors/ad_error_pb.rb +1 -0
  19. data/lib/google/ads/googleads/v0/errors/ad_group_bid_modifier_error_pb.rb +28 -0
  20. data/lib/google/ads/googleads/v0/errors/ad_group_criterion_error_pb.rb +9 -9
  21. data/lib/google/ads/googleads/v0/errors/authentication_error_pb.rb +0 -4
  22. data/lib/google/ads/googleads/v0/errors/authorization_error_pb.rb +1 -0
  23. data/lib/google/ads/googleads/v0/errors/campaign_error_pb.rb +3 -0
  24. data/lib/google/ads/googleads/v0/errors/context_error_pb.rb +27 -0
  25. data/lib/google/ads/googleads/v0/errors/criterion_error_pb.rb +2 -0
  26. data/lib/google/ads/googleads/v0/errors/errors_pb.rb +8 -0
  27. data/lib/google/ads/googleads/v0/errors/field_error_pb.rb +31 -0
  28. data/lib/google/ads/googleads/v0/errors/internal_error_pb.rb +1 -0
  29. data/lib/google/ads/googleads/v0/errors/mutate_error_pb.rb +0 -3
  30. data/lib/google/ads/googleads/v0/errors/query_error_pb.rb +2 -0
  31. data/lib/google/ads/googleads/v0/errors/recommendation_error_pb.rb +32 -0
  32. data/lib/google/ads/googleads/v0/resources/ad_group_bid_modifier_pb.rb +33 -0
  33. data/lib/google/ads/googleads/v0/resources/ad_group_criterion_pb.rb +5 -4
  34. data/lib/google/ads/googleads/v0/resources/campaign_criterion_pb.rb +3 -0
  35. data/lib/google/ads/googleads/v0/resources/campaign_pb.rb +5 -0
  36. data/lib/google/ads/googleads/v0/resources/customer_pb.rb +1 -0
  37. data/lib/google/ads/googleads/v0/resources/geo_target_constant_pb.rb +27 -0
  38. data/lib/google/ads/googleads/v0/resources/recommendation_pb.rb +85 -0
  39. data/lib/google/ads/googleads/v0/services/ad_group_ad_service_client.rb +3 -3
  40. data/lib/google/ads/googleads/v0/services/ad_group_bid_modifier_service_client.rb +263 -0
  41. data/lib/google/ads/googleads/v0/services/ad_group_bid_modifier_service_client_config.json +36 -0
  42. data/lib/google/ads/googleads/v0/services/ad_group_bid_modifier_service_pb.rb +47 -0
  43. data/lib/google/ads/googleads/v0/services/ad_group_bid_modifier_service_services_pb.rb +52 -0
  44. data/lib/google/ads/googleads/v0/services/ad_group_criterion_service_client.rb +3 -3
  45. data/lib/google/ads/googleads/v0/services/ad_group_service_client.rb +3 -3
  46. data/lib/google/ads/googleads/v0/services/bidding_strategy_service_client.rb +3 -3
  47. data/lib/google/ads/googleads/v0/services/campaign_budget_service_client.rb +3 -3
  48. data/lib/google/ads/googleads/v0/services/campaign_criterion_service_client.rb +3 -3
  49. data/lib/google/ads/googleads/v0/services/campaign_service_client.rb +3 -3
  50. data/lib/google/ads/googleads/v0/services/customer_service_client.rb +3 -3
  51. data/lib/google/ads/googleads/v0/services/geo_target_constant_service_client.rb +214 -0
  52. data/lib/google/ads/googleads/v0/services/geo_target_constant_service_client_config.json +31 -0
  53. data/lib/google/ads/googleads/v0/services/geo_target_constant_service_pb.rb +24 -0
  54. data/lib/google/ads/googleads/v0/services/geo_target_constant_service_services_pb.rb +49 -0
  55. data/lib/google/ads/googleads/v0/services/google_ads_field_service_client.rb +3 -3
  56. data/lib/google/ads/googleads/v0/services/google_ads_field_service_client_config.json +2 -2
  57. data/lib/google/ads/googleads/v0/services/google_ads_service_client.rb +3 -3
  58. data/lib/google/ads/googleads/v0/services/google_ads_service_client_config.json +1 -1
  59. data/lib/google/ads/googleads/v0/services/google_ads_service_pb.rb +6 -0
  60. data/lib/google/ads/googleads/v0/services/keyword_view_service_client.rb +3 -3
  61. data/lib/google/ads/googleads/v0/services/recommendation_service_client.rb +262 -0
  62. data/lib/google/ads/googleads/v0/services/recommendation_service_client_config.json +36 -0
  63. data/lib/google/ads/googleads/v0/services/recommendation_service_pb.rb +73 -0
  64. data/lib/google/ads/googleads/v0/services/recommendation_service_services_pb.rb +51 -0
  65. data/lib/google/ads/googleads/version.rb +1 -1
  66. metadata +27 -4
  67. data/lib/google/ads/googleads/v0/enums/bid_source_pb.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 786e9754852be58af6ed81928f5c2eb75784d4d24090479912ad3dd376a57d57
4
- data.tar.gz: 21ef46bf2d76bc7085ca8ed1f2b6a63eb4becf92d61c0a8d970f926156c3cf4d
3
+ metadata.gz: a33b93fdd95cceea595f1175a57fc7695d51da5f17d0ba565fd21886a47f055e
4
+ data.tar.gz: 3f3804d59c86d12146c3e90e5469c49c395afdab8653665572948a163a2d48d4
5
5
  SHA512:
6
- metadata.gz: 55349a21aad338d63dcce98df2511a4372e7f36a00a9d25b74f83feba241c074579a29b22061ccb013afad1184e68737f1cd76b3167802fd80c482eda9fb1793
7
- data.tar.gz: '0178da13bafbfd1c9b61e684397d76e2d02065f3ba53f2fd5345cc1d6f0a0ab29b30a8bdb0bbd70185515ea3875996b00824f6a97c9a73134746f541f32d055c'
6
+ metadata.gz: ddfb621c7cec0d277e208979eea51966c9e3175c29f877a4a6bc092e66d5f57ce75862bbe5d63865616078bc9a6857cc2761077a58f14add31ab532b77fab0bb
7
+ data.tar.gz: 6631c0e4d73aa32fe54d5578513d779580f8dc91edb06ad6c2d35745785b0b3c8807e07b8b3498fcae0a807549aaf499cc0eb0265aed344fc3c54e4cb6e15a52
data/ChangeLog CHANGED
@@ -1,2 +1,5 @@
1
+ 0.2.0:
2
+ - Adding support for Google Ads API v0_1.
3
+
1
4
  0.1.0:
2
- - Initial release with support for Google Ads API V0.
5
+ - Initial release with support for Google Ads API v0.
data/README.md CHANGED
@@ -75,7 +75,7 @@ way:
75
75
  You can also modify these properties after instantiation by using the
76
76
  `configure` method on the `AdwordsClient`, using the same structure as above.
77
77
 
78
- [Authorization guide]: https://developers.google.com/google-ads/api/docs/oauth/
78
+ [Authorization guide]: https://developers.google.com/google-ads/api/docs/oauth/overview
79
79
  [Authentication example]: https://github.com/googleads/google-ads-ruby/blob/master/examples/authentication/authenticate_in_standalone_application.rb
80
80
  [adwords_config.rb]: https://github.com/googleads/google-ads-ruby/blob/master/googleads_config.rb
81
81
 
@@ -17,16 +17,12 @@ require "googleauth"
17
17
  module Google
18
18
  module Ads
19
19
  module Googleads
20
- module V0
21
- module Services
22
- class Credentials < Google::Auth::Credentials
23
- SCOPE = [
24
- ].freeze
25
- PATH_ENV_VARS = %w(GOOGLEADS_KEYFILE GOOGLE_CLOUD_KEYFILE GCLOUD_KEYFILE)
26
- JSON_ENV_VARS = %w(GOOGLEADS_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON GCLOUD_KEYFILE_JSON)
27
- DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
28
- end
29
- end
20
+ class Credentials < Google::Auth::Credentials
21
+ SCOPE = [
22
+ ].freeze
23
+ PATH_ENV_VARS = %w(GOOGLEADS_KEYFILE GOOGLE_CLOUD_KEYFILE GCLOUD_KEYFILE)
24
+ JSON_ENV_VARS = %w(GOOGLEADS_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON GCLOUD_KEYFILE_JSON)
25
+ DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
30
26
  end
31
27
  end
32
28
  end
@@ -29,6 +29,14 @@ module Google
29
29
  customer_id.to_s, sprintf('%s_%s', ad_group_id.to_s, ad_id.to_s))
30
30
  end
31
31
 
32
+ def ad_group_bid_modifier(customer_id, ad_group_id, criterion_id)
33
+ @proto_lookup_util.service(:AdGroupBidModifier).
34
+ ad_group_bid_modifier_path(
35
+ customer_id.to_s,
36
+ sprintf('%s_%s', ad_group_id.to_s, criterion_id.to_s)
37
+ )
38
+ end
39
+
32
40
  def ad_group_criterion(customer_id, ad_group_id, criterion_id)
33
41
  @proto_lookup_util.service(:AdGroupCriterion).ad_group_criteria_path(
34
42
  customer_id.to_s,
@@ -67,6 +75,11 @@ module Google
67
75
  @proto_lookup_util.service(:Customer).customer_path(customer_id.to_s)
68
76
  end
69
77
 
78
+ def geo_target_constant(geo_target_constant_id)
79
+ @proto_lookup_util.service(:GeoTargetConstant).
80
+ geo_target_constant_path(geo_target_constant_id.to_s)
81
+ end
82
+
70
83
  def google_ads_field(google_ads_field)
71
84
  @proto_lookup_util.service(:GoogleAdsField).google_ads_field_path(
72
85
  google_ads_field.to_s)
@@ -78,6 +91,11 @@ module Google
78
91
  sprintf('%s_%s', ad_group_id.to_s, criterion_id.to_s)
79
92
  )
80
93
  end
94
+
95
+ def recommendation(customer_id, recommendation_id)
96
+ @proto_lookup_util.service(:Recommendation).recommendation_path(
97
+ customer_id.to_s, recommendation_id.to_s)
98
+ end
81
99
  end
82
100
  end
83
101
  end
@@ -47,6 +47,8 @@ module Google
47
47
  PositionEstimates: ['resources', 'ad_group_criterion_pb',
48
48
  'AdGroupCriterion::PositionEstimates'],
49
49
  AdGroup: ['resources', 'ad_group_pb', 'AdGroup'],
50
+ AdGroupBidModifier: ['resources', 'ad_group_bid_modifier_pb',
51
+ 'AdGroupBidModifier'],
50
52
  BiddingStrategy: ['resources', 'bidding_strategy_pb',
51
53
  'BiddingStrategy'],
52
54
  CampaignBudget: ['resources', 'campaign_budget_pb', 'CampaignBudget'],
@@ -55,12 +57,33 @@ module Google
55
57
  Campaign: ['resources', 'campaign_pb', 'Campaign'],
56
58
  NetworkSettings: ['resources', 'campaign_pb',
57
59
  'Campaign::NetworkSettings'],
60
+ HotelSettingInfo: ['resources', 'campaign_pb',
61
+ 'Campaign::HotelSettingInfo'],
58
62
  DynamicSearchAdsSetting: ['resources', 'campaign_pb',
59
63
  'Campaign::DynamicSearchAdsSetting'],
60
64
  Customer: ['resources', 'customer_pb', 'Customer'],
65
+ GeoTargetConstant: ['resources', 'geo_target_constant_pb',
66
+ 'GeoTargetConstant'],
61
67
  GoogleAdsField: ['resources', 'google_ads_field_pb',
62
68
  'GoogleAdsField'],
63
69
  KeywordView: ['resources', 'keyword_view_pb', 'KeywordView'],
70
+ Recommendation: ['resources', 'recommendation_pb', 'Recommendation'],
71
+ RecommendationImpact: ['resources', 'recommendation_pb',
72
+ 'Recommendation::RecommendationImpact'],
73
+ RecommendationMetrics: ['resources', 'recommendation_pb',
74
+ 'Recommendation::RecommendationMetrics'],
75
+ CampaignBudgetRecommendation: ['resources', 'recommendation_pb',
76
+ 'Recommendation::CampaignBudgetRecommendation'],
77
+ CampaignBudgetRecommendationOption: ['resources', 'recommendation_pb',
78
+ 'Recommendation::CampaignBudgetRecommendation::CampaignBudgetRecommendationOption'],
79
+ KeywordRecommendation: ['resources', 'recommendation_pb',
80
+ 'Recommendation::KeywordRecommendation'],
81
+ TextAdRecommendation: ['resources', 'recommendation_pb',
82
+ 'Recommendation::TextAdRecommendation'],
83
+ TargetCpaOptInRecommendation: ['resources', 'recommendation_pb',
84
+ 'Recommendation::TargetCpaOptInRecommendation'],
85
+ TargetCpaOptInRecommendationOption: ['resources', 'recommendation_pb',
86
+ 'Recommendation::TargetCpaOptInRecommendation::TargetCpaOptInRecommendationOption'],
64
87
  Ad: ['common', 'ad_pb', 'Ad'],
65
88
  TextAdInfo: ['common', 'ad_pb', 'TextAdInfo'],
66
89
  ExpandedTextAdInfo: ['common', 'ad_pb', 'ExpandedTextAdInfo'],
@@ -70,6 +93,7 @@ module Google
70
93
  CallOnlyAdInfo: ['common', 'ad_pb', 'CallOnlyAdInfo'],
71
94
  ExpandedDynamicSearchAdInfo: ['common', 'ad_pb',
72
95
  'ExpandedDynamicSearchAdInfo'],
96
+ HotelAdInfo: ['common', 'ad_pb', 'HotelAdInfo'],
73
97
  EnhancedCpc: ['common', 'bidding_pb', 'EnhancedCpc'],
74
98
  ManualCpc: ['common', 'bidding_pb', 'ManualCpc'],
75
99
  ManualCpm: ['common', 'bidding_pb', 'ManualCpm'],
@@ -82,10 +106,39 @@ module Google
82
106
  TargetRoas: ['common', 'bidding_pb', 'TargetRoas'],
83
107
  TargetSpend: ['common', 'bidding_pb', 'TargetSpend'],
84
108
  KeywordInfo: ['common', 'criteria_pb', 'KeywordInfo'],
109
+ LocationInfo: ['common', 'criteria_pb', 'LocationInfo'],
110
+ PlatformInfo: ['common', 'criteria_pb', 'PlatformInfo'],
111
+ ListingGroupInfo: ['common', 'criteria_pb', 'ListingGroupInfo'],
112
+ ListingDimensionInfo: ['common', 'criteria_pb',
113
+ 'ListingDimensionInfo'],
114
+ ListingBrandInfo: ['common', 'criteria_pb', 'ListingBrandInfo'],
115
+ HotelIdInfo: ['common', 'criteria_pb', 'HotelIdInfo'],
116
+ HotelClassInfo: ['common', 'criteria_pb', 'HotelClassInfo'],
117
+ HotelCountryRegionInfo: ['common', 'criteria_pb',
118
+ 'HotelCountryRegionInfo'],
119
+ HotelStateInfo: ['common', 'criteria_pb', 'HotelStateInfo'],
120
+ HotelCityInfo: ['common', 'criteria_pb', 'HotelCityInfo'],
121
+ ListingCustomAttributeInfo: ['common', 'criteria_pb',
122
+ 'ListingCustomAttributeInfo'],
123
+ HotelDateSelectionTypeInfo: ['common', 'criteria_pb',
124
+ 'HotelDateSelectionTypeInfo'],
125
+ HotelAdvanceBookingWindowInfo: ['common', 'criteria_pb',
126
+ 'HotelAdvanceBookingWindowInfo'],
127
+ HotelLengthOfStayInfo: ['common', 'criteria_pb',
128
+ 'HotelLengthOfStayInfo'],
129
+ HotelCheckInDayInfo: ['common', 'criteria_pb', 'HotelCheckInDayInfo'],
85
130
  CustomParameter: ['common', 'custom_parameter_pb', 'CustomParameter'],
86
131
  Metrics: ['common', 'metrics_pb', 'Metrics'],
87
132
  PolicyViolationKey: ['common', 'policy_pb', 'PolicyViolationKey'],
88
- Value: ['common', 'value_pb', 'Value']
133
+ Value: ['common', 'value_pb', 'Value'],
134
+ CampaignBudgetParameters: ['services', 'recommendation_service_pb',
135
+ 'ApplyRecommendationOperation::CampaignBudgetParameters'],
136
+ TextAdParameters: ['services', 'recommendation_service_pb',
137
+ 'ApplyRecommendationOperation::TextAdParameters'],
138
+ KeywordParameters: ['services', 'recommendation_service_pb',
139
+ 'ApplyRecommendationOperation::KeywordParameters'],
140
+ TargetCpaOptInParameters: ['services', 'recommendation_service_pb',
141
+ 'ApplyRecommendationOperation::TargetCpaOptInParameters']
89
142
  }.freeze
90
143
 
91
144
  ENUMS = {
@@ -102,7 +155,7 @@ module Google
102
155
  'AdvertisingChannelSubType'],
103
156
  AdvertisingChannelType: ['advertising_channel_type_pb',
104
157
  'AdvertisingChannelType'],
105
- BidSource: ['bid_source_pb', 'BidSource'],
158
+ BiddingSource: ['bidding_source_pb', 'BiddingSource'],
106
159
  BiddingStrategyType: ['bidding_strategy_type_pb',
107
160
  'BiddingStrategyType'],
108
161
  BudgetDeliveryMethod: ['budget_delivery_method_pb',
@@ -118,14 +171,23 @@ module Google
118
171
  GoogleAdsFieldDataType: ['google_ads_field_data_type_pb',
119
172
  'GoogleAdsFieldDataType'],
120
173
  KeywordMatchType: ['keyword_match_type_pb', 'KeywordMatchType'],
174
+ ListingCustomAttributeIndex: ['listing_custom_attribute_index_pb',
175
+ 'ListingCustomAttributeIndex'],
176
+ ListingGroupType: ['listing_group_type_pb', 'ListingGroupType'],
121
177
  PageOnePromotedStrategyGoal: ['page_one_promoted_strategy_goal_pb',
122
178
  'PageOnePromotedStrategyGoal'],
123
179
  QualityScoreBucket: ['quality_score_bucket_pb', 'QualityScoreBucket'],
124
- Slot: ['slot_pb', 'Slot']
180
+ RecommendationType: ['recommendation_type_pb', 'RecommendationType'],
181
+ Slot: ['slot_pb', 'Slot'],
182
+ TargetCpaOptInRecommendationGoal: [
183
+ 'target_cpa_opt_in_recommendation_goal_pb',
184
+ 'TargetCpaOptInRecommendationGoal']
125
185
  }.freeze
126
186
 
127
187
  SERVICES = {
128
188
  AdGroupAd: ['ad_group_ad_service_client', 'AdGroupAdServiceClient'],
189
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_client',
190
+ 'AdGroupBidModifierServiceClient'],
129
191
  AdGroupCriterion: ['ad_group_criterion_service_client',
130
192
  'AdGroupCriterionServiceClient'],
131
193
  AdGroup: ['ad_group_service_client', 'AdGroupServiceClient'],
@@ -137,18 +199,26 @@ module Google
137
199
  'CampaignCriterionServiceClient'],
138
200
  Campaign: ['campaign_service_client', 'CampaignServiceClient'],
139
201
  Customer: ['customer_service_client', 'CustomerServiceClient'],
202
+ GeoTargetConstant: ['geo_target_constant_service_client',
203
+ 'GeoTargetConstantServiceClient'],
140
204
  GoogleAdsField: ['google_ads_field_service_client',
141
205
  'GoogleAdsFieldServiceClient'],
142
206
  GoogleAds: ['google_ads_service_client', 'GoogleAdsServiceClient'],
143
207
  KeywordView: ['keyword_view_service_client',
144
- 'KeywordViewServiceClient']
145
- }
208
+ 'KeywordViewServiceClient'],
209
+ Recommendation: ['recommendation_service_client',
210
+ 'RecommendationServiceClient']
211
+ }.freeze
146
212
 
147
213
  OPERATIONS = {
148
214
  AdGroupAd: ['ad_group_ad_service_pb', 'AdGroupAdOperation'],
215
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_pb',
216
+ 'AdGroupBidModifierOperation'],
149
217
  AdGroupCriterion: ['ad_group_criterion_service_pb',
150
218
  'AdGroupCriterionOperation'],
151
219
  AdGroup: ['ad_group_service_pb', 'AdGroupOperation'],
220
+ ApplyRecommendation: ['recommendation_service_pb',
221
+ 'ApplyRecommendationOperation'],
152
222
  BiddingStrategy: ['bidding_strategy_service_pb',
153
223
  'BiddingStrategyOperation'],
154
224
  CampaignBudget: ['campaign_budget_service_pb',
@@ -156,7 +226,7 @@ module Google
156
226
  CampaignCriterion: ['campaign_criterion_service_pb',
157
227
  'CampaignCriterionOperation'],
158
228
  Campaign: ['campaign_service_pb', 'CampaignOperation'],
159
- }
229
+ }.freeze
160
230
 
161
231
  def initialize(version)
162
232
  @version = version
@@ -176,8 +246,9 @@ module Google
176
246
  resource_info[1])
177
247
  require require_path
178
248
 
179
- class_path = resource_info.first == 'resources' ?
180
- RESOURCE_CLASS_PATH : COMMON_CLASS_PATH
249
+ class_path = RESOURCE_CLASS_PATH
250
+ class_path = COMMON_CLASS_PATH if resource_info.first == 'common'
251
+ class_path = SERVICE_CLASS_PATH if resource_info.first == 'services'
181
252
  class_path = sprintf(class_path, @version, resource_info[2])
182
253
  return class_for_path(class_path)
183
254
  end
@@ -22,6 +22,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
22
  optional :responsive_display_ad, :message, 9, "google.ads.googleads.v0.common.ResponsiveDisplayAdInfo"
23
23
  optional :call_only_ad, :message, 13, "google.ads.googleads.v0.common.CallOnlyAdInfo"
24
24
  optional :expanded_dynamic_search_ad, :message, 14, "google.ads.googleads.v0.common.ExpandedDynamicSearchAdInfo"
25
+ optional :hotel_ad, :message, 15, "google.ads.googleads.v0.common.HotelAdInfo"
25
26
  end
26
27
  end
27
28
  add_message "google.ads.googleads.v0.common.TextAdInfo" do
@@ -59,6 +60,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
59
60
  add_message "google.ads.googleads.v0.common.ExpandedDynamicSearchAdInfo" do
60
61
  optional :description, :message, 1, "google.protobuf.StringValue"
61
62
  end
63
+ add_message "google.ads.googleads.v0.common.HotelAdInfo" do
64
+ end
62
65
  end
63
66
 
64
67
  module Google
@@ -73,6 +76,7 @@ module Google
73
76
  ResponsiveDisplayAdInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ResponsiveDisplayAdInfo").msgclass
74
77
  CallOnlyAdInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.CallOnlyAdInfo").msgclass
75
78
  ExpandedDynamicSearchAdInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ExpandedDynamicSearchAdInfo").msgclass
79
+ HotelAdInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelAdInfo").msgclass
76
80
  end
77
81
  end
78
82
  end
@@ -4,12 +4,68 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'google/ads/googleads/v0/enums/keyword_match_type_pb'
7
+ require 'google/ads/googleads/v0/enums/listing_custom_attribute_index_pb'
8
+ require 'google/ads/googleads/v0/enums/listing_group_type_pb'
7
9
  require 'google/protobuf/wrappers_pb'
8
10
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
11
  add_message "google.ads.googleads.v0.common.KeywordInfo" do
10
12
  optional :text, :message, 1, "google.protobuf.StringValue"
11
13
  optional :match_type, :enum, 2, "google.ads.googleads.v0.enums.KeywordMatchTypeEnum.KeywordMatchType"
12
14
  end
15
+ add_message "google.ads.googleads.v0.common.LocationInfo" do
16
+ end
17
+ add_message "google.ads.googleads.v0.common.PlatformInfo" do
18
+ end
19
+ add_message "google.ads.googleads.v0.common.ListingGroupInfo" do
20
+ optional :type, :enum, 1, "google.ads.googleads.v0.enums.ListingGroupTypeEnum.ListingGroupType"
21
+ optional :case_value, :message, 2, "google.ads.googleads.v0.common.ListingDimensionInfo"
22
+ optional :parent_criterion_id, :message, 3, "google.protobuf.Int64Value"
23
+ end
24
+ add_message "google.ads.googleads.v0.common.ListingDimensionInfo" do
25
+ oneof :dimension do
26
+ optional :listing_brand, :message, 1, "google.ads.googleads.v0.common.ListingBrandInfo"
27
+ optional :hotel_id, :message, 2, "google.ads.googleads.v0.common.HotelIdInfo"
28
+ optional :hotel_class, :message, 3, "google.ads.googleads.v0.common.HotelClassInfo"
29
+ optional :hotel_country_region, :message, 4, "google.ads.googleads.v0.common.HotelCountryRegionInfo"
30
+ optional :hotel_state, :message, 5, "google.ads.googleads.v0.common.HotelStateInfo"
31
+ optional :hotel_city, :message, 6, "google.ads.googleads.v0.common.HotelCityInfo"
32
+ optional :listing_custom_attribute, :message, 7, "google.ads.googleads.v0.common.ListingCustomAttributeInfo"
33
+ end
34
+ end
35
+ add_message "google.ads.googleads.v0.common.ListingBrandInfo" do
36
+ optional :value, :message, 1, "google.protobuf.StringValue"
37
+ end
38
+ add_message "google.ads.googleads.v0.common.HotelIdInfo" do
39
+ optional :value, :message, 1, "google.protobuf.StringValue"
40
+ end
41
+ add_message "google.ads.googleads.v0.common.HotelClassInfo" do
42
+ optional :value, :message, 1, "google.protobuf.Int64Value"
43
+ end
44
+ add_message "google.ads.googleads.v0.common.HotelCountryRegionInfo" do
45
+ optional :country_region_criterion, :message, 1, "google.protobuf.StringValue"
46
+ end
47
+ add_message "google.ads.googleads.v0.common.HotelStateInfo" do
48
+ optional :state_criterion, :message, 1, "google.protobuf.StringValue"
49
+ end
50
+ add_message "google.ads.googleads.v0.common.HotelCityInfo" do
51
+ optional :city_criterion, :message, 1, "google.protobuf.StringValue"
52
+ end
53
+ add_message "google.ads.googleads.v0.common.ListingCustomAttributeInfo" do
54
+ optional :value, :message, 1, "google.protobuf.StringValue"
55
+ optional :index, :enum, 2, "google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex"
56
+ end
57
+ add_message "google.ads.googleads.v0.common.HotelDateSelectionTypeInfo" do
58
+ end
59
+ add_message "google.ads.googleads.v0.common.HotelAdvanceBookingWindowInfo" do
60
+ optional :min_days, :message, 1, "google.protobuf.Int64Value"
61
+ optional :max_days, :message, 2, "google.protobuf.Int64Value"
62
+ end
63
+ add_message "google.ads.googleads.v0.common.HotelLengthOfStayInfo" do
64
+ optional :min_nights, :message, 1, "google.protobuf.Int64Value"
65
+ optional :max_nights, :message, 2, "google.protobuf.Int64Value"
66
+ end
67
+ add_message "google.ads.googleads.v0.common.HotelCheckInDayInfo" do
68
+ end
13
69
  end
14
70
 
15
71
  module Google
@@ -18,6 +74,21 @@ module Google
18
74
  module V0
19
75
  module Common
20
76
  KeywordInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.KeywordInfo").msgclass
77
+ LocationInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.LocationInfo").msgclass
78
+ PlatformInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.PlatformInfo").msgclass
79
+ ListingGroupInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ListingGroupInfo").msgclass
80
+ ListingDimensionInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ListingDimensionInfo").msgclass
81
+ ListingBrandInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ListingBrandInfo").msgclass
82
+ HotelIdInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelIdInfo").msgclass
83
+ HotelClassInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelClassInfo").msgclass
84
+ HotelCountryRegionInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelCountryRegionInfo").msgclass
85
+ HotelStateInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelStateInfo").msgclass
86
+ HotelCityInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelCityInfo").msgclass
87
+ ListingCustomAttributeInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.ListingCustomAttributeInfo").msgclass
88
+ HotelDateSelectionTypeInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelDateSelectionTypeInfo").msgclass
89
+ HotelAdvanceBookingWindowInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelAdvanceBookingWindowInfo").msgclass
90
+ HotelLengthOfStayInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelLengthOfStayInfo").msgclass
91
+ HotelCheckInDayInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.common.HotelCheckInDayInfo").msgclass
21
92
  end
22
93
  end
23
94
  end
@@ -10,6 +10,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  value :UNSPECIFIED, 0
11
11
  value :UNKNOWN, 1
12
12
  value :SEARCH_STANDARD, 2
13
+ value :HOTEL_ADS, 6
13
14
  end
14
15
  end
15
16
 
@@ -15,6 +15,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  value :RESPONSIVE_DISPLAY_AD, 5
16
16
  value :CALL_ONLY_AD, 6
17
17
  value :EXPANDED_DYNAMIC_SEARCH_AD, 7
18
+ value :HOTEL_AD, 8
18
19
  end
19
20
  end
20
21
 
@@ -10,6 +10,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  value :UNSPECIFIED, 0
11
11
  value :UNKNOWN, 1
12
12
  value :SEARCH, 2
13
+ value :HOTEL, 5
13
14
  end
14
15
  end
15
16
 
@@ -0,0 +1,29 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/enums/bidding_source.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.enums.BiddingSourceEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :ADGROUP, 2
13
+ value :CRITERION, 3
14
+ value :CAMPAIGN_BIDDING_STRATEGY, 5
15
+ end
16
+ end
17
+
18
+ module Google
19
+ module Ads
20
+ module Googleads
21
+ module V0
22
+ module Enums
23
+ BiddingSourceEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.BiddingSourceEnum").msgclass
24
+ BiddingSourceEnum::BiddingSource = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource").enummodule
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -10,6 +10,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  value :UNSPECIFIED, 0
11
11
  value :UNKNOWN, 1
12
12
  value :KEYWORD, 2
13
+ value :PLATFORM, 6
14
+ value :LOCATION, 7
15
+ value :LISTING_GROUP, 8
13
16
  end
14
17
  end
15
18
 
@@ -0,0 +1,31 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/enums/listing_custom_attribute_index.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :CUSTOM_ATTRIBUTE_0, 2
13
+ value :CUSTOM_ATTRIBUTE_1, 3
14
+ value :CUSTOM_ATTRIBUTE_2, 4
15
+ value :CUSTOM_ATTRIBUTE_3, 5
16
+ value :CUSTOM_ATTRIBUTE_4, 6
17
+ end
18
+ end
19
+
20
+ module Google
21
+ module Ads
22
+ module Googleads
23
+ module V0
24
+ module Enums
25
+ ListingCustomAttributeIndexEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum").msgclass
26
+ ListingCustomAttributeIndexEnum::ListingCustomAttributeIndex = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex").enummodule
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/enums/listing_group_type.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.enums.ListingGroupTypeEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.enums.ListingGroupTypeEnum.ListingGroupType" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :SUBDIVISION, 2
13
+ value :UNIT, 3
14
+ end
15
+ end
16
+
17
+ module Google
18
+ module Ads
19
+ module Googleads
20
+ module V0
21
+ module Enums
22
+ ListingGroupTypeEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.ListingGroupTypeEnum").msgclass
23
+ ListingGroupTypeEnum::ListingGroupType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.ListingGroupTypeEnum.ListingGroupType").enummodule
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/enums/recommendation_type.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.enums.RecommendationTypeEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.enums.RecommendationTypeEnum.RecommendationType" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :CAMPAIGN_BUDGET, 2
13
+ value :KEYWORD, 3
14
+ value :TEXT_AD, 4
15
+ value :TARGET_CPA_OPT_IN, 5
16
+ end
17
+ end
18
+
19
+ module Google
20
+ module Ads
21
+ module Googleads
22
+ module V0
23
+ module Enums
24
+ RecommendationTypeEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.RecommendationTypeEnum").msgclass
25
+ RecommendationTypeEnum::RecommendationType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.RecommendationTypeEnum.RecommendationType").enummodule
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.enums.TargetCpaOptInRecommendationGoalEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :SAME_COST, 2
13
+ value :SAME_CONVERSIONS, 3
14
+ value :SAME_CPA, 4
15
+ value :CLOSEST_CPA, 5
16
+ end
17
+ end
18
+
19
+ module Google
20
+ module Ads
21
+ module Googleads
22
+ module V0
23
+ module Enums
24
+ TargetCpaOptInRecommendationGoalEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.TargetCpaOptInRecommendationGoalEnum").msgclass
25
+ TargetCpaOptInRecommendationGoalEnum::TargetCpaOptInRecommendationGoal = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal").enummodule
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -137,6 +137,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
137
137
  value :CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID, 127
138
138
  value :CANNOT_SET_PATH2_WITHOUT_PATH1, 128
139
139
  value :MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME, 129
140
+ value :INCOMPATIBLE_WITH_RESTRICTION_TYPE, 130
140
141
  end
141
142
  end
142
143
 
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "google.ads.googleads.v0.errors.AdGroupBidModifierErrorEnum" do
8
+ end
9
+ add_enum "google.ads.googleads.v0.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierError" do
10
+ value :UNSPECIFIED, 0
11
+ value :UNKNOWN, 1
12
+ value :CRITERION_ID_NOT_SUPPORTED, 2
13
+ value :CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER, 3
14
+ end
15
+ end
16
+
17
+ module Google
18
+ module Ads
19
+ module Googleads
20
+ module V0
21
+ module Errors
22
+ AdGroupBidModifierErrorEnum = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.errors.AdGroupBidModifierErrorEnum").msgclass
23
+ AdGroupBidModifierErrorEnum::AdGroupBidModifierError = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierError").enummodule
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -25,15 +25,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
25
25
  value :INVALID_USER_STATUS, 15
26
26
  value :CANNOT_ADD_CRITERIA_TYPE, 16
27
27
  value :CANNOT_EXCLUDE_CRITERIA_TYPE, 17
28
- value :INVALID_PRODUCT_PARTITION_HIERARCHY, 18
29
- value :PRODUCT_PARTITION_UNIT_CANNOT_HAVE_CHILDREN, 19
30
- value :PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE, 20
31
- value :PRODUCT_PARTITION_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS, 21
32
- value :PRODUCT_PARTITION_ALREADY_EXISTS, 22
33
- value :PRODUCT_PARTITION_DOES_NOT_EXIST, 23
34
- value :PRODUCT_PARTITION_CANNOT_BE_REMOVED, 24
35
- value :INVALID_PRODUCT_PARTITION_TYPE, 25
36
- value :PRODUCT_PARTITION_ADD_MAY_ONLY_USE_TEMP_ID, 26
37
28
  value :CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE, 27
38
29
  value :OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS, 28
39
30
  value :CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS, 29
@@ -46,6 +37,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
46
37
  value :CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE, 36
47
38
  value :FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE, 37
48
39
  value :FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE, 38
40
+ value :INVALID_LISTING_GROUP_HIERARCHY, 39
41
+ value :LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN, 40
42
+ value :LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE, 41
43
+ value :LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS, 42
44
+ value :LISTING_GROUP_ALREADY_EXISTS, 43
45
+ value :LISTING_GROUP_DOES_NOT_EXIST, 44
46
+ value :LISTING_GROUP_CANNOT_BE_REMOVED, 45
47
+ value :INVALID_LISTING_GROUP_TYPE, 46
48
+ value :LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID, 47
49
49
  end
50
50
  end
51
51