1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/ads/googleads/v1/common/ad_type_infos.proto 3 4package common 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 wrappers "github.com/golang/protobuf/ptypes/wrappers" 12 enums "google.golang.org/genproto/googleapis/ads/googleads/v1/enums" 13 _ "google.golang.org/genproto/googleapis/api/annotations" 14) 15 16// Reference imports to suppress errors if they are not otherwise used. 17var _ = proto.Marshal 18var _ = fmt.Errorf 19var _ = math.Inf 20 21// This is a compile-time assertion to ensure that this generated file 22// is compatible with the proto package it is being compiled against. 23// A compilation error at this line likely means your copy of the 24// proto package needs to be updated. 25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 26 27// A text ad. 28type TextAdInfo struct { 29 // The headline of the ad. 30 Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"` 31 // The first line of the ad's description. 32 Description1 *wrappers.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"` 33 // The second line of the ad's description. 34 Description2 *wrappers.StringValue `protobuf:"bytes,3,opt,name=description2,proto3" json:"description2,omitempty"` 35 XXX_NoUnkeyedLiteral struct{} `json:"-"` 36 XXX_unrecognized []byte `json:"-"` 37 XXX_sizecache int32 `json:"-"` 38} 39 40func (m *TextAdInfo) Reset() { *m = TextAdInfo{} } 41func (m *TextAdInfo) String() string { return proto.CompactTextString(m) } 42func (*TextAdInfo) ProtoMessage() {} 43func (*TextAdInfo) Descriptor() ([]byte, []int) { 44 return fileDescriptor_2709d6977cd7f379, []int{0} 45} 46 47func (m *TextAdInfo) XXX_Unmarshal(b []byte) error { 48 return xxx_messageInfo_TextAdInfo.Unmarshal(m, b) 49} 50func (m *TextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 51 return xxx_messageInfo_TextAdInfo.Marshal(b, m, deterministic) 52} 53func (m *TextAdInfo) XXX_Merge(src proto.Message) { 54 xxx_messageInfo_TextAdInfo.Merge(m, src) 55} 56func (m *TextAdInfo) XXX_Size() int { 57 return xxx_messageInfo_TextAdInfo.Size(m) 58} 59func (m *TextAdInfo) XXX_DiscardUnknown() { 60 xxx_messageInfo_TextAdInfo.DiscardUnknown(m) 61} 62 63var xxx_messageInfo_TextAdInfo proto.InternalMessageInfo 64 65func (m *TextAdInfo) GetHeadline() *wrappers.StringValue { 66 if m != nil { 67 return m.Headline 68 } 69 return nil 70} 71 72func (m *TextAdInfo) GetDescription1() *wrappers.StringValue { 73 if m != nil { 74 return m.Description1 75 } 76 return nil 77} 78 79func (m *TextAdInfo) GetDescription2() *wrappers.StringValue { 80 if m != nil { 81 return m.Description2 82 } 83 return nil 84} 85 86// An expanded text ad. 87type ExpandedTextAdInfo struct { 88 // The first part of the ad's headline. 89 HeadlinePart1 *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline_part1,json=headlinePart1,proto3" json:"headline_part1,omitempty"` 90 // The second part of the ad's headline. 91 HeadlinePart2 *wrappers.StringValue `protobuf:"bytes,2,opt,name=headline_part2,json=headlinePart2,proto3" json:"headline_part2,omitempty"` 92 // The third part of the ad's headline. 93 HeadlinePart3 *wrappers.StringValue `protobuf:"bytes,6,opt,name=headline_part3,json=headlinePart3,proto3" json:"headline_part3,omitempty"` 94 // The description of the ad. 95 Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 96 // The second description of the ad. 97 Description2 *wrappers.StringValue `protobuf:"bytes,7,opt,name=description2,proto3" json:"description2,omitempty"` 98 // The text that can appear alongside the ad's displayed URL. 99 Path1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path1,proto3" json:"path1,omitempty"` 100 // Additional text that can appear alongside the ad's displayed URL. 101 Path2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=path2,proto3" json:"path2,omitempty"` 102 XXX_NoUnkeyedLiteral struct{} `json:"-"` 103 XXX_unrecognized []byte `json:"-"` 104 XXX_sizecache int32 `json:"-"` 105} 106 107func (m *ExpandedTextAdInfo) Reset() { *m = ExpandedTextAdInfo{} } 108func (m *ExpandedTextAdInfo) String() string { return proto.CompactTextString(m) } 109func (*ExpandedTextAdInfo) ProtoMessage() {} 110func (*ExpandedTextAdInfo) Descriptor() ([]byte, []int) { 111 return fileDescriptor_2709d6977cd7f379, []int{1} 112} 113 114func (m *ExpandedTextAdInfo) XXX_Unmarshal(b []byte) error { 115 return xxx_messageInfo_ExpandedTextAdInfo.Unmarshal(m, b) 116} 117func (m *ExpandedTextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 118 return xxx_messageInfo_ExpandedTextAdInfo.Marshal(b, m, deterministic) 119} 120func (m *ExpandedTextAdInfo) XXX_Merge(src proto.Message) { 121 xxx_messageInfo_ExpandedTextAdInfo.Merge(m, src) 122} 123func (m *ExpandedTextAdInfo) XXX_Size() int { 124 return xxx_messageInfo_ExpandedTextAdInfo.Size(m) 125} 126func (m *ExpandedTextAdInfo) XXX_DiscardUnknown() { 127 xxx_messageInfo_ExpandedTextAdInfo.DiscardUnknown(m) 128} 129 130var xxx_messageInfo_ExpandedTextAdInfo proto.InternalMessageInfo 131 132func (m *ExpandedTextAdInfo) GetHeadlinePart1() *wrappers.StringValue { 133 if m != nil { 134 return m.HeadlinePart1 135 } 136 return nil 137} 138 139func (m *ExpandedTextAdInfo) GetHeadlinePart2() *wrappers.StringValue { 140 if m != nil { 141 return m.HeadlinePart2 142 } 143 return nil 144} 145 146func (m *ExpandedTextAdInfo) GetHeadlinePart3() *wrappers.StringValue { 147 if m != nil { 148 return m.HeadlinePart3 149 } 150 return nil 151} 152 153func (m *ExpandedTextAdInfo) GetDescription() *wrappers.StringValue { 154 if m != nil { 155 return m.Description 156 } 157 return nil 158} 159 160func (m *ExpandedTextAdInfo) GetDescription2() *wrappers.StringValue { 161 if m != nil { 162 return m.Description2 163 } 164 return nil 165} 166 167func (m *ExpandedTextAdInfo) GetPath1() *wrappers.StringValue { 168 if m != nil { 169 return m.Path1 170 } 171 return nil 172} 173 174func (m *ExpandedTextAdInfo) GetPath2() *wrappers.StringValue { 175 if m != nil { 176 return m.Path2 177 } 178 return nil 179} 180 181// A call-only ad. 182type CallOnlyAdInfo struct { 183 // The country code in the ad. 184 CountryCode *wrappers.StringValue `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 185 // The phone number in the ad. 186 PhoneNumber *wrappers.StringValue `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` 187 // The business name in the ad. 188 BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"` 189 // First headline in the ad. 190 Headline1 *wrappers.StringValue `protobuf:"bytes,11,opt,name=headline1,proto3" json:"headline1,omitempty"` 191 // Second headline in the ad. 192 Headline2 *wrappers.StringValue `protobuf:"bytes,12,opt,name=headline2,proto3" json:"headline2,omitempty"` 193 // The first line of the ad's description. 194 Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"` 195 // The second line of the ad's description. 196 Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"` 197 // Whether to enable call tracking for the creative. Enabling call 198 // tracking also enables call conversions. 199 CallTracked *wrappers.BoolValue `protobuf:"bytes,6,opt,name=call_tracked,json=callTracked,proto3" json:"call_tracked,omitempty"` 200 // Whether to disable call conversion for the creative. 201 // If set to `true`, disables call conversions even when `call_tracked` is 202 // `true`. 203 // If `call_tracked` is `false`, this field is ignored. 204 DisableCallConversion *wrappers.BoolValue `protobuf:"bytes,7,opt,name=disable_call_conversion,json=disableCallConversion,proto3" json:"disable_call_conversion,omitempty"` 205 // The URL to be used for phone number verification. 206 PhoneNumberVerificationUrl *wrappers.StringValue `protobuf:"bytes,8,opt,name=phone_number_verification_url,json=phoneNumberVerificationUrl,proto3" json:"phone_number_verification_url,omitempty"` 207 // The conversion action to attribute a call conversion to. If not set a 208 // default conversion action is used. This field only has effect if 209 // call_tracked is set to true. Otherwise this field is ignored. 210 ConversionAction *wrappers.StringValue `protobuf:"bytes,9,opt,name=conversion_action,json=conversionAction,proto3" json:"conversion_action,omitempty"` 211 // The call conversion behavior of this call only ad. It can use its own call 212 // conversion setting, inherit the account level setting, or be disabled. 213 ConversionReportingState enums.CallConversionReportingStateEnum_CallConversionReportingState `protobuf:"varint,10,opt,name=conversion_reporting_state,json=conversionReportingState,proto3,enum=google.ads.googleads.v1.enums.CallConversionReportingStateEnum_CallConversionReportingState" json:"conversion_reporting_state,omitempty"` 214 XXX_NoUnkeyedLiteral struct{} `json:"-"` 215 XXX_unrecognized []byte `json:"-"` 216 XXX_sizecache int32 `json:"-"` 217} 218 219func (m *CallOnlyAdInfo) Reset() { *m = CallOnlyAdInfo{} } 220func (m *CallOnlyAdInfo) String() string { return proto.CompactTextString(m) } 221func (*CallOnlyAdInfo) ProtoMessage() {} 222func (*CallOnlyAdInfo) Descriptor() ([]byte, []int) { 223 return fileDescriptor_2709d6977cd7f379, []int{2} 224} 225 226func (m *CallOnlyAdInfo) XXX_Unmarshal(b []byte) error { 227 return xxx_messageInfo_CallOnlyAdInfo.Unmarshal(m, b) 228} 229func (m *CallOnlyAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 230 return xxx_messageInfo_CallOnlyAdInfo.Marshal(b, m, deterministic) 231} 232func (m *CallOnlyAdInfo) XXX_Merge(src proto.Message) { 233 xxx_messageInfo_CallOnlyAdInfo.Merge(m, src) 234} 235func (m *CallOnlyAdInfo) XXX_Size() int { 236 return xxx_messageInfo_CallOnlyAdInfo.Size(m) 237} 238func (m *CallOnlyAdInfo) XXX_DiscardUnknown() { 239 xxx_messageInfo_CallOnlyAdInfo.DiscardUnknown(m) 240} 241 242var xxx_messageInfo_CallOnlyAdInfo proto.InternalMessageInfo 243 244func (m *CallOnlyAdInfo) GetCountryCode() *wrappers.StringValue { 245 if m != nil { 246 return m.CountryCode 247 } 248 return nil 249} 250 251func (m *CallOnlyAdInfo) GetPhoneNumber() *wrappers.StringValue { 252 if m != nil { 253 return m.PhoneNumber 254 } 255 return nil 256} 257 258func (m *CallOnlyAdInfo) GetBusinessName() *wrappers.StringValue { 259 if m != nil { 260 return m.BusinessName 261 } 262 return nil 263} 264 265func (m *CallOnlyAdInfo) GetHeadline1() *wrappers.StringValue { 266 if m != nil { 267 return m.Headline1 268 } 269 return nil 270} 271 272func (m *CallOnlyAdInfo) GetHeadline2() *wrappers.StringValue { 273 if m != nil { 274 return m.Headline2 275 } 276 return nil 277} 278 279func (m *CallOnlyAdInfo) GetDescription1() *wrappers.StringValue { 280 if m != nil { 281 return m.Description1 282 } 283 return nil 284} 285 286func (m *CallOnlyAdInfo) GetDescription2() *wrappers.StringValue { 287 if m != nil { 288 return m.Description2 289 } 290 return nil 291} 292 293func (m *CallOnlyAdInfo) GetCallTracked() *wrappers.BoolValue { 294 if m != nil { 295 return m.CallTracked 296 } 297 return nil 298} 299 300func (m *CallOnlyAdInfo) GetDisableCallConversion() *wrappers.BoolValue { 301 if m != nil { 302 return m.DisableCallConversion 303 } 304 return nil 305} 306 307func (m *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() *wrappers.StringValue { 308 if m != nil { 309 return m.PhoneNumberVerificationUrl 310 } 311 return nil 312} 313 314func (m *CallOnlyAdInfo) GetConversionAction() *wrappers.StringValue { 315 if m != nil { 316 return m.ConversionAction 317 } 318 return nil 319} 320 321func (m *CallOnlyAdInfo) GetConversionReportingState() enums.CallConversionReportingStateEnum_CallConversionReportingState { 322 if m != nil { 323 return m.ConversionReportingState 324 } 325 return enums.CallConversionReportingStateEnum_UNSPECIFIED 326} 327 328// An expanded dynamic search ad. 329type ExpandedDynamicSearchAdInfo struct { 330 // The description of the ad. 331 Description *wrappers.StringValue `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` 332 XXX_NoUnkeyedLiteral struct{} `json:"-"` 333 XXX_unrecognized []byte `json:"-"` 334 XXX_sizecache int32 `json:"-"` 335} 336 337func (m *ExpandedDynamicSearchAdInfo) Reset() { *m = ExpandedDynamicSearchAdInfo{} } 338func (m *ExpandedDynamicSearchAdInfo) String() string { return proto.CompactTextString(m) } 339func (*ExpandedDynamicSearchAdInfo) ProtoMessage() {} 340func (*ExpandedDynamicSearchAdInfo) Descriptor() ([]byte, []int) { 341 return fileDescriptor_2709d6977cd7f379, []int{3} 342} 343 344func (m *ExpandedDynamicSearchAdInfo) XXX_Unmarshal(b []byte) error { 345 return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Unmarshal(m, b) 346} 347func (m *ExpandedDynamicSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 348 return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Marshal(b, m, deterministic) 349} 350func (m *ExpandedDynamicSearchAdInfo) XXX_Merge(src proto.Message) { 351 xxx_messageInfo_ExpandedDynamicSearchAdInfo.Merge(m, src) 352} 353func (m *ExpandedDynamicSearchAdInfo) XXX_Size() int { 354 return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Size(m) 355} 356func (m *ExpandedDynamicSearchAdInfo) XXX_DiscardUnknown() { 357 xxx_messageInfo_ExpandedDynamicSearchAdInfo.DiscardUnknown(m) 358} 359 360var xxx_messageInfo_ExpandedDynamicSearchAdInfo proto.InternalMessageInfo 361 362func (m *ExpandedDynamicSearchAdInfo) GetDescription() *wrappers.StringValue { 363 if m != nil { 364 return m.Description 365 } 366 return nil 367} 368 369// A hotel ad. 370type HotelAdInfo struct { 371 XXX_NoUnkeyedLiteral struct{} `json:"-"` 372 XXX_unrecognized []byte `json:"-"` 373 XXX_sizecache int32 `json:"-"` 374} 375 376func (m *HotelAdInfo) Reset() { *m = HotelAdInfo{} } 377func (m *HotelAdInfo) String() string { return proto.CompactTextString(m) } 378func (*HotelAdInfo) ProtoMessage() {} 379func (*HotelAdInfo) Descriptor() ([]byte, []int) { 380 return fileDescriptor_2709d6977cd7f379, []int{4} 381} 382 383func (m *HotelAdInfo) XXX_Unmarshal(b []byte) error { 384 return xxx_messageInfo_HotelAdInfo.Unmarshal(m, b) 385} 386func (m *HotelAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 387 return xxx_messageInfo_HotelAdInfo.Marshal(b, m, deterministic) 388} 389func (m *HotelAdInfo) XXX_Merge(src proto.Message) { 390 xxx_messageInfo_HotelAdInfo.Merge(m, src) 391} 392func (m *HotelAdInfo) XXX_Size() int { 393 return xxx_messageInfo_HotelAdInfo.Size(m) 394} 395func (m *HotelAdInfo) XXX_DiscardUnknown() { 396 xxx_messageInfo_HotelAdInfo.DiscardUnknown(m) 397} 398 399var xxx_messageInfo_HotelAdInfo proto.InternalMessageInfo 400 401// A Smart Shopping ad. 402type ShoppingSmartAdInfo struct { 403 XXX_NoUnkeyedLiteral struct{} `json:"-"` 404 XXX_unrecognized []byte `json:"-"` 405 XXX_sizecache int32 `json:"-"` 406} 407 408func (m *ShoppingSmartAdInfo) Reset() { *m = ShoppingSmartAdInfo{} } 409func (m *ShoppingSmartAdInfo) String() string { return proto.CompactTextString(m) } 410func (*ShoppingSmartAdInfo) ProtoMessage() {} 411func (*ShoppingSmartAdInfo) Descriptor() ([]byte, []int) { 412 return fileDescriptor_2709d6977cd7f379, []int{5} 413} 414 415func (m *ShoppingSmartAdInfo) XXX_Unmarshal(b []byte) error { 416 return xxx_messageInfo_ShoppingSmartAdInfo.Unmarshal(m, b) 417} 418func (m *ShoppingSmartAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 419 return xxx_messageInfo_ShoppingSmartAdInfo.Marshal(b, m, deterministic) 420} 421func (m *ShoppingSmartAdInfo) XXX_Merge(src proto.Message) { 422 xxx_messageInfo_ShoppingSmartAdInfo.Merge(m, src) 423} 424func (m *ShoppingSmartAdInfo) XXX_Size() int { 425 return xxx_messageInfo_ShoppingSmartAdInfo.Size(m) 426} 427func (m *ShoppingSmartAdInfo) XXX_DiscardUnknown() { 428 xxx_messageInfo_ShoppingSmartAdInfo.DiscardUnknown(m) 429} 430 431var xxx_messageInfo_ShoppingSmartAdInfo proto.InternalMessageInfo 432 433// A standard Shopping ad. 434type ShoppingProductAdInfo struct { 435 XXX_NoUnkeyedLiteral struct{} `json:"-"` 436 XXX_unrecognized []byte `json:"-"` 437 XXX_sizecache int32 `json:"-"` 438} 439 440func (m *ShoppingProductAdInfo) Reset() { *m = ShoppingProductAdInfo{} } 441func (m *ShoppingProductAdInfo) String() string { return proto.CompactTextString(m) } 442func (*ShoppingProductAdInfo) ProtoMessage() {} 443func (*ShoppingProductAdInfo) Descriptor() ([]byte, []int) { 444 return fileDescriptor_2709d6977cd7f379, []int{6} 445} 446 447func (m *ShoppingProductAdInfo) XXX_Unmarshal(b []byte) error { 448 return xxx_messageInfo_ShoppingProductAdInfo.Unmarshal(m, b) 449} 450func (m *ShoppingProductAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 451 return xxx_messageInfo_ShoppingProductAdInfo.Marshal(b, m, deterministic) 452} 453func (m *ShoppingProductAdInfo) XXX_Merge(src proto.Message) { 454 xxx_messageInfo_ShoppingProductAdInfo.Merge(m, src) 455} 456func (m *ShoppingProductAdInfo) XXX_Size() int { 457 return xxx_messageInfo_ShoppingProductAdInfo.Size(m) 458} 459func (m *ShoppingProductAdInfo) XXX_DiscardUnknown() { 460 xxx_messageInfo_ShoppingProductAdInfo.DiscardUnknown(m) 461} 462 463var xxx_messageInfo_ShoppingProductAdInfo proto.InternalMessageInfo 464 465// A Shopping Comparison Listing ad. 466type ShoppingComparisonListingAdInfo struct { 467 // Headline of the ad. This field is required. Allowed length is between 25 468 // and 45 characters. 469 Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"` 470 XXX_NoUnkeyedLiteral struct{} `json:"-"` 471 XXX_unrecognized []byte `json:"-"` 472 XXX_sizecache int32 `json:"-"` 473} 474 475func (m *ShoppingComparisonListingAdInfo) Reset() { *m = ShoppingComparisonListingAdInfo{} } 476func (m *ShoppingComparisonListingAdInfo) String() string { return proto.CompactTextString(m) } 477func (*ShoppingComparisonListingAdInfo) ProtoMessage() {} 478func (*ShoppingComparisonListingAdInfo) Descriptor() ([]byte, []int) { 479 return fileDescriptor_2709d6977cd7f379, []int{7} 480} 481 482func (m *ShoppingComparisonListingAdInfo) XXX_Unmarshal(b []byte) error { 483 return xxx_messageInfo_ShoppingComparisonListingAdInfo.Unmarshal(m, b) 484} 485func (m *ShoppingComparisonListingAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 486 return xxx_messageInfo_ShoppingComparisonListingAdInfo.Marshal(b, m, deterministic) 487} 488func (m *ShoppingComparisonListingAdInfo) XXX_Merge(src proto.Message) { 489 xxx_messageInfo_ShoppingComparisonListingAdInfo.Merge(m, src) 490} 491func (m *ShoppingComparisonListingAdInfo) XXX_Size() int { 492 return xxx_messageInfo_ShoppingComparisonListingAdInfo.Size(m) 493} 494func (m *ShoppingComparisonListingAdInfo) XXX_DiscardUnknown() { 495 xxx_messageInfo_ShoppingComparisonListingAdInfo.DiscardUnknown(m) 496} 497 498var xxx_messageInfo_ShoppingComparisonListingAdInfo proto.InternalMessageInfo 499 500func (m *ShoppingComparisonListingAdInfo) GetHeadline() *wrappers.StringValue { 501 if m != nil { 502 return m.Headline 503 } 504 return nil 505} 506 507// A Gmail ad. 508type GmailAdInfo struct { 509 // The Gmail teaser. 510 Teaser *GmailTeaser `protobuf:"bytes,1,opt,name=teaser,proto3" json:"teaser,omitempty"` 511 // The MediaFile resource name of the header image. Valid image types are GIF, 512 // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must 513 // be between 3:1 and 5:1 (+-1%). 514 HeaderImage *wrappers.StringValue `protobuf:"bytes,2,opt,name=header_image,json=headerImage,proto3" json:"header_image,omitempty"` 515 // The MediaFile resource name of the marketing image. Valid image types are 516 // GIF, JPEG and PNG. The image must either be landscape with a minimum size 517 // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a 518 // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) 519 MarketingImage *wrappers.StringValue `protobuf:"bytes,3,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"` 520 // Headline of the marketing image. 521 MarketingImageHeadline *wrappers.StringValue `protobuf:"bytes,4,opt,name=marketing_image_headline,json=marketingImageHeadline,proto3" json:"marketing_image_headline,omitempty"` 522 // Description of the marketing image. 523 MarketingImageDescription *wrappers.StringValue `protobuf:"bytes,5,opt,name=marketing_image_description,json=marketingImageDescription,proto3" json:"marketing_image_description,omitempty"` 524 // Display-call-to-action of the marketing image. 525 MarketingImageDisplayCallToAction *DisplayCallToAction `protobuf:"bytes,6,opt,name=marketing_image_display_call_to_action,json=marketingImageDisplayCallToAction,proto3" json:"marketing_image_display_call_to_action,omitempty"` 526 // Product images. Up to 15 images are supported. 527 ProductImages []*ProductImage `protobuf:"bytes,7,rep,name=product_images,json=productImages,proto3" json:"product_images,omitempty"` 528 // Product videos. Up to 7 videos are supported. At least one product video 529 // or a marketing image must be specified. 530 ProductVideos []*ProductVideo `protobuf:"bytes,8,rep,name=product_videos,json=productVideos,proto3" json:"product_videos,omitempty"` 531 XXX_NoUnkeyedLiteral struct{} `json:"-"` 532 XXX_unrecognized []byte `json:"-"` 533 XXX_sizecache int32 `json:"-"` 534} 535 536func (m *GmailAdInfo) Reset() { *m = GmailAdInfo{} } 537func (m *GmailAdInfo) String() string { return proto.CompactTextString(m) } 538func (*GmailAdInfo) ProtoMessage() {} 539func (*GmailAdInfo) Descriptor() ([]byte, []int) { 540 return fileDescriptor_2709d6977cd7f379, []int{8} 541} 542 543func (m *GmailAdInfo) XXX_Unmarshal(b []byte) error { 544 return xxx_messageInfo_GmailAdInfo.Unmarshal(m, b) 545} 546func (m *GmailAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 547 return xxx_messageInfo_GmailAdInfo.Marshal(b, m, deterministic) 548} 549func (m *GmailAdInfo) XXX_Merge(src proto.Message) { 550 xxx_messageInfo_GmailAdInfo.Merge(m, src) 551} 552func (m *GmailAdInfo) XXX_Size() int { 553 return xxx_messageInfo_GmailAdInfo.Size(m) 554} 555func (m *GmailAdInfo) XXX_DiscardUnknown() { 556 xxx_messageInfo_GmailAdInfo.DiscardUnknown(m) 557} 558 559var xxx_messageInfo_GmailAdInfo proto.InternalMessageInfo 560 561func (m *GmailAdInfo) GetTeaser() *GmailTeaser { 562 if m != nil { 563 return m.Teaser 564 } 565 return nil 566} 567 568func (m *GmailAdInfo) GetHeaderImage() *wrappers.StringValue { 569 if m != nil { 570 return m.HeaderImage 571 } 572 return nil 573} 574 575func (m *GmailAdInfo) GetMarketingImage() *wrappers.StringValue { 576 if m != nil { 577 return m.MarketingImage 578 } 579 return nil 580} 581 582func (m *GmailAdInfo) GetMarketingImageHeadline() *wrappers.StringValue { 583 if m != nil { 584 return m.MarketingImageHeadline 585 } 586 return nil 587} 588 589func (m *GmailAdInfo) GetMarketingImageDescription() *wrappers.StringValue { 590 if m != nil { 591 return m.MarketingImageDescription 592 } 593 return nil 594} 595 596func (m *GmailAdInfo) GetMarketingImageDisplayCallToAction() *DisplayCallToAction { 597 if m != nil { 598 return m.MarketingImageDisplayCallToAction 599 } 600 return nil 601} 602 603func (m *GmailAdInfo) GetProductImages() []*ProductImage { 604 if m != nil { 605 return m.ProductImages 606 } 607 return nil 608} 609 610func (m *GmailAdInfo) GetProductVideos() []*ProductVideo { 611 if m != nil { 612 return m.ProductVideos 613 } 614 return nil 615} 616 617// Gmail teaser data. The teaser is a small header that acts as an invitation 618// to view the rest of the ad (the body). 619type GmailTeaser struct { 620 // Headline of the teaser. 621 Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"` 622 // Description of the teaser. 623 Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 624 // Business name of the advertiser. 625 BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"` 626 // The MediaFile resource name of the logo image. Valid image types are GIF, 627 // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must 628 // be 1:1 (+-1%). 629 LogoImage *wrappers.StringValue `protobuf:"bytes,4,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"` 630 XXX_NoUnkeyedLiteral struct{} `json:"-"` 631 XXX_unrecognized []byte `json:"-"` 632 XXX_sizecache int32 `json:"-"` 633} 634 635func (m *GmailTeaser) Reset() { *m = GmailTeaser{} } 636func (m *GmailTeaser) String() string { return proto.CompactTextString(m) } 637func (*GmailTeaser) ProtoMessage() {} 638func (*GmailTeaser) Descriptor() ([]byte, []int) { 639 return fileDescriptor_2709d6977cd7f379, []int{9} 640} 641 642func (m *GmailTeaser) XXX_Unmarshal(b []byte) error { 643 return xxx_messageInfo_GmailTeaser.Unmarshal(m, b) 644} 645func (m *GmailTeaser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 646 return xxx_messageInfo_GmailTeaser.Marshal(b, m, deterministic) 647} 648func (m *GmailTeaser) XXX_Merge(src proto.Message) { 649 xxx_messageInfo_GmailTeaser.Merge(m, src) 650} 651func (m *GmailTeaser) XXX_Size() int { 652 return xxx_messageInfo_GmailTeaser.Size(m) 653} 654func (m *GmailTeaser) XXX_DiscardUnknown() { 655 xxx_messageInfo_GmailTeaser.DiscardUnknown(m) 656} 657 658var xxx_messageInfo_GmailTeaser proto.InternalMessageInfo 659 660func (m *GmailTeaser) GetHeadline() *wrappers.StringValue { 661 if m != nil { 662 return m.Headline 663 } 664 return nil 665} 666 667func (m *GmailTeaser) GetDescription() *wrappers.StringValue { 668 if m != nil { 669 return m.Description 670 } 671 return nil 672} 673 674func (m *GmailTeaser) GetBusinessName() *wrappers.StringValue { 675 if m != nil { 676 return m.BusinessName 677 } 678 return nil 679} 680 681func (m *GmailTeaser) GetLogoImage() *wrappers.StringValue { 682 if m != nil { 683 return m.LogoImage 684 } 685 return nil 686} 687 688// Data for display call to action. The call to action is a piece of the ad 689// that prompts the user to do something. Like clicking a link or making a phone 690// call. 691type DisplayCallToAction struct { 692 // Text for the display-call-to-action. 693 Text *wrappers.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` 694 // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for 695 // white. 696 TextColor *wrappers.StringValue `protobuf:"bytes,2,opt,name=text_color,json=textColor,proto3" json:"text_color,omitempty"` 697 // Identifies the url collection in the ad.url_collections field. If not set 698 // the url defaults to final_url. 699 UrlCollectionId *wrappers.StringValue `protobuf:"bytes,3,opt,name=url_collection_id,json=urlCollectionId,proto3" json:"url_collection_id,omitempty"` 700 XXX_NoUnkeyedLiteral struct{} `json:"-"` 701 XXX_unrecognized []byte `json:"-"` 702 XXX_sizecache int32 `json:"-"` 703} 704 705func (m *DisplayCallToAction) Reset() { *m = DisplayCallToAction{} } 706func (m *DisplayCallToAction) String() string { return proto.CompactTextString(m) } 707func (*DisplayCallToAction) ProtoMessage() {} 708func (*DisplayCallToAction) Descriptor() ([]byte, []int) { 709 return fileDescriptor_2709d6977cd7f379, []int{10} 710} 711 712func (m *DisplayCallToAction) XXX_Unmarshal(b []byte) error { 713 return xxx_messageInfo_DisplayCallToAction.Unmarshal(m, b) 714} 715func (m *DisplayCallToAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 716 return xxx_messageInfo_DisplayCallToAction.Marshal(b, m, deterministic) 717} 718func (m *DisplayCallToAction) XXX_Merge(src proto.Message) { 719 xxx_messageInfo_DisplayCallToAction.Merge(m, src) 720} 721func (m *DisplayCallToAction) XXX_Size() int { 722 return xxx_messageInfo_DisplayCallToAction.Size(m) 723} 724func (m *DisplayCallToAction) XXX_DiscardUnknown() { 725 xxx_messageInfo_DisplayCallToAction.DiscardUnknown(m) 726} 727 728var xxx_messageInfo_DisplayCallToAction proto.InternalMessageInfo 729 730func (m *DisplayCallToAction) GetText() *wrappers.StringValue { 731 if m != nil { 732 return m.Text 733 } 734 return nil 735} 736 737func (m *DisplayCallToAction) GetTextColor() *wrappers.StringValue { 738 if m != nil { 739 return m.TextColor 740 } 741 return nil 742} 743 744func (m *DisplayCallToAction) GetUrlCollectionId() *wrappers.StringValue { 745 if m != nil { 746 return m.UrlCollectionId 747 } 748 return nil 749} 750 751// Product image specific data. 752type ProductImage struct { 753 // The MediaFile resource name of the product image. Valid image types are 754 // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio 755 // must be 1:1 (+-1%). 756 ProductImage *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_image,json=productImage,proto3" json:"product_image,omitempty"` 757 // Description of the product. 758 Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 759 // Display-call-to-action of the product image. 760 DisplayCallToAction *DisplayCallToAction `protobuf:"bytes,3,opt,name=display_call_to_action,json=displayCallToAction,proto3" json:"display_call_to_action,omitempty"` 761 XXX_NoUnkeyedLiteral struct{} `json:"-"` 762 XXX_unrecognized []byte `json:"-"` 763 XXX_sizecache int32 `json:"-"` 764} 765 766func (m *ProductImage) Reset() { *m = ProductImage{} } 767func (m *ProductImage) String() string { return proto.CompactTextString(m) } 768func (*ProductImage) ProtoMessage() {} 769func (*ProductImage) Descriptor() ([]byte, []int) { 770 return fileDescriptor_2709d6977cd7f379, []int{11} 771} 772 773func (m *ProductImage) XXX_Unmarshal(b []byte) error { 774 return xxx_messageInfo_ProductImage.Unmarshal(m, b) 775} 776func (m *ProductImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 777 return xxx_messageInfo_ProductImage.Marshal(b, m, deterministic) 778} 779func (m *ProductImage) XXX_Merge(src proto.Message) { 780 xxx_messageInfo_ProductImage.Merge(m, src) 781} 782func (m *ProductImage) XXX_Size() int { 783 return xxx_messageInfo_ProductImage.Size(m) 784} 785func (m *ProductImage) XXX_DiscardUnknown() { 786 xxx_messageInfo_ProductImage.DiscardUnknown(m) 787} 788 789var xxx_messageInfo_ProductImage proto.InternalMessageInfo 790 791func (m *ProductImage) GetProductImage() *wrappers.StringValue { 792 if m != nil { 793 return m.ProductImage 794 } 795 return nil 796} 797 798func (m *ProductImage) GetDescription() *wrappers.StringValue { 799 if m != nil { 800 return m.Description 801 } 802 return nil 803} 804 805func (m *ProductImage) GetDisplayCallToAction() *DisplayCallToAction { 806 if m != nil { 807 return m.DisplayCallToAction 808 } 809 return nil 810} 811 812// Product video specific data. 813type ProductVideo struct { 814 // The MediaFile resource name of a video which must be hosted on YouTube. 815 ProductVideo *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_video,json=productVideo,proto3" json:"product_video,omitempty"` 816 XXX_NoUnkeyedLiteral struct{} `json:"-"` 817 XXX_unrecognized []byte `json:"-"` 818 XXX_sizecache int32 `json:"-"` 819} 820 821func (m *ProductVideo) Reset() { *m = ProductVideo{} } 822func (m *ProductVideo) String() string { return proto.CompactTextString(m) } 823func (*ProductVideo) ProtoMessage() {} 824func (*ProductVideo) Descriptor() ([]byte, []int) { 825 return fileDescriptor_2709d6977cd7f379, []int{12} 826} 827 828func (m *ProductVideo) XXX_Unmarshal(b []byte) error { 829 return xxx_messageInfo_ProductVideo.Unmarshal(m, b) 830} 831func (m *ProductVideo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 832 return xxx_messageInfo_ProductVideo.Marshal(b, m, deterministic) 833} 834func (m *ProductVideo) XXX_Merge(src proto.Message) { 835 xxx_messageInfo_ProductVideo.Merge(m, src) 836} 837func (m *ProductVideo) XXX_Size() int { 838 return xxx_messageInfo_ProductVideo.Size(m) 839} 840func (m *ProductVideo) XXX_DiscardUnknown() { 841 xxx_messageInfo_ProductVideo.DiscardUnknown(m) 842} 843 844var xxx_messageInfo_ProductVideo proto.InternalMessageInfo 845 846func (m *ProductVideo) GetProductVideo() *wrappers.StringValue { 847 if m != nil { 848 return m.ProductVideo 849 } 850 return nil 851} 852 853// An image ad. 854type ImageAdInfo struct { 855 // Width in pixels of the full size image. 856 PixelWidth *wrappers.Int64Value `protobuf:"bytes,4,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"` 857 // Height in pixels of the full size image. 858 PixelHeight *wrappers.Int64Value `protobuf:"bytes,5,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"` 859 // URL of the full size image. 860 ImageUrl *wrappers.StringValue `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` 861 // Width in pixels of the preview size image. 862 PreviewPixelWidth *wrappers.Int64Value `protobuf:"bytes,7,opt,name=preview_pixel_width,json=previewPixelWidth,proto3" json:"preview_pixel_width,omitempty"` 863 // Height in pixels of the preview size image. 864 PreviewPixelHeight *wrappers.Int64Value `protobuf:"bytes,8,opt,name=preview_pixel_height,json=previewPixelHeight,proto3" json:"preview_pixel_height,omitempty"` 865 // URL of the preview size image. 866 PreviewImageUrl *wrappers.StringValue `protobuf:"bytes,9,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"` 867 // The mime type of the image. 868 MimeType enums.MimeTypeEnum_MimeType `protobuf:"varint,10,opt,name=mime_type,json=mimeType,proto3,enum=google.ads.googleads.v1.enums.MimeTypeEnum_MimeType" json:"mime_type,omitempty"` 869 // The name of the image. If the image was created from a MediaFile, this is 870 // the MediaFile's name. If the image was created from bytes, this is empty. 871 Name *wrappers.StringValue `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` 872 // The image to create the ImageAd from. This can be specified in one of 873 // two ways. 874 // 1. An existing MediaFile resource. 875 // 2. The raw image data as bytes. 876 // 877 // Types that are valid to be assigned to Image: 878 // *ImageAdInfo_MediaFile 879 // *ImageAdInfo_Data 880 // *ImageAdInfo_AdIdToCopyImageFrom 881 Image isImageAdInfo_Image `protobuf_oneof:"image"` 882 XXX_NoUnkeyedLiteral struct{} `json:"-"` 883 XXX_unrecognized []byte `json:"-"` 884 XXX_sizecache int32 `json:"-"` 885} 886 887func (m *ImageAdInfo) Reset() { *m = ImageAdInfo{} } 888func (m *ImageAdInfo) String() string { return proto.CompactTextString(m) } 889func (*ImageAdInfo) ProtoMessage() {} 890func (*ImageAdInfo) Descriptor() ([]byte, []int) { 891 return fileDescriptor_2709d6977cd7f379, []int{13} 892} 893 894func (m *ImageAdInfo) XXX_Unmarshal(b []byte) error { 895 return xxx_messageInfo_ImageAdInfo.Unmarshal(m, b) 896} 897func (m *ImageAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 898 return xxx_messageInfo_ImageAdInfo.Marshal(b, m, deterministic) 899} 900func (m *ImageAdInfo) XXX_Merge(src proto.Message) { 901 xxx_messageInfo_ImageAdInfo.Merge(m, src) 902} 903func (m *ImageAdInfo) XXX_Size() int { 904 return xxx_messageInfo_ImageAdInfo.Size(m) 905} 906func (m *ImageAdInfo) XXX_DiscardUnknown() { 907 xxx_messageInfo_ImageAdInfo.DiscardUnknown(m) 908} 909 910var xxx_messageInfo_ImageAdInfo proto.InternalMessageInfo 911 912func (m *ImageAdInfo) GetPixelWidth() *wrappers.Int64Value { 913 if m != nil { 914 return m.PixelWidth 915 } 916 return nil 917} 918 919func (m *ImageAdInfo) GetPixelHeight() *wrappers.Int64Value { 920 if m != nil { 921 return m.PixelHeight 922 } 923 return nil 924} 925 926func (m *ImageAdInfo) GetImageUrl() *wrappers.StringValue { 927 if m != nil { 928 return m.ImageUrl 929 } 930 return nil 931} 932 933func (m *ImageAdInfo) GetPreviewPixelWidth() *wrappers.Int64Value { 934 if m != nil { 935 return m.PreviewPixelWidth 936 } 937 return nil 938} 939 940func (m *ImageAdInfo) GetPreviewPixelHeight() *wrappers.Int64Value { 941 if m != nil { 942 return m.PreviewPixelHeight 943 } 944 return nil 945} 946 947func (m *ImageAdInfo) GetPreviewImageUrl() *wrappers.StringValue { 948 if m != nil { 949 return m.PreviewImageUrl 950 } 951 return nil 952} 953 954func (m *ImageAdInfo) GetMimeType() enums.MimeTypeEnum_MimeType { 955 if m != nil { 956 return m.MimeType 957 } 958 return enums.MimeTypeEnum_UNSPECIFIED 959} 960 961func (m *ImageAdInfo) GetName() *wrappers.StringValue { 962 if m != nil { 963 return m.Name 964 } 965 return nil 966} 967 968type isImageAdInfo_Image interface { 969 isImageAdInfo_Image() 970} 971 972type ImageAdInfo_MediaFile struct { 973 MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3,oneof"` 974} 975 976type ImageAdInfo_Data struct { 977 Data *wrappers.BytesValue `protobuf:"bytes,2,opt,name=data,proto3,oneof"` 978} 979 980type ImageAdInfo_AdIdToCopyImageFrom struct { 981 AdIdToCopyImageFrom *wrappers.Int64Value `protobuf:"bytes,3,opt,name=ad_id_to_copy_image_from,json=adIdToCopyImageFrom,proto3,oneof"` 982} 983 984func (*ImageAdInfo_MediaFile) isImageAdInfo_Image() {} 985 986func (*ImageAdInfo_Data) isImageAdInfo_Image() {} 987 988func (*ImageAdInfo_AdIdToCopyImageFrom) isImageAdInfo_Image() {} 989 990func (m *ImageAdInfo) GetImage() isImageAdInfo_Image { 991 if m != nil { 992 return m.Image 993 } 994 return nil 995} 996 997func (m *ImageAdInfo) GetMediaFile() *wrappers.StringValue { 998 if x, ok := m.GetImage().(*ImageAdInfo_MediaFile); ok { 999 return x.MediaFile 1000 } 1001 return nil 1002} 1003 1004func (m *ImageAdInfo) GetData() *wrappers.BytesValue { 1005 if x, ok := m.GetImage().(*ImageAdInfo_Data); ok { 1006 return x.Data 1007 } 1008 return nil 1009} 1010 1011func (m *ImageAdInfo) GetAdIdToCopyImageFrom() *wrappers.Int64Value { 1012 if x, ok := m.GetImage().(*ImageAdInfo_AdIdToCopyImageFrom); ok { 1013 return x.AdIdToCopyImageFrom 1014 } 1015 return nil 1016} 1017 1018// XXX_OneofWrappers is for the internal use of the proto package. 1019func (*ImageAdInfo) XXX_OneofWrappers() []interface{} { 1020 return []interface{}{ 1021 (*ImageAdInfo_MediaFile)(nil), 1022 (*ImageAdInfo_Data)(nil), 1023 (*ImageAdInfo_AdIdToCopyImageFrom)(nil), 1024 } 1025} 1026 1027// Representation of video bumper in-stream ad format (very short in-stream 1028// non-skippable video ad). 1029type VideoBumperInStreamAdInfo struct { 1030 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1031 XXX_unrecognized []byte `json:"-"` 1032 XXX_sizecache int32 `json:"-"` 1033} 1034 1035func (m *VideoBumperInStreamAdInfo) Reset() { *m = VideoBumperInStreamAdInfo{} } 1036func (m *VideoBumperInStreamAdInfo) String() string { return proto.CompactTextString(m) } 1037func (*VideoBumperInStreamAdInfo) ProtoMessage() {} 1038func (*VideoBumperInStreamAdInfo) Descriptor() ([]byte, []int) { 1039 return fileDescriptor_2709d6977cd7f379, []int{14} 1040} 1041 1042func (m *VideoBumperInStreamAdInfo) XXX_Unmarshal(b []byte) error { 1043 return xxx_messageInfo_VideoBumperInStreamAdInfo.Unmarshal(m, b) 1044} 1045func (m *VideoBumperInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1046 return xxx_messageInfo_VideoBumperInStreamAdInfo.Marshal(b, m, deterministic) 1047} 1048func (m *VideoBumperInStreamAdInfo) XXX_Merge(src proto.Message) { 1049 xxx_messageInfo_VideoBumperInStreamAdInfo.Merge(m, src) 1050} 1051func (m *VideoBumperInStreamAdInfo) XXX_Size() int { 1052 return xxx_messageInfo_VideoBumperInStreamAdInfo.Size(m) 1053} 1054func (m *VideoBumperInStreamAdInfo) XXX_DiscardUnknown() { 1055 xxx_messageInfo_VideoBumperInStreamAdInfo.DiscardUnknown(m) 1056} 1057 1058var xxx_messageInfo_VideoBumperInStreamAdInfo proto.InternalMessageInfo 1059 1060// Representation of video non-skippable in-stream ad format (15 second 1061// in-stream non-skippable video ad). 1062type VideoNonSkippableInStreamAdInfo struct { 1063 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1064 XXX_unrecognized []byte `json:"-"` 1065 XXX_sizecache int32 `json:"-"` 1066} 1067 1068func (m *VideoNonSkippableInStreamAdInfo) Reset() { *m = VideoNonSkippableInStreamAdInfo{} } 1069func (m *VideoNonSkippableInStreamAdInfo) String() string { return proto.CompactTextString(m) } 1070func (*VideoNonSkippableInStreamAdInfo) ProtoMessage() {} 1071func (*VideoNonSkippableInStreamAdInfo) Descriptor() ([]byte, []int) { 1072 return fileDescriptor_2709d6977cd7f379, []int{15} 1073} 1074 1075func (m *VideoNonSkippableInStreamAdInfo) XXX_Unmarshal(b []byte) error { 1076 return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Unmarshal(m, b) 1077} 1078func (m *VideoNonSkippableInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1079 return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Marshal(b, m, deterministic) 1080} 1081func (m *VideoNonSkippableInStreamAdInfo) XXX_Merge(src proto.Message) { 1082 xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Merge(m, src) 1083} 1084func (m *VideoNonSkippableInStreamAdInfo) XXX_Size() int { 1085 return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Size(m) 1086} 1087func (m *VideoNonSkippableInStreamAdInfo) XXX_DiscardUnknown() { 1088 xxx_messageInfo_VideoNonSkippableInStreamAdInfo.DiscardUnknown(m) 1089} 1090 1091var xxx_messageInfo_VideoNonSkippableInStreamAdInfo proto.InternalMessageInfo 1092 1093// Representation of video TrueView in-stream ad format (ad shown during video 1094// playback, often at beginning, which displays a skip button a few seconds into 1095// the video). 1096type VideoTrueViewInStreamAdInfo struct { 1097 // Label on the CTA (call-to-action) button taking the user to the video ad's 1098 // final URL. 1099 // Required for TrueView for action campaigns, optional otherwise. 1100 ActionButtonLabel *wrappers.StringValue `protobuf:"bytes,1,opt,name=action_button_label,json=actionButtonLabel,proto3" json:"action_button_label,omitempty"` 1101 // Additional text displayed with the CTA (call-to-action) button to give 1102 // context and encourage clicking on the button. 1103 ActionHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=action_headline,json=actionHeadline,proto3" json:"action_headline,omitempty"` 1104 // The MediaFile resource name of the companion banner used with the ad. 1105 CompanionBanner *wrappers.StringValue `protobuf:"bytes,3,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"` 1106 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1107 XXX_unrecognized []byte `json:"-"` 1108 XXX_sizecache int32 `json:"-"` 1109} 1110 1111func (m *VideoTrueViewInStreamAdInfo) Reset() { *m = VideoTrueViewInStreamAdInfo{} } 1112func (m *VideoTrueViewInStreamAdInfo) String() string { return proto.CompactTextString(m) } 1113func (*VideoTrueViewInStreamAdInfo) ProtoMessage() {} 1114func (*VideoTrueViewInStreamAdInfo) Descriptor() ([]byte, []int) { 1115 return fileDescriptor_2709d6977cd7f379, []int{16} 1116} 1117 1118func (m *VideoTrueViewInStreamAdInfo) XXX_Unmarshal(b []byte) error { 1119 return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Unmarshal(m, b) 1120} 1121func (m *VideoTrueViewInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1122 return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Marshal(b, m, deterministic) 1123} 1124func (m *VideoTrueViewInStreamAdInfo) XXX_Merge(src proto.Message) { 1125 xxx_messageInfo_VideoTrueViewInStreamAdInfo.Merge(m, src) 1126} 1127func (m *VideoTrueViewInStreamAdInfo) XXX_Size() int { 1128 return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Size(m) 1129} 1130func (m *VideoTrueViewInStreamAdInfo) XXX_DiscardUnknown() { 1131 xxx_messageInfo_VideoTrueViewInStreamAdInfo.DiscardUnknown(m) 1132} 1133 1134var xxx_messageInfo_VideoTrueViewInStreamAdInfo proto.InternalMessageInfo 1135 1136func (m *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() *wrappers.StringValue { 1137 if m != nil { 1138 return m.ActionButtonLabel 1139 } 1140 return nil 1141} 1142 1143func (m *VideoTrueViewInStreamAdInfo) GetActionHeadline() *wrappers.StringValue { 1144 if m != nil { 1145 return m.ActionHeadline 1146 } 1147 return nil 1148} 1149 1150func (m *VideoTrueViewInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue { 1151 if m != nil { 1152 return m.CompanionBanner 1153 } 1154 return nil 1155} 1156 1157// Representation of video out-stream ad format (ad shown alongside a feed 1158// with automatic playback, without sound). 1159type VideoOutstreamAdInfo struct { 1160 // The headline of the ad. 1161 Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"` 1162 // The description line. 1163 Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 1164 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1165 XXX_unrecognized []byte `json:"-"` 1166 XXX_sizecache int32 `json:"-"` 1167} 1168 1169func (m *VideoOutstreamAdInfo) Reset() { *m = VideoOutstreamAdInfo{} } 1170func (m *VideoOutstreamAdInfo) String() string { return proto.CompactTextString(m) } 1171func (*VideoOutstreamAdInfo) ProtoMessage() {} 1172func (*VideoOutstreamAdInfo) Descriptor() ([]byte, []int) { 1173 return fileDescriptor_2709d6977cd7f379, []int{17} 1174} 1175 1176func (m *VideoOutstreamAdInfo) XXX_Unmarshal(b []byte) error { 1177 return xxx_messageInfo_VideoOutstreamAdInfo.Unmarshal(m, b) 1178} 1179func (m *VideoOutstreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1180 return xxx_messageInfo_VideoOutstreamAdInfo.Marshal(b, m, deterministic) 1181} 1182func (m *VideoOutstreamAdInfo) XXX_Merge(src proto.Message) { 1183 xxx_messageInfo_VideoOutstreamAdInfo.Merge(m, src) 1184} 1185func (m *VideoOutstreamAdInfo) XXX_Size() int { 1186 return xxx_messageInfo_VideoOutstreamAdInfo.Size(m) 1187} 1188func (m *VideoOutstreamAdInfo) XXX_DiscardUnknown() { 1189 xxx_messageInfo_VideoOutstreamAdInfo.DiscardUnknown(m) 1190} 1191 1192var xxx_messageInfo_VideoOutstreamAdInfo proto.InternalMessageInfo 1193 1194func (m *VideoOutstreamAdInfo) GetHeadline() *wrappers.StringValue { 1195 if m != nil { 1196 return m.Headline 1197 } 1198 return nil 1199} 1200 1201func (m *VideoOutstreamAdInfo) GetDescription() *wrappers.StringValue { 1202 if m != nil { 1203 return m.Description 1204 } 1205 return nil 1206} 1207 1208// A video ad. 1209type VideoAdInfo struct { 1210 // The MediaFile resource to use for the video. 1211 MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3" json:"media_file,omitempty"` 1212 // Format-specific schema for the different video formats. 1213 // 1214 // Types that are valid to be assigned to Format: 1215 // *VideoAdInfo_InStream 1216 // *VideoAdInfo_Bumper 1217 // *VideoAdInfo_OutStream 1218 // *VideoAdInfo_NonSkippable 1219 Format isVideoAdInfo_Format `protobuf_oneof:"format"` 1220 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1221 XXX_unrecognized []byte `json:"-"` 1222 XXX_sizecache int32 `json:"-"` 1223} 1224 1225func (m *VideoAdInfo) Reset() { *m = VideoAdInfo{} } 1226func (m *VideoAdInfo) String() string { return proto.CompactTextString(m) } 1227func (*VideoAdInfo) ProtoMessage() {} 1228func (*VideoAdInfo) Descriptor() ([]byte, []int) { 1229 return fileDescriptor_2709d6977cd7f379, []int{18} 1230} 1231 1232func (m *VideoAdInfo) XXX_Unmarshal(b []byte) error { 1233 return xxx_messageInfo_VideoAdInfo.Unmarshal(m, b) 1234} 1235func (m *VideoAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1236 return xxx_messageInfo_VideoAdInfo.Marshal(b, m, deterministic) 1237} 1238func (m *VideoAdInfo) XXX_Merge(src proto.Message) { 1239 xxx_messageInfo_VideoAdInfo.Merge(m, src) 1240} 1241func (m *VideoAdInfo) XXX_Size() int { 1242 return xxx_messageInfo_VideoAdInfo.Size(m) 1243} 1244func (m *VideoAdInfo) XXX_DiscardUnknown() { 1245 xxx_messageInfo_VideoAdInfo.DiscardUnknown(m) 1246} 1247 1248var xxx_messageInfo_VideoAdInfo proto.InternalMessageInfo 1249 1250func (m *VideoAdInfo) GetMediaFile() *wrappers.StringValue { 1251 if m != nil { 1252 return m.MediaFile 1253 } 1254 return nil 1255} 1256 1257type isVideoAdInfo_Format interface { 1258 isVideoAdInfo_Format() 1259} 1260 1261type VideoAdInfo_InStream struct { 1262 InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"` 1263} 1264 1265type VideoAdInfo_Bumper struct { 1266 Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"` 1267} 1268 1269type VideoAdInfo_OutStream struct { 1270 OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"` 1271} 1272 1273type VideoAdInfo_NonSkippable struct { 1274 NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"` 1275} 1276 1277func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {} 1278 1279func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {} 1280 1281func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {} 1282 1283func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {} 1284 1285func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format { 1286 if m != nil { 1287 return m.Format 1288 } 1289 return nil 1290} 1291 1292func (m *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo { 1293 if x, ok := m.GetFormat().(*VideoAdInfo_InStream); ok { 1294 return x.InStream 1295 } 1296 return nil 1297} 1298 1299func (m *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo { 1300 if x, ok := m.GetFormat().(*VideoAdInfo_Bumper); ok { 1301 return x.Bumper 1302 } 1303 return nil 1304} 1305 1306func (m *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo { 1307 if x, ok := m.GetFormat().(*VideoAdInfo_OutStream); ok { 1308 return x.OutStream 1309 } 1310 return nil 1311} 1312 1313func (m *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo { 1314 if x, ok := m.GetFormat().(*VideoAdInfo_NonSkippable); ok { 1315 return x.NonSkippable 1316 } 1317 return nil 1318} 1319 1320// XXX_OneofWrappers is for the internal use of the proto package. 1321func (*VideoAdInfo) XXX_OneofWrappers() []interface{} { 1322 return []interface{}{ 1323 (*VideoAdInfo_InStream)(nil), 1324 (*VideoAdInfo_Bumper)(nil), 1325 (*VideoAdInfo_OutStream)(nil), 1326 (*VideoAdInfo_NonSkippable)(nil), 1327 } 1328} 1329 1330// A responsive search ad. 1331// 1332// Responsive search ads let you create an ad that adapts to show more text, and 1333// more relevant messages, to your customers. Enter multiple headlines and 1334// descriptions when creating a responsive search ad, and over time, Google Ads 1335// will automatically test different combinations and learn which combinations 1336// perform best. By adapting your ad's content to more closely match potential 1337// customers' search terms, responsive search ads may improve your campaign's 1338// performance. 1339// 1340// More information at https://support.google.com/google-ads/answer/7684791 1341type ResponsiveSearchAdInfo struct { 1342 // List of text assets for headlines. When the ad serves the headlines will 1343 // be selected from this list. 1344 Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"` 1345 // List of text assets for descriptions. When the ad serves the descriptions 1346 // will be selected from this list. 1347 Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"` 1348 // First part of text that may appear appended to the url displayed in the ad. 1349 Path1 *wrappers.StringValue `protobuf:"bytes,3,opt,name=path1,proto3" json:"path1,omitempty"` 1350 // Second part of text that may appear appended to the url displayed in the 1351 // ad. This field can only be set when path1 is also set. 1352 Path2 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path2,proto3" json:"path2,omitempty"` 1353 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1354 XXX_unrecognized []byte `json:"-"` 1355 XXX_sizecache int32 `json:"-"` 1356} 1357 1358func (m *ResponsiveSearchAdInfo) Reset() { *m = ResponsiveSearchAdInfo{} } 1359func (m *ResponsiveSearchAdInfo) String() string { return proto.CompactTextString(m) } 1360func (*ResponsiveSearchAdInfo) ProtoMessage() {} 1361func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) { 1362 return fileDescriptor_2709d6977cd7f379, []int{19} 1363} 1364 1365func (m *ResponsiveSearchAdInfo) XXX_Unmarshal(b []byte) error { 1366 return xxx_messageInfo_ResponsiveSearchAdInfo.Unmarshal(m, b) 1367} 1368func (m *ResponsiveSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1369 return xxx_messageInfo_ResponsiveSearchAdInfo.Marshal(b, m, deterministic) 1370} 1371func (m *ResponsiveSearchAdInfo) XXX_Merge(src proto.Message) { 1372 xxx_messageInfo_ResponsiveSearchAdInfo.Merge(m, src) 1373} 1374func (m *ResponsiveSearchAdInfo) XXX_Size() int { 1375 return xxx_messageInfo_ResponsiveSearchAdInfo.Size(m) 1376} 1377func (m *ResponsiveSearchAdInfo) XXX_DiscardUnknown() { 1378 xxx_messageInfo_ResponsiveSearchAdInfo.DiscardUnknown(m) 1379} 1380 1381var xxx_messageInfo_ResponsiveSearchAdInfo proto.InternalMessageInfo 1382 1383func (m *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset { 1384 if m != nil { 1385 return m.Headlines 1386 } 1387 return nil 1388} 1389 1390func (m *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset { 1391 if m != nil { 1392 return m.Descriptions 1393 } 1394 return nil 1395} 1396 1397func (m *ResponsiveSearchAdInfo) GetPath1() *wrappers.StringValue { 1398 if m != nil { 1399 return m.Path1 1400 } 1401 return nil 1402} 1403 1404func (m *ResponsiveSearchAdInfo) GetPath2() *wrappers.StringValue { 1405 if m != nil { 1406 return m.Path2 1407 } 1408 return nil 1409} 1410 1411// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' 1412// in the Google Ads UI. 1413type LegacyResponsiveDisplayAdInfo struct { 1414 // The short version of the ad's headline. 1415 ShortHeadline *wrappers.StringValue `protobuf:"bytes,1,opt,name=short_headline,json=shortHeadline,proto3" json:"short_headline,omitempty"` 1416 // The long version of the ad's headline. 1417 LongHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"` 1418 // The description of the ad. 1419 Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 1420 // The business name in the ad. 1421 BusinessName *wrappers.StringValue `protobuf:"bytes,4,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"` 1422 // Advertiser's consent to allow flexible color. When true, the ad may be 1423 // served with different color if necessary. When false, the ad will be served 1424 // with the specified colors or a neutral color. 1425 // The default value is true. 1426 // Must be true if main_color and accent_color are not set. 1427 AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,5,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"` 1428 // The accent color of the ad in hexadecimal, e.g. #ffffff for white. 1429 // If one of main_color and accent_color is set, the other is required as 1430 // well. 1431 AccentColor *wrappers.StringValue `protobuf:"bytes,6,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"` 1432 // The main color of the ad in hexadecimal, e.g. #ffffff for white. 1433 // If one of main_color and accent_color is set, the other is required as 1434 // well. 1435 MainColor *wrappers.StringValue `protobuf:"bytes,7,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"` 1436 // The call-to-action text for the ad. 1437 CallToActionText *wrappers.StringValue `protobuf:"bytes,8,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"` 1438 // The MediaFile resource name of the logo image used in the ad. 1439 LogoImage *wrappers.StringValue `protobuf:"bytes,9,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"` 1440 // The MediaFile resource name of the square logo image used in the ad. 1441 SquareLogoImage *wrappers.StringValue `protobuf:"bytes,10,opt,name=square_logo_image,json=squareLogoImage,proto3" json:"square_logo_image,omitempty"` 1442 // The MediaFile resource name of the marketing image used in the ad. 1443 MarketingImage *wrappers.StringValue `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"` 1444 // The MediaFile resource name of the square marketing image used in the ad. 1445 SquareMarketingImage *wrappers.StringValue `protobuf:"bytes,12,opt,name=square_marketing_image,json=squareMarketingImage,proto3" json:"square_marketing_image,omitempty"` 1446 // Specifies which format the ad will be served in. Default is ALL_FORMATS. 1447 FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v1.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"` 1448 // Prefix before price. E.g. 'as low as'. 1449 PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"` 1450 // Promotion text used for dyanmic formats of responsive ads. For example 1451 // 'Free two-day shipping'. 1452 PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"` 1453 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1454 XXX_unrecognized []byte `json:"-"` 1455 XXX_sizecache int32 `json:"-"` 1456} 1457 1458func (m *LegacyResponsiveDisplayAdInfo) Reset() { *m = LegacyResponsiveDisplayAdInfo{} } 1459func (m *LegacyResponsiveDisplayAdInfo) String() string { return proto.CompactTextString(m) } 1460func (*LegacyResponsiveDisplayAdInfo) ProtoMessage() {} 1461func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) { 1462 return fileDescriptor_2709d6977cd7f379, []int{20} 1463} 1464 1465func (m *LegacyResponsiveDisplayAdInfo) XXX_Unmarshal(b []byte) error { 1466 return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Unmarshal(m, b) 1467} 1468func (m *LegacyResponsiveDisplayAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1469 return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Marshal(b, m, deterministic) 1470} 1471func (m *LegacyResponsiveDisplayAdInfo) XXX_Merge(src proto.Message) { 1472 xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Merge(m, src) 1473} 1474func (m *LegacyResponsiveDisplayAdInfo) XXX_Size() int { 1475 return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Size(m) 1476} 1477func (m *LegacyResponsiveDisplayAdInfo) XXX_DiscardUnknown() { 1478 xxx_messageInfo_LegacyResponsiveDisplayAdInfo.DiscardUnknown(m) 1479} 1480 1481var xxx_messageInfo_LegacyResponsiveDisplayAdInfo proto.InternalMessageInfo 1482 1483func (m *LegacyResponsiveDisplayAdInfo) GetShortHeadline() *wrappers.StringValue { 1484 if m != nil { 1485 return m.ShortHeadline 1486 } 1487 return nil 1488} 1489 1490func (m *LegacyResponsiveDisplayAdInfo) GetLongHeadline() *wrappers.StringValue { 1491 if m != nil { 1492 return m.LongHeadline 1493 } 1494 return nil 1495} 1496 1497func (m *LegacyResponsiveDisplayAdInfo) GetDescription() *wrappers.StringValue { 1498 if m != nil { 1499 return m.Description 1500 } 1501 return nil 1502} 1503 1504func (m *LegacyResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue { 1505 if m != nil { 1506 return m.BusinessName 1507 } 1508 return nil 1509} 1510 1511func (m *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue { 1512 if m != nil { 1513 return m.AllowFlexibleColor 1514 } 1515 return nil 1516} 1517 1518func (m *LegacyResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue { 1519 if m != nil { 1520 return m.AccentColor 1521 } 1522 return nil 1523} 1524 1525func (m *LegacyResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue { 1526 if m != nil { 1527 return m.MainColor 1528 } 1529 return nil 1530} 1531 1532func (m *LegacyResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue { 1533 if m != nil { 1534 return m.CallToActionText 1535 } 1536 return nil 1537} 1538 1539func (m *LegacyResponsiveDisplayAdInfo) GetLogoImage() *wrappers.StringValue { 1540 if m != nil { 1541 return m.LogoImage 1542 } 1543 return nil 1544} 1545 1546func (m *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() *wrappers.StringValue { 1547 if m != nil { 1548 return m.SquareLogoImage 1549 } 1550 return nil 1551} 1552 1553func (m *LegacyResponsiveDisplayAdInfo) GetMarketingImage() *wrappers.StringValue { 1554 if m != nil { 1555 return m.MarketingImage 1556 } 1557 return nil 1558} 1559 1560func (m *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() *wrappers.StringValue { 1561 if m != nil { 1562 return m.SquareMarketingImage 1563 } 1564 return nil 1565} 1566 1567func (m *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting { 1568 if m != nil { 1569 return m.FormatSetting 1570 } 1571 return enums.DisplayAdFormatSettingEnum_UNSPECIFIED 1572} 1573 1574func (m *LegacyResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue { 1575 if m != nil { 1576 return m.PricePrefix 1577 } 1578 return nil 1579} 1580 1581func (m *LegacyResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue { 1582 if m != nil { 1583 return m.PromoText 1584 } 1585 return nil 1586} 1587 1588// An app ad. 1589type AppAdInfo struct { 1590 // An optional text asset that, if specified, must always be displayed when 1591 // the ad is served. 1592 MandatoryAdText *AdTextAsset `protobuf:"bytes,1,opt,name=mandatory_ad_text,json=mandatoryAdText,proto3" json:"mandatory_ad_text,omitempty"` 1593 // List of text assets for headlines. When the ad serves the headlines will 1594 // be selected from this list. 1595 Headlines []*AdTextAsset `protobuf:"bytes,2,rep,name=headlines,proto3" json:"headlines,omitempty"` 1596 // List of text assets for descriptions. When the ad serves the descriptions 1597 // will be selected from this list. 1598 Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"` 1599 // List of image assets that may be displayed with the ad. 1600 Images []*AdImageAsset `protobuf:"bytes,4,rep,name=images,proto3" json:"images,omitempty"` 1601 // List of YouTube video assets that may be displayed with the ad. 1602 YoutubeVideos []*AdVideoAsset `protobuf:"bytes,5,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"` 1603 // List of media bundle assets that may be used with the ad. 1604 Html5MediaBundles []*AdMediaBundleAsset `protobuf:"bytes,6,rep,name=html5_media_bundles,json=html5MediaBundles,proto3" json:"html5_media_bundles,omitempty"` 1605 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1606 XXX_unrecognized []byte `json:"-"` 1607 XXX_sizecache int32 `json:"-"` 1608} 1609 1610func (m *AppAdInfo) Reset() { *m = AppAdInfo{} } 1611func (m *AppAdInfo) String() string { return proto.CompactTextString(m) } 1612func (*AppAdInfo) ProtoMessage() {} 1613func (*AppAdInfo) Descriptor() ([]byte, []int) { 1614 return fileDescriptor_2709d6977cd7f379, []int{21} 1615} 1616 1617func (m *AppAdInfo) XXX_Unmarshal(b []byte) error { 1618 return xxx_messageInfo_AppAdInfo.Unmarshal(m, b) 1619} 1620func (m *AppAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1621 return xxx_messageInfo_AppAdInfo.Marshal(b, m, deterministic) 1622} 1623func (m *AppAdInfo) XXX_Merge(src proto.Message) { 1624 xxx_messageInfo_AppAdInfo.Merge(m, src) 1625} 1626func (m *AppAdInfo) XXX_Size() int { 1627 return xxx_messageInfo_AppAdInfo.Size(m) 1628} 1629func (m *AppAdInfo) XXX_DiscardUnknown() { 1630 xxx_messageInfo_AppAdInfo.DiscardUnknown(m) 1631} 1632 1633var xxx_messageInfo_AppAdInfo proto.InternalMessageInfo 1634 1635func (m *AppAdInfo) GetMandatoryAdText() *AdTextAsset { 1636 if m != nil { 1637 return m.MandatoryAdText 1638 } 1639 return nil 1640} 1641 1642func (m *AppAdInfo) GetHeadlines() []*AdTextAsset { 1643 if m != nil { 1644 return m.Headlines 1645 } 1646 return nil 1647} 1648 1649func (m *AppAdInfo) GetDescriptions() []*AdTextAsset { 1650 if m != nil { 1651 return m.Descriptions 1652 } 1653 return nil 1654} 1655 1656func (m *AppAdInfo) GetImages() []*AdImageAsset { 1657 if m != nil { 1658 return m.Images 1659 } 1660 return nil 1661} 1662 1663func (m *AppAdInfo) GetYoutubeVideos() []*AdVideoAsset { 1664 if m != nil { 1665 return m.YoutubeVideos 1666 } 1667 return nil 1668} 1669 1670func (m *AppAdInfo) GetHtml5MediaBundles() []*AdMediaBundleAsset { 1671 if m != nil { 1672 return m.Html5MediaBundles 1673 } 1674 return nil 1675} 1676 1677// App engagement ads allow you to write text encouraging a specific action in 1678// the app, like checking in, making a purchase, or booking a flight. 1679// They allow you to send users to a specific part of your app where they can 1680// find what they're looking for easier and faster. 1681type AppEngagementAdInfo struct { 1682 // List of text assets for headlines. When the ad serves the headlines will 1683 // be selected from this list. 1684 Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"` 1685 // List of text assets for descriptions. When the ad serves the descriptions 1686 // will be selected from this list. 1687 Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"` 1688 // List of image assets that may be displayed with the ad. 1689 Images []*AdImageAsset `protobuf:"bytes,3,rep,name=images,proto3" json:"images,omitempty"` 1690 // List of video assets that may be displayed with the ad. 1691 Videos []*AdVideoAsset `protobuf:"bytes,4,rep,name=videos,proto3" json:"videos,omitempty"` 1692 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1693 XXX_unrecognized []byte `json:"-"` 1694 XXX_sizecache int32 `json:"-"` 1695} 1696 1697func (m *AppEngagementAdInfo) Reset() { *m = AppEngagementAdInfo{} } 1698func (m *AppEngagementAdInfo) String() string { return proto.CompactTextString(m) } 1699func (*AppEngagementAdInfo) ProtoMessage() {} 1700func (*AppEngagementAdInfo) Descriptor() ([]byte, []int) { 1701 return fileDescriptor_2709d6977cd7f379, []int{22} 1702} 1703 1704func (m *AppEngagementAdInfo) XXX_Unmarshal(b []byte) error { 1705 return xxx_messageInfo_AppEngagementAdInfo.Unmarshal(m, b) 1706} 1707func (m *AppEngagementAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1708 return xxx_messageInfo_AppEngagementAdInfo.Marshal(b, m, deterministic) 1709} 1710func (m *AppEngagementAdInfo) XXX_Merge(src proto.Message) { 1711 xxx_messageInfo_AppEngagementAdInfo.Merge(m, src) 1712} 1713func (m *AppEngagementAdInfo) XXX_Size() int { 1714 return xxx_messageInfo_AppEngagementAdInfo.Size(m) 1715} 1716func (m *AppEngagementAdInfo) XXX_DiscardUnknown() { 1717 xxx_messageInfo_AppEngagementAdInfo.DiscardUnknown(m) 1718} 1719 1720var xxx_messageInfo_AppEngagementAdInfo proto.InternalMessageInfo 1721 1722func (m *AppEngagementAdInfo) GetHeadlines() []*AdTextAsset { 1723 if m != nil { 1724 return m.Headlines 1725 } 1726 return nil 1727} 1728 1729func (m *AppEngagementAdInfo) GetDescriptions() []*AdTextAsset { 1730 if m != nil { 1731 return m.Descriptions 1732 } 1733 return nil 1734} 1735 1736func (m *AppEngagementAdInfo) GetImages() []*AdImageAsset { 1737 if m != nil { 1738 return m.Images 1739 } 1740 return nil 1741} 1742 1743func (m *AppEngagementAdInfo) GetVideos() []*AdVideoAsset { 1744 if m != nil { 1745 return m.Videos 1746 } 1747 return nil 1748} 1749 1750// A legacy app install ad that only can be used by a few select customers. 1751type LegacyAppInstallAdInfo struct { 1752 // The id of the mobile app. 1753 AppId *wrappers.StringValue `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` 1754 // The app store the mobile app is available in. 1755 AppStore enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore `protobuf:"varint,2,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v1.enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore" json:"app_store,omitempty"` 1756 // The headline of the ad. 1757 Headline *wrappers.StringValue `protobuf:"bytes,3,opt,name=headline,proto3" json:"headline,omitempty"` 1758 // The first description line of the ad. 1759 Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"` 1760 // The second description line of the ad. 1761 Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"` 1762 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1763 XXX_unrecognized []byte `json:"-"` 1764 XXX_sizecache int32 `json:"-"` 1765} 1766 1767func (m *LegacyAppInstallAdInfo) Reset() { *m = LegacyAppInstallAdInfo{} } 1768func (m *LegacyAppInstallAdInfo) String() string { return proto.CompactTextString(m) } 1769func (*LegacyAppInstallAdInfo) ProtoMessage() {} 1770func (*LegacyAppInstallAdInfo) Descriptor() ([]byte, []int) { 1771 return fileDescriptor_2709d6977cd7f379, []int{23} 1772} 1773 1774func (m *LegacyAppInstallAdInfo) XXX_Unmarshal(b []byte) error { 1775 return xxx_messageInfo_LegacyAppInstallAdInfo.Unmarshal(m, b) 1776} 1777func (m *LegacyAppInstallAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1778 return xxx_messageInfo_LegacyAppInstallAdInfo.Marshal(b, m, deterministic) 1779} 1780func (m *LegacyAppInstallAdInfo) XXX_Merge(src proto.Message) { 1781 xxx_messageInfo_LegacyAppInstallAdInfo.Merge(m, src) 1782} 1783func (m *LegacyAppInstallAdInfo) XXX_Size() int { 1784 return xxx_messageInfo_LegacyAppInstallAdInfo.Size(m) 1785} 1786func (m *LegacyAppInstallAdInfo) XXX_DiscardUnknown() { 1787 xxx_messageInfo_LegacyAppInstallAdInfo.DiscardUnknown(m) 1788} 1789 1790var xxx_messageInfo_LegacyAppInstallAdInfo proto.InternalMessageInfo 1791 1792func (m *LegacyAppInstallAdInfo) GetAppId() *wrappers.StringValue { 1793 if m != nil { 1794 return m.AppId 1795 } 1796 return nil 1797} 1798 1799func (m *LegacyAppInstallAdInfo) GetAppStore() enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore { 1800 if m != nil { 1801 return m.AppStore 1802 } 1803 return enums.LegacyAppInstallAdAppStoreEnum_UNSPECIFIED 1804} 1805 1806func (m *LegacyAppInstallAdInfo) GetHeadline() *wrappers.StringValue { 1807 if m != nil { 1808 return m.Headline 1809 } 1810 return nil 1811} 1812 1813func (m *LegacyAppInstallAdInfo) GetDescription1() *wrappers.StringValue { 1814 if m != nil { 1815 return m.Description1 1816 } 1817 return nil 1818} 1819 1820func (m *LegacyAppInstallAdInfo) GetDescription2() *wrappers.StringValue { 1821 if m != nil { 1822 return m.Description2 1823 } 1824 return nil 1825} 1826 1827// A responsive display ad. 1828type ResponsiveDisplayAdInfo struct { 1829 // Marketing images to be used in the ad. Valid image types are GIF, 1830 // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must 1831 // be 1.91:1 (+-1%). At least one marketing_image is required. Combined with 1832 // square_marketing_images the maximum is 15. 1833 MarketingImages []*AdImageAsset `protobuf:"bytes,1,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"` 1834 // Square marketing images to be used in the ad. Valid image types are GIF, 1835 // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must 1836 // be 1:1 (+-1%). At least one square marketing_image is required. Combined 1837 // with marketing_images the maximum is 15. 1838 SquareMarketingImages []*AdImageAsset `protobuf:"bytes,2,rep,name=square_marketing_images,json=squareMarketingImages,proto3" json:"square_marketing_images,omitempty"` 1839 // Logo images to be used in the ad. Valid image types are GIF, 1840 // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must 1841 // be 4:1 (+-1%). Combined with square_logo_images the maximum is 5. 1842 LogoImages []*AdImageAsset `protobuf:"bytes,3,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"` 1843 // Square logo images to be used in the ad. Valid image types are GIF, 1844 // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must 1845 // be 1:1 (+-1%). Combined with square_logo_images the maximum is 5. 1846 SquareLogoImages []*AdImageAsset `protobuf:"bytes,4,rep,name=square_logo_images,json=squareLogoImages,proto3" json:"square_logo_images,omitempty"` 1847 // Short format headlines for the ad. The maximum length is 30 characters. 1848 // At least 1 and max 5 headlines can be specified. 1849 Headlines []*AdTextAsset `protobuf:"bytes,5,rep,name=headlines,proto3" json:"headlines,omitempty"` 1850 // A required long format headline. The maximum length is 90 characters. 1851 LongHeadline *AdTextAsset `protobuf:"bytes,6,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"` 1852 // Descriptive texts for the ad. The maximum length is 90 characters. At 1853 // least 1 and max 5 headlines can be specified. 1854 Descriptions []*AdTextAsset `protobuf:"bytes,7,rep,name=descriptions,proto3" json:"descriptions,omitempty"` 1855 // Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified. 1856 YoutubeVideos []*AdVideoAsset `protobuf:"bytes,8,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"` 1857 // The advertiser/brand name. Maximum display width is 25. 1858 BusinessName *wrappers.StringValue `protobuf:"bytes,9,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"` 1859 // The main color of the ad in hexadecimal, e.g. #ffffff for white. 1860 // If one of main_color and accent_color is set, the other is required as 1861 // well. 1862 MainColor *wrappers.StringValue `protobuf:"bytes,10,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"` 1863 // The accent color of the ad in hexadecimal, e.g. #ffffff for white. 1864 // If one of main_color and accent_color is set, the other is required as 1865 // well. 1866 AccentColor *wrappers.StringValue `protobuf:"bytes,11,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"` 1867 // Advertiser's consent to allow flexible color. When true, the ad may be 1868 // served with different color if necessary. When false, the ad will be served 1869 // with the specified colors or a neutral color. 1870 // The default value is true. 1871 // Must be true if main_color and accent_color are not set. 1872 AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,12,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"` 1873 // The call-to-action text for the ad. Maximum display width is 30. 1874 CallToActionText *wrappers.StringValue `protobuf:"bytes,13,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"` 1875 // Prefix before price. E.g. 'as low as'. 1876 PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"` 1877 // Promotion text used for dyanmic formats of responsive ads. For example 1878 // 'Free two-day shipping'. 1879 PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"` 1880 // Specifies which format the ad will be served in. Default is ALL_FORMATS. 1881 FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,16,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v1.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"` 1882 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1883 XXX_unrecognized []byte `json:"-"` 1884 XXX_sizecache int32 `json:"-"` 1885} 1886 1887func (m *ResponsiveDisplayAdInfo) Reset() { *m = ResponsiveDisplayAdInfo{} } 1888func (m *ResponsiveDisplayAdInfo) String() string { return proto.CompactTextString(m) } 1889func (*ResponsiveDisplayAdInfo) ProtoMessage() {} 1890func (*ResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) { 1891 return fileDescriptor_2709d6977cd7f379, []int{24} 1892} 1893 1894func (m *ResponsiveDisplayAdInfo) XXX_Unmarshal(b []byte) error { 1895 return xxx_messageInfo_ResponsiveDisplayAdInfo.Unmarshal(m, b) 1896} 1897func (m *ResponsiveDisplayAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1898 return xxx_messageInfo_ResponsiveDisplayAdInfo.Marshal(b, m, deterministic) 1899} 1900func (m *ResponsiveDisplayAdInfo) XXX_Merge(src proto.Message) { 1901 xxx_messageInfo_ResponsiveDisplayAdInfo.Merge(m, src) 1902} 1903func (m *ResponsiveDisplayAdInfo) XXX_Size() int { 1904 return xxx_messageInfo_ResponsiveDisplayAdInfo.Size(m) 1905} 1906func (m *ResponsiveDisplayAdInfo) XXX_DiscardUnknown() { 1907 xxx_messageInfo_ResponsiveDisplayAdInfo.DiscardUnknown(m) 1908} 1909 1910var xxx_messageInfo_ResponsiveDisplayAdInfo proto.InternalMessageInfo 1911 1912func (m *ResponsiveDisplayAdInfo) GetMarketingImages() []*AdImageAsset { 1913 if m != nil { 1914 return m.MarketingImages 1915 } 1916 return nil 1917} 1918 1919func (m *ResponsiveDisplayAdInfo) GetSquareMarketingImages() []*AdImageAsset { 1920 if m != nil { 1921 return m.SquareMarketingImages 1922 } 1923 return nil 1924} 1925 1926func (m *ResponsiveDisplayAdInfo) GetLogoImages() []*AdImageAsset { 1927 if m != nil { 1928 return m.LogoImages 1929 } 1930 return nil 1931} 1932 1933func (m *ResponsiveDisplayAdInfo) GetSquareLogoImages() []*AdImageAsset { 1934 if m != nil { 1935 return m.SquareLogoImages 1936 } 1937 return nil 1938} 1939 1940func (m *ResponsiveDisplayAdInfo) GetHeadlines() []*AdTextAsset { 1941 if m != nil { 1942 return m.Headlines 1943 } 1944 return nil 1945} 1946 1947func (m *ResponsiveDisplayAdInfo) GetLongHeadline() *AdTextAsset { 1948 if m != nil { 1949 return m.LongHeadline 1950 } 1951 return nil 1952} 1953 1954func (m *ResponsiveDisplayAdInfo) GetDescriptions() []*AdTextAsset { 1955 if m != nil { 1956 return m.Descriptions 1957 } 1958 return nil 1959} 1960 1961func (m *ResponsiveDisplayAdInfo) GetYoutubeVideos() []*AdVideoAsset { 1962 if m != nil { 1963 return m.YoutubeVideos 1964 } 1965 return nil 1966} 1967 1968func (m *ResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue { 1969 if m != nil { 1970 return m.BusinessName 1971 } 1972 return nil 1973} 1974 1975func (m *ResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue { 1976 if m != nil { 1977 return m.MainColor 1978 } 1979 return nil 1980} 1981 1982func (m *ResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue { 1983 if m != nil { 1984 return m.AccentColor 1985 } 1986 return nil 1987} 1988 1989func (m *ResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue { 1990 if m != nil { 1991 return m.AllowFlexibleColor 1992 } 1993 return nil 1994} 1995 1996func (m *ResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue { 1997 if m != nil { 1998 return m.CallToActionText 1999 } 2000 return nil 2001} 2002 2003func (m *ResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue { 2004 if m != nil { 2005 return m.PricePrefix 2006 } 2007 return nil 2008} 2009 2010func (m *ResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue { 2011 if m != nil { 2012 return m.PromoText 2013 } 2014 return nil 2015} 2016 2017func (m *ResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting { 2018 if m != nil { 2019 return m.FormatSetting 2020 } 2021 return enums.DisplayAdFormatSettingEnum_UNSPECIFIED 2022} 2023 2024// A generic type of display ad. The exact ad format is controlled by the 2025// display_upload_product_type field, which determines what kinds of data 2026// need to be included with the ad. 2027type DisplayUploadAdInfo struct { 2028 // The product type of this ad. See comments on the enum for details. 2029 DisplayUploadProductType enums.DisplayUploadProductTypeEnum_DisplayUploadProductType `protobuf:"varint,1,opt,name=display_upload_product_type,json=displayUploadProductType,proto3,enum=google.ads.googleads.v1.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType" json:"display_upload_product_type,omitempty"` 2030 // The asset data that makes up the ad. 2031 // 2032 // Types that are valid to be assigned to MediaAsset: 2033 // *DisplayUploadAdInfo_MediaBundle 2034 MediaAsset isDisplayUploadAdInfo_MediaAsset `protobuf_oneof:"media_asset"` 2035 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2036 XXX_unrecognized []byte `json:"-"` 2037 XXX_sizecache int32 `json:"-"` 2038} 2039 2040func (m *DisplayUploadAdInfo) Reset() { *m = DisplayUploadAdInfo{} } 2041func (m *DisplayUploadAdInfo) String() string { return proto.CompactTextString(m) } 2042func (*DisplayUploadAdInfo) ProtoMessage() {} 2043func (*DisplayUploadAdInfo) Descriptor() ([]byte, []int) { 2044 return fileDescriptor_2709d6977cd7f379, []int{25} 2045} 2046 2047func (m *DisplayUploadAdInfo) XXX_Unmarshal(b []byte) error { 2048 return xxx_messageInfo_DisplayUploadAdInfo.Unmarshal(m, b) 2049} 2050func (m *DisplayUploadAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2051 return xxx_messageInfo_DisplayUploadAdInfo.Marshal(b, m, deterministic) 2052} 2053func (m *DisplayUploadAdInfo) XXX_Merge(src proto.Message) { 2054 xxx_messageInfo_DisplayUploadAdInfo.Merge(m, src) 2055} 2056func (m *DisplayUploadAdInfo) XXX_Size() int { 2057 return xxx_messageInfo_DisplayUploadAdInfo.Size(m) 2058} 2059func (m *DisplayUploadAdInfo) XXX_DiscardUnknown() { 2060 xxx_messageInfo_DisplayUploadAdInfo.DiscardUnknown(m) 2061} 2062 2063var xxx_messageInfo_DisplayUploadAdInfo proto.InternalMessageInfo 2064 2065func (m *DisplayUploadAdInfo) GetDisplayUploadProductType() enums.DisplayUploadProductTypeEnum_DisplayUploadProductType { 2066 if m != nil { 2067 return m.DisplayUploadProductType 2068 } 2069 return enums.DisplayUploadProductTypeEnum_UNSPECIFIED 2070} 2071 2072type isDisplayUploadAdInfo_MediaAsset interface { 2073 isDisplayUploadAdInfo_MediaAsset() 2074} 2075 2076type DisplayUploadAdInfo_MediaBundle struct { 2077 MediaBundle *AdMediaBundleAsset `protobuf:"bytes,2,opt,name=media_bundle,json=mediaBundle,proto3,oneof"` 2078} 2079 2080func (*DisplayUploadAdInfo_MediaBundle) isDisplayUploadAdInfo_MediaAsset() {} 2081 2082func (m *DisplayUploadAdInfo) GetMediaAsset() isDisplayUploadAdInfo_MediaAsset { 2083 if m != nil { 2084 return m.MediaAsset 2085 } 2086 return nil 2087} 2088 2089func (m *DisplayUploadAdInfo) GetMediaBundle() *AdMediaBundleAsset { 2090 if x, ok := m.GetMediaAsset().(*DisplayUploadAdInfo_MediaBundle); ok { 2091 return x.MediaBundle 2092 } 2093 return nil 2094} 2095 2096// XXX_OneofWrappers is for the internal use of the proto package. 2097func (*DisplayUploadAdInfo) XXX_OneofWrappers() []interface{} { 2098 return []interface{}{ 2099 (*DisplayUploadAdInfo_MediaBundle)(nil), 2100 } 2101} 2102 2103func init() { 2104 proto.RegisterType((*TextAdInfo)(nil), "google.ads.googleads.v1.common.TextAdInfo") 2105 proto.RegisterType((*ExpandedTextAdInfo)(nil), "google.ads.googleads.v1.common.ExpandedTextAdInfo") 2106 proto.RegisterType((*CallOnlyAdInfo)(nil), "google.ads.googleads.v1.common.CallOnlyAdInfo") 2107 proto.RegisterType((*ExpandedDynamicSearchAdInfo)(nil), "google.ads.googleads.v1.common.ExpandedDynamicSearchAdInfo") 2108 proto.RegisterType((*HotelAdInfo)(nil), "google.ads.googleads.v1.common.HotelAdInfo") 2109 proto.RegisterType((*ShoppingSmartAdInfo)(nil), "google.ads.googleads.v1.common.ShoppingSmartAdInfo") 2110 proto.RegisterType((*ShoppingProductAdInfo)(nil), "google.ads.googleads.v1.common.ShoppingProductAdInfo") 2111 proto.RegisterType((*ShoppingComparisonListingAdInfo)(nil), "google.ads.googleads.v1.common.ShoppingComparisonListingAdInfo") 2112 proto.RegisterType((*GmailAdInfo)(nil), "google.ads.googleads.v1.common.GmailAdInfo") 2113 proto.RegisterType((*GmailTeaser)(nil), "google.ads.googleads.v1.common.GmailTeaser") 2114 proto.RegisterType((*DisplayCallToAction)(nil), "google.ads.googleads.v1.common.DisplayCallToAction") 2115 proto.RegisterType((*ProductImage)(nil), "google.ads.googleads.v1.common.ProductImage") 2116 proto.RegisterType((*ProductVideo)(nil), "google.ads.googleads.v1.common.ProductVideo") 2117 proto.RegisterType((*ImageAdInfo)(nil), "google.ads.googleads.v1.common.ImageAdInfo") 2118 proto.RegisterType((*VideoBumperInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoBumperInStreamAdInfo") 2119 proto.RegisterType((*VideoNonSkippableInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoNonSkippableInStreamAdInfo") 2120 proto.RegisterType((*VideoTrueViewInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoTrueViewInStreamAdInfo") 2121 proto.RegisterType((*VideoOutstreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoOutstreamAdInfo") 2122 proto.RegisterType((*VideoAdInfo)(nil), "google.ads.googleads.v1.common.VideoAdInfo") 2123 proto.RegisterType((*ResponsiveSearchAdInfo)(nil), "google.ads.googleads.v1.common.ResponsiveSearchAdInfo") 2124 proto.RegisterType((*LegacyResponsiveDisplayAdInfo)(nil), "google.ads.googleads.v1.common.LegacyResponsiveDisplayAdInfo") 2125 proto.RegisterType((*AppAdInfo)(nil), "google.ads.googleads.v1.common.AppAdInfo") 2126 proto.RegisterType((*AppEngagementAdInfo)(nil), "google.ads.googleads.v1.common.AppEngagementAdInfo") 2127 proto.RegisterType((*LegacyAppInstallAdInfo)(nil), "google.ads.googleads.v1.common.LegacyAppInstallAdInfo") 2128 proto.RegisterType((*ResponsiveDisplayAdInfo)(nil), "google.ads.googleads.v1.common.ResponsiveDisplayAdInfo") 2129 proto.RegisterType((*DisplayUploadAdInfo)(nil), "google.ads.googleads.v1.common.DisplayUploadAdInfo") 2130} 2131 2132func init() { 2133 proto.RegisterFile("google/ads/googleads/v1/common/ad_type_infos.proto", fileDescriptor_2709d6977cd7f379) 2134} 2135 2136var fileDescriptor_2709d6977cd7f379 = []byte{ 2137 // 2377 bytes of a gzipped FileDescriptorProto 2138 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcb, 0x6e, 0x23, 0x59, 2139 0x19, 0x8e, 0xe3, 0x5c, 0xec, 0xdf, 0x76, 0x2e, 0x95, 0xbe, 0x78, 0x92, 0xb9, 0xd6, 0x02, 0x8d, 2140 0x04, 0xe3, 0x10, 0xf7, 0x80, 0x98, 0x34, 0x3d, 0x8d, 0x93, 0x74, 0xb7, 0xa3, 0x49, 0x77, 0x67, 2141 0x9c, 0x74, 0x1a, 0x35, 0x41, 0xa5, 0x13, 0xd7, 0x89, 0x53, 0xea, 0xaa, 0x73, 0x0e, 0x75, 0xaa, 2142 0xd2, 0xc9, 0x76, 0x16, 0xb0, 0x45, 0x9a, 0x15, 0x88, 0x15, 0x4b, 0x24, 0x1e, 0x81, 0x15, 0xac, 2143 0x46, 0x82, 0x27, 0xe0, 0x09, 0xe0, 0x11, 0x66, 0x01, 0x3a, 0x97, 0x2a, 0x97, 0xed, 0x38, 0x3e, 2144 0x8e, 0x47, 0xb4, 0x58, 0xb9, 0x2e, 0xff, 0xf7, 0xd5, 0xb9, 0xfc, 0x97, 0xaf, 0xfe, 0x32, 0xd4, 2145 0x3b, 0x94, 0x76, 0x7c, 0xbc, 0x8e, 0x5c, 0xbe, 0xae, 0x0e, 0xc5, 0xd1, 0xf9, 0xc6, 0x7a, 0x9b, 2146 0x06, 0x01, 0x25, 0xeb, 0xc8, 0x75, 0xa2, 0x4b, 0x86, 0x1d, 0x8f, 0x9c, 0x52, 0x5e, 0x63, 0x21, 2147 0x8d, 0xa8, 0xf5, 0xbe, 0x32, 0xac, 0x21, 0x97, 0xd7, 0x52, 0x4c, 0xed, 0x7c, 0xa3, 0xa6, 0x30, 2148 0xab, 0x9f, 0x8c, 0xe6, 0x44, 0x9c, 0xe3, 0x48, 0xd1, 0xad, 0x6e, 0x0f, 0x33, 0xc7, 0x24, 0x0e, 2149 0xf8, 0x7a, 0x1b, 0xf9, 0xbe, 0xd3, 0xa6, 0xe4, 0x1c, 0x87, 0xdc, 0xa3, 0xc4, 0x09, 0x31, 0xa3, 2150 0x61, 0xe4, 0x91, 0x8e, 0xc3, 0x23, 0x14, 0x61, 0x4d, 0xf2, 0xe0, 0x7a, 0x12, 0xd7, 0xe3, 0xcc, 2151 0x47, 0x97, 0x0e, 0x72, 0x9d, 0x53, 0x1a, 0x06, 0x28, 0x72, 0x38, 0x8e, 0x04, 0x89, 0x86, 0x3f, 2152 0x34, 0x83, 0xc7, 0xcc, 0xa7, 0xc8, 0x75, 0x58, 0x48, 0xdd, 0xb8, 0x1d, 0xc9, 0x95, 0x31, 0x9b, 2153 0x84, 0x8f, 0x3b, 0xa8, 0x7d, 0xe9, 0x20, 0xc6, 0x1c, 0x8f, 0xf0, 0x48, 0x4c, 0x49, 0xac, 0x02, 2154 0x63, 0x0e, 0x8f, 0x68, 0x98, 0x90, 0x7c, 0x72, 0x3d, 0x49, 0xe0, 0x05, 0x38, 0xfb, 0xcc, 0x77, 2155 0x13, 0x73, 0xe6, 0xad, 0x23, 0x42, 0x68, 0x84, 0x22, 0x8f, 0x12, 0xbd, 0x4b, 0xab, 0x7a, 0x97, 2156 0xd6, 0xe5, 0xd9, 0x49, 0x7c, 0xba, 0xfe, 0x26, 0x44, 0x8c, 0xe1, 0x50, 0xdf, 0xb7, 0xbf, 0xc9, 2157 0x01, 0x1c, 0xe2, 0x8b, 0xa8, 0xe1, 0xee, 0x92, 0x53, 0x6a, 0xfd, 0x04, 0x0a, 0x67, 0x18, 0xb9, 2158 0xbe, 0x47, 0x70, 0x35, 0xf7, 0x61, 0xee, 0xe3, 0x52, 0xfd, 0x5d, 0xbd, 0xb9, 0xb5, 0x84, 0xa1, 2159 0x76, 0x10, 0x85, 0x1e, 0xe9, 0x1c, 0x21, 0x3f, 0xc6, 0xad, 0xd4, 0xda, 0xfa, 0x19, 0x94, 0x5d, 2160 0xcc, 0xdb, 0xa1, 0xc7, 0xc4, 0xe3, 0x37, 0xaa, 0xd3, 0x06, 0xe8, 0x1e, 0x44, 0x1f, 0x43, 0xbd, 2161 0x9a, 0x1f, 0x93, 0xa1, 0x6e, 0xff, 0x3d, 0x0f, 0xd6, 0xa3, 0x0b, 0x86, 0x88, 0x8b, 0xdd, 0xcc, 2162 0xa4, 0xb6, 0x61, 0x21, 0x19, 0xa6, 0xc3, 0x50, 0x18, 0x6d, 0x18, 0x4d, 0xad, 0x92, 0x60, 0xf6, 2163 0x05, 0x64, 0x80, 0xa4, 0x6e, 0x34, 0xc3, 0x1e, 0x92, 0xfa, 0x00, 0xc9, 0xbd, 0xea, 0xdc, 0xb8, 2164 0x24, 0xf7, 0xac, 0xcf, 0xa1, 0x94, 0x99, 0xb5, 0xd1, 0x32, 0x65, 0x01, 0x03, 0xeb, 0x3c, 0x3f, 2165 0xee, 0x3a, 0x5b, 0x75, 0x98, 0x65, 0x28, 0x3a, 0xdb, 0xa8, 0xce, 0x18, 0x40, 0x95, 0x69, 0x82, 2166 0xa9, 0x57, 0x67, 0x4d, 0x31, 0x75, 0xfb, 0xcf, 0xf3, 0xb0, 0xb0, 0x8d, 0x7c, 0xff, 0x39, 0xf1, 2167 0x2f, 0xf5, 0x5e, 0x3e, 0x84, 0x72, 0x9b, 0xc6, 0x24, 0x0a, 0x2f, 0x9d, 0x36, 0x75, 0xcd, 0x9c, 2168 0xb4, 0xa4, 0x11, 0xdb, 0xd4, 0xc5, 0x82, 0x80, 0x9d, 0x51, 0x82, 0x1d, 0x12, 0x07, 0x27, 0x38, 2169 0x34, 0xda, 0xc5, 0x92, 0x44, 0x3c, 0x93, 0x00, 0xab, 0x01, 0x95, 0x93, 0x98, 0x7b, 0x04, 0x73, 2170 0xee, 0x10, 0x14, 0x60, 0x33, 0x3f, 0x4d, 0x20, 0xcf, 0x50, 0x80, 0xad, 0x4d, 0x28, 0x26, 0x5b, 2171 0xba, 0x51, 0x2d, 0x19, 0xc0, 0xbb, 0xe6, 0x59, 0x6c, 0xbd, 0x5a, 0x1e, 0x07, 0x5b, 0x1f, 0x88, 2172 0xd1, 0x99, 0x89, 0x63, 0x74, 0x76, 0x6c, 0xdf, 0x79, 0x00, 0x65, 0x99, 0xcb, 0xa3, 0x10, 0xb5, 2173 0x5f, 0x63, 0x57, 0x07, 0xc0, 0xea, 0x00, 0xc3, 0x16, 0xa5, 0x7e, 0xb2, 0x7d, 0xc8, 0xf7, 0x0f, 2174 0x95, 0xb9, 0xd5, 0x82, 0xbb, 0xae, 0xc7, 0xd1, 0x89, 0x8f, 0x9d, 0xbe, 0x92, 0xa0, 0xfd, 0xf8, 2175 0x3a, 0xa6, 0xdb, 0x1a, 0x2a, 0x7c, 0x6a, 0x3b, 0x05, 0x5a, 0x0e, 0xbc, 0x97, 0x75, 0x09, 0xe7, 2176 0x1c, 0x87, 0xde, 0xa9, 0xd7, 0x96, 0x79, 0xd4, 0x89, 0x43, 0xbf, 0x5a, 0x30, 0x98, 0xe5, 0x6a, 2177 0xc6, 0x47, 0x8e, 0x32, 0x04, 0x2f, 0x42, 0xdf, 0xda, 0x85, 0xe5, 0x4c, 0xe9, 0x42, 0x6d, 0x19, 2178 0xb7, 0x45, 0x03, 0xd2, 0xa5, 0x2e, 0xac, 0x21, 0x51, 0xd6, 0xef, 0x73, 0xb0, 0x3a, 0xbc, 0x0c, 2179 0x56, 0xe1, 0xc3, 0xdc, 0xc7, 0x0b, 0xf5, 0xe3, 0xda, 0xb0, 0xda, 0x2c, 0x4b, 0x48, 0xad, 0x77, 2180 0xfe, 0xad, 0x84, 0xe3, 0x40, 0x50, 0x3c, 0x22, 0x71, 0x70, 0xad, 0x41, 0xab, 0xda, 0x1e, 0x72, 2181 0xc7, 0xfe, 0x25, 0xac, 0x25, 0xe9, 0x77, 0xe7, 0x92, 0xa0, 0xc0, 0x6b, 0x1f, 0x60, 0x14, 0xb6, 2182 0xcf, 0x74, 0xec, 0xf6, 0x25, 0xae, 0xdc, 0x98, 0x89, 0xcb, 0xae, 0x40, 0xa9, 0x49, 0x23, 0xec, 2183 0x2b, 0x3a, 0xfb, 0x36, 0xac, 0x1c, 0x9c, 0x51, 0xc6, 0xc4, 0xe3, 0x03, 0x14, 0xea, 0x6c, 0x6f, 2184 0xdf, 0x85, 0xdb, 0xc9, 0xe5, 0x7d, 0x55, 0xa1, 0xf5, 0x8d, 0x5f, 0xc0, 0x07, 0xc9, 0x8d, 0x6d, 2185 0x1a, 0x30, 0x14, 0x7a, 0x9c, 0x92, 0x3d, 0x8f, 0x8b, 0xf1, 0x4f, 0x5a, 0xfe, 0xec, 0xbf, 0xce, 2186 0x42, 0xe9, 0x49, 0x80, 0x3c, 0x3f, 0xad, 0x39, 0x73, 0x11, 0x46, 0x1c, 0x87, 0x9a, 0xe7, 0xfb, 2187 0xb5, 0xeb, 0xe5, 0x52, 0x4d, 0x82, 0x0f, 0x25, 0xa4, 0xa5, 0xa1, 0x22, 0x57, 0x89, 0x07, 0xe0, 2188 0xd0, 0xf1, 0x02, 0xd4, 0xc1, 0x66, 0xb9, 0x4a, 0x21, 0x76, 0x05, 0xc0, 0x7a, 0x04, 0x8b, 0x01, 2189 0x0a, 0x5f, 0x63, 0xe9, 0x21, 0x8a, 0xc3, 0x24, 0x5b, 0x2d, 0xa4, 0x20, 0x45, 0x73, 0x04, 0xd5, 2190 0x3e, 0x1a, 0x27, 0x5d, 0x26, 0x93, 0x1c, 0x72, 0xa7, 0x97, 0xaf, 0x99, 0x68, 0x86, 0x63, 0x58, 2191 0xeb, 0xe7, 0xcd, 0x3a, 0x88, 0x49, 0x72, 0x79, 0xa7, 0x97, 0x7a, 0x27, 0x53, 0xe7, 0x7e, 0x9d, 2192 0x83, 0xef, 0x0d, 0xd0, 0x6b, 0x09, 0xa7, 0x52, 0x10, 0x4d, 0x62, 0x51, 0x25, 0xa1, 0x7b, 0xa3, 2193 0xf6, 0x68, 0x47, 0xa1, 0x45, 0x74, 0x1c, 0x52, 0x15, 0x90, 0xad, 0x8f, 0xfa, 0x06, 0x30, 0x68, 2194 0x62, 0x1d, 0xc0, 0x42, 0xa2, 0x15, 0xe5, 0x28, 0x78, 0x75, 0xfe, 0xc3, 0xfc, 0xc7, 0xa5, 0xfa, 2195 0x0f, 0x46, 0x3d, 0x4f, 0xfb, 0xaf, 0x24, 0x6e, 0x55, 0x58, 0xe6, 0x8c, 0x67, 0x49, 0xcf, 0x3d, 2196 0x17, 0x53, 0x5e, 0x2d, 0x8c, 0x45, 0x7a, 0x24, 0x40, 0x29, 0xa9, 0x3c, 0xe3, 0xf6, 0x6f, 0xa6, 2197 0xb5, 0x17, 0x2b, 0x47, 0x9c, 0x40, 0x0e, 0xf6, 0xc5, 0xfa, 0xf4, 0xb8, 0x22, 0xe5, 0x3b, 0xa8, 2198 0xb2, 0xf7, 0x01, 0x7c, 0xda, 0xa1, 0xda, 0xef, 0x4d, 0xfc, 0xb4, 0x28, 0xec, 0xe5, 0xfa, 0xda, 2199 0xff, 0xc8, 0xc1, 0xca, 0x55, 0x7b, 0xf9, 0x43, 0x98, 0x89, 0xf0, 0x45, 0x64, 0xb4, 0x1a, 0xd2, 2200 0x52, 0x0c, 0x43, 0xfc, 0x3a, 0x6d, 0xea, 0x53, 0x33, 0xb9, 0x51, 0x14, 0xf6, 0xdb, 0xc2, 0xdc, 2201 0x6a, 0xc2, 0x72, 0x1c, 0x8a, 0x2a, 0xe7, 0xfb, 0x58, 0x0e, 0xc0, 0xf1, 0x5c, 0xa3, 0xa5, 0x58, 2202 0x8c, 0x43, 0x7f, 0x3b, 0x45, 0xed, 0xba, 0xf6, 0xb7, 0x39, 0x28, 0x67, 0xfd, 0x49, 0xac, 0x70, 2203 0x8f, 0x57, 0x1a, 0x4d, 0xa9, 0x9c, 0x75, 0xc2, 0x89, 0x37, 0xf9, 0x0c, 0xee, 0x0c, 0x09, 0xc8, 2204 0xfc, 0xcd, 0x03, 0x72, 0xc5, 0x1d, 0xbc, 0x68, 0x7f, 0x99, 0x4e, 0x5e, 0x7a, 0x7a, 0x76, 0xf2, 2205 0x32, 0x7a, 0xc6, 0x9a, 0xbc, 0xa4, 0xb0, 0xbf, 0x9a, 0x83, 0x92, 0x5c, 0x06, 0x9d, 0xf1, 0x7f, 2206 0x0a, 0x25, 0xe6, 0x5d, 0x60, 0xdf, 0x79, 0xe3, 0xb9, 0xd1, 0x99, 0xf6, 0xb7, 0xb5, 0x01, 0xc2, 2207 0x5d, 0x12, 0xfd, 0xf8, 0x53, 0xc5, 0x07, 0xd2, 0xfe, 0xa5, 0x30, 0xb7, 0x3e, 0x87, 0xb2, 0x42, 2208 0x9f, 0x61, 0xaf, 0x73, 0x16, 0xe9, 0xdc, 0x77, 0x2d, 0x5c, 0x3d, 0xae, 0x29, 0xed, 0xad, 0xcf, 2209 0xa0, 0xa8, 0x32, 0x9c, 0xd0, 0x2b, 0x26, 0x2f, 0x15, 0x05, 0x69, 0x2e, 0xd4, 0xc9, 0x17, 0xb0, 2210 0xc2, 0x42, 0x7c, 0xee, 0xe1, 0x37, 0x4e, 0x76, 0x02, 0xf3, 0xa3, 0x47, 0xb0, 0xac, 0x71, 0xfb, 2211 0xdd, 0x79, 0x3c, 0x85, 0x5b, 0xbd, 0x64, 0x7a, 0x3e, 0x85, 0xd1, 0x6c, 0x56, 0x96, 0x4d, 0x4f, 2212 0xab, 0x09, 0xc9, 0x33, 0x9c, 0xee, 0xf4, 0x4c, 0x94, 0xd3, 0xa2, 0x86, 0xed, 0x26, 0xb3, 0xfc, 2213 0x12, 0x8a, 0xe9, 0x9b, 0xb3, 0x96, 0x49, 0x9f, 0x8e, 0x90, 0x49, 0x4f, 0xbd, 0x00, 0x1f, 0x5e, 2214 0x32, 0x25, 0x89, 0x92, 0x93, 0x56, 0x21, 0xd0, 0x47, 0x22, 0x17, 0xc8, 0xd4, 0x64, 0xa2, 0xe0, 2215 0xa5, 0xa5, 0xf5, 0x00, 0x20, 0xc0, 0xae, 0x87, 0x9c, 0x53, 0xcf, 0x37, 0x0a, 0xb8, 0xe6, 0x54, 2216 0xab, 0x28, 0x11, 0x8f, 0x3d, 0x1f, 0x5b, 0x1b, 0x30, 0xe3, 0xa2, 0x08, 0xe9, 0x40, 0x1b, 0x5c, 2217 0xcc, 0xad, 0xcb, 0x08, 0xf3, 0x04, 0x27, 0x4d, 0xad, 0x43, 0xa8, 0x22, 0xd7, 0xf1, 0x5c, 0x11, 2218 0x5b, 0x6d, 0xca, 0x2e, 0xf5, 0x32, 0x9e, 0x86, 0x34, 0xd0, 0x41, 0x76, 0xdd, 0x9e, 0x34, 0xa7, 2219 0x5a, 0x2b, 0xc8, 0xdd, 0x75, 0x0f, 0xe9, 0x36, 0x65, 0x97, 0x72, 0x2d, 0x1f, 0x87, 0x34, 0xd8, 2220 0x9a, 0x87, 0x59, 0xc9, 0x63, 0xaf, 0xc1, 0x3b, 0x32, 0x1a, 0xb6, 0xe2, 0x80, 0xe1, 0x70, 0x97, 2221 0x1c, 0x44, 0x21, 0x46, 0x81, 0x16, 0x5c, 0x1f, 0xc1, 0x07, 0xf2, 0xe6, 0x33, 0x4a, 0x0e, 0x5e, 2222 0x7b, 0x8c, 0x09, 0xe9, 0xdd, 0x67, 0xf2, 0x6d, 0x0e, 0xd6, 0xa4, 0xcd, 0x61, 0x18, 0xe3, 0x23, 2223 0xb1, 0x5f, 0x3d, 0xf7, 0xad, 0x3d, 0x58, 0x51, 0x19, 0xc1, 0x39, 0x89, 0xa3, 0x88, 0x12, 0xc7, 2224 0x47, 0x27, 0xd8, 0x37, 0x8a, 0xd6, 0x65, 0x05, 0xdc, 0x92, 0xb8, 0x3d, 0x01, 0x13, 0x72, 0x48, 2225 0xb3, 0xa5, 0x55, 0xcd, 0x24, 0x67, 0x2d, 0x28, 0x50, 0x2a, 0x5b, 0x9e, 0xc0, 0x52, 0x5b, 0x08, 2226 0x48, 0x22, 0xc7, 0x85, 0x08, 0xc1, 0xa1, 0x59, 0x4e, 0x4e, 0x51, 0x5b, 0x12, 0x64, 0xff, 0x36, 2227 0x07, 0xb7, 0xe4, 0xec, 0x9f, 0xc7, 0x11, 0xcf, 0x4e, 0xfb, 0xad, 0xd5, 0x5d, 0xfb, 0x6f, 0x79, 2228 0x28, 0xc9, 0x21, 0xe9, 0x91, 0xdc, 0x1f, 0xd7, 0x63, 0xb3, 0xfe, 0xfa, 0x0a, 0x8a, 0x1e, 0x71, 2229 0xd4, 0xcc, 0xf4, 0x50, 0xee, 0x8f, 0x4a, 0xe9, 0xd7, 0x78, 0x43, 0x73, 0xaa, 0x55, 0xf0, 0xf4, 2230 0x15, 0xeb, 0x00, 0xe6, 0x4e, 0xa4, 0xd3, 0xe9, 0xa5, 0xff, 0xcc, 0x88, 0xf8, 0x2a, 0x3f, 0x6d, 2231 0x4e, 0xb5, 0x34, 0x95, 0xf5, 0x02, 0x80, 0xc6, 0x51, 0x32, 0x62, 0x95, 0xc2, 0x3f, 0x35, 0x22, 2232 0xee, 0xdb, 0x41, 0x11, 0xb7, 0x34, 0x8e, 0xf4, 0x58, 0x4f, 0xa1, 0x42, 0x28, 0x71, 0x78, 0x12, 2233 0x04, 0x3a, 0xbb, 0x3f, 0x34, 0x62, 0x1e, 0x1e, 0x3d, 0xcd, 0xa9, 0x56, 0x99, 0x64, 0xee, 0x6e, 2234 0x15, 0x60, 0x4e, 0xf5, 0x35, 0xed, 0x3f, 0x4c, 0xc3, 0x9d, 0x16, 0xe6, 0x8c, 0x12, 0xee, 0x9d, 2235 0xe3, 0x9e, 0xb7, 0xb0, 0xdd, 0x6e, 0x03, 0x81, 0x57, 0x73, 0x52, 0x33, 0x8e, 0x7c, 0x39, 0x69, 2236 0xa8, 0x76, 0x1a, 0xe7, 0x38, 0xea, 0xf6, 0x13, 0xb8, 0xf5, 0xbc, 0xa7, 0x1b, 0xc0, 0xab, 0xd3, 2237 0xe3, 0xb3, 0xf5, 0x10, 0x74, 0x1b, 0x4b, 0xf9, 0x1b, 0x34, 0x96, 0x66, 0xcc, 0x1b, 0x4b, 0xff, 2238 0x2c, 0xc0, 0x7b, 0x7b, 0xb2, 0x19, 0xdb, 0x5d, 0x24, 0xad, 0x25, 0xba, 0x3d, 0x43, 0x7e, 0x46, 2239 0xc3, 0xc8, 0x19, 0x2b, 0x0e, 0x2b, 0x12, 0x93, 0x26, 0x8a, 0x06, 0x54, 0x7c, 0x4a, 0x3a, 0xe3, 2240 0x65, 0x9b, 0xb2, 0x80, 0x34, 0x87, 0xc4, 0x73, 0x7e, 0x62, 0x1d, 0x3d, 0x33, 0xb6, 0x8e, 0xde, 2241 0x83, 0x5b, 0xc8, 0xf7, 0xe9, 0x1b, 0xe7, 0xd4, 0xc7, 0x17, 0x9e, 0xec, 0xbc, 0x48, 0x29, 0x3b, 2242 0x3b, 0xb2, 0xdf, 0x62, 0x49, 0xdc, 0x63, 0x0d, 0x53, 0x8a, 0xf6, 0x21, 0x94, 0x51, 0xbb, 0x8d, 2243 0x49, 0x22, 0x88, 0x4d, 0xb4, 0x4a, 0x49, 0x21, 0x14, 0x81, 0xc8, 0x48, 0xc8, 0x23, 0x1a, 0x3e, 2244 0x6f, 0x94, 0x91, 0x90, 0x47, 0x14, 0xf8, 0x0b, 0x58, 0xe9, 0x55, 0x9a, 0x8e, 0x54, 0xf3, 0x05, 2245 0xa3, 0x5e, 0x4c, 0x46, 0x50, 0x1e, 0x6a, 0x65, 0x9f, 0x79, 0xc1, 0x28, 0x8e, 0xf5, 0x82, 0x21, 2246 0x94, 0x0d, 0xff, 0x55, 0x8c, 0x42, 0xec, 0x64, 0x38, 0xc0, 0xa4, 0x8a, 0x28, 0xd8, 0x5e, 0xca, 2247 0x74, 0xc5, 0x4b, 0x7e, 0xe9, 0x06, 0x2f, 0xf9, 0x2d, 0xb8, 0xa3, 0x07, 0xd4, 0xcf, 0x66, 0xd2, 2248 0x65, 0xbc, 0xa5, 0xb0, 0x4f, 0x7b, 0x39, 0xdf, 0xc0, 0x42, 0xef, 0x87, 0x96, 0x6a, 0x45, 0x2a, 2249 0xaf, 0xfd, 0x11, 0xca, 0x2b, 0x8d, 0xc5, 0xc7, 0x12, 0x7d, 0xa0, 0xc0, 0x52, 0x87, 0x5d, 0x7d, 2250 0xab, 0x55, 0x39, 0xcd, 0x9e, 0xca, 0x2e, 0x6f, 0xe8, 0xb5, 0xb1, 0xc3, 0x42, 0x7c, 0xea, 0x5d, 2251 0x54, 0x17, 0x8c, 0xba, 0xbc, 0x02, 0xb1, 0x2f, 0x01, 0x62, 0x6f, 0x59, 0x48, 0x03, 0xaa, 0xfc, 2252 0x63, 0xd1, 0x64, 0x6f, 0xa5, 0xbd, 0x70, 0x0c, 0xfb, 0x3f, 0x79, 0x28, 0x36, 0x18, 0xd3, 0xa9, 2253 0xe4, 0x25, 0x2c, 0x07, 0x88, 0xb8, 0x28, 0xa2, 0xa1, 0xfc, 0xf4, 0x94, 0x79, 0x7f, 0x1c, 0x2b, 2254 0x55, 0x2e, 0xa6, 0x2c, 0xea, 0x6a, 0x6f, 0x26, 0x9f, 0xfe, 0x4e, 0x33, 0x79, 0x7e, 0xd2, 0x4c, 2255 0xbe, 0x03, 0x73, 0xba, 0xd7, 0x31, 0x63, 0xd6, 0x96, 0x68, 0xb8, 0xea, 0x65, 0x4a, 0x72, 0x69, 2256 0xac, 0x75, 0x00, 0x0b, 0x97, 0x34, 0x8e, 0xe2, 0x13, 0x9c, 0x34, 0x39, 0x66, 0x4d, 0xd9, 0x94, 2257 0x88, 0x91, 0x6c, 0x15, 0xcd, 0xa1, 0x9a, 0x1c, 0xd6, 0x09, 0xac, 0x9c, 0x45, 0x81, 0xff, 0x23, 2258 0x47, 0x09, 0x9b, 0x93, 0x98, 0xb8, 0x3e, 0xe6, 0xd5, 0x39, 0xc9, 0x5c, 0x1f, 0xcd, 0xfc, 0x54, 2259 0xc0, 0xb6, 0x24, 0x4a, 0xf1, 0x2f, 0x4b, 0xba, 0xcc, 0x65, 0x6e, 0xff, 0x65, 0x1a, 0x56, 0x1a, 2260 0x8c, 0x3d, 0x22, 0x1d, 0xd4, 0xc1, 0x01, 0x26, 0xd1, 0xff, 0x41, 0xf1, 0xed, 0x6e, 0x59, 0x7e, 2261 0x82, 0x2d, 0xdb, 0x81, 0x39, 0xbd, 0x55, 0x33, 0x37, 0xd8, 0x2a, 0x8d, 0xb5, 0xbf, 0xca, 0xc3, 2262 0x1d, 0x55, 0xa0, 0x1b, 0x8c, 0xed, 0xaa, 0x6f, 0xa5, 0x7a, 0x09, 0xef, 0xc1, 0x9c, 0xfc, 0x80, 2263 0xea, 0x1a, 0x55, 0xe4, 0x59, 0xc4, 0xd8, 0xae, 0x6b, 0xc5, 0x50, 0x4c, 0x3f, 0xb3, 0xca, 0x2a, 2264 0xbc, 0x50, 0xff, 0xf9, 0x88, 0x1c, 0x34, 0xf8, 0xf8, 0x06, 0x63, 0x07, 0x82, 0x40, 0xe6, 0xa1, 2265 0xe1, 0xb7, 0x5b, 0x05, 0xa4, 0x8f, 0x7a, 0x74, 0x7c, 0x7e, 0xa2, 0xcf, 0xa9, 0x6f, 0xe1, 0x53, 2266 0x8d, 0xfd, 0x3b, 0x80, 0xbb, 0xc3, 0xf4, 0xd1, 0x4b, 0x58, 0xea, 0x2b, 0x13, 0x89, 0x3f, 0x8f, 2267 0xe7, 0x36, 0x8b, 0xbd, 0x55, 0x88, 0x5b, 0x2e, 0xdc, 0xbd, 0xba, 0x0c, 0x25, 0x1e, 0x3e, 0x1e, 2268 0xff, 0xed, 0xab, 0xea, 0x12, 0xb7, 0x9e, 0x42, 0xa9, 0x5b, 0x76, 0x6f, 0xe6, 0xf0, 0x90, 0xd6, 2269 0x72, 0x6e, 0xbd, 0x02, 0x6b, 0xa0, 0x98, 0xdf, 0x2c, 0xf3, 0x2d, 0xf5, 0x55, 0x77, 0xde, 0x9b, 2270 0x32, 0x66, 0x27, 0x4a, 0x19, 0xfb, 0xfd, 0x7a, 0x74, 0x6e, 0xfc, 0x2a, 0xd4, 0x2b, 0x4f, 0xfb, 2271 0x93, 0xd0, 0xfc, 0xa4, 0x49, 0x68, 0x30, 0xe3, 0x17, 0x26, 0xcf, 0xf8, 0x03, 0x22, 0xb8, 0x78, 2272 0x93, 0x66, 0x72, 0x46, 0x75, 0xc2, 0x78, 0xaa, 0xb3, 0x5f, 0xf3, 0x96, 0xc6, 0xd5, 0xbc, 0xc3, 2273 0x24, 0x78, 0xf9, 0x46, 0x12, 0x7c, 0x88, 0x08, 0xae, 0xdc, 0x48, 0x04, 0xbf, 0x55, 0xa5, 0x75, 2274 0x85, 0xc0, 0x5c, 0xfa, 0x9f, 0x08, 0x4c, 0xfb, 0xeb, 0xe9, 0xf4, 0xfb, 0xc0, 0x0b, 0xf9, 0x77, 2275 0x20, 0x9d, 0x17, 0xbf, 0xce, 0xc1, 0xda, 0x35, 0xff, 0x13, 0x92, 0x35, 0x6b, 0xa1, 0x7e, 0x68, 2276 0x36, 0x3c, 0xc5, 0xac, 0x1b, 0xd7, 0x69, 0x27, 0x72, 0xd8, 0xcd, 0x56, 0xd5, 0x1d, 0x72, 0xc7, 2277 0x7a, 0x09, 0xe5, 0xac, 0xd8, 0xd1, 0xef, 0xa1, 0x37, 0xd0, 0x3a, 0xcd, 0xa9, 0x56, 0x29, 0xe8, 2278 0x5e, 0xdb, 0xaa, 0x80, 0x3a, 0x55, 0x7f, 0xe5, 0xda, 0xfa, 0x77, 0x0e, 0xec, 0x36, 0x0d, 0x46, 2279 0xf0, 0x6e, 0x2d, 0x35, 0x5c, 0x31, 0x2c, 0xb1, 0x60, 0x7c, 0x5f, 0xec, 0xf0, 0x7e, 0xee, 0xd5, 2280 0x8e, 0xc6, 0x74, 0xa8, 0x8f, 0x48, 0xa7, 0x46, 0xc3, 0xce, 0x7a, 0x07, 0x13, 0xb9, 0xff, 0xc9, 2281 0xbf, 0xa0, 0x98, 0xc7, 0x87, 0xfd, 0x9b, 0xec, 0xbe, 0xfa, 0xf9, 0xe3, 0x74, 0xfe, 0x49, 0xa3, 2282 0xf1, 0xa7, 0xe9, 0xf7, 0x9f, 0x28, 0xb2, 0x86, 0xcb, 0x6b, 0xea, 0x50, 0x1c, 0x1d, 0x6d, 0xd4, 2283 0xb6, 0xa5, 0xd9, 0x37, 0x89, 0xc1, 0x71, 0xc3, 0xe5, 0xc7, 0xa9, 0xc1, 0xf1, 0xd1, 0xc6, 0xb1, 2284 0x32, 0xf8, 0xd7, 0xb4, 0xad, 0xae, 0x6e, 0x6e, 0x36, 0x5c, 0xbe, 0xb9, 0x99, 0x9a, 0x6c, 0x6e, 2285 0x1e, 0x6d, 0x6c, 0x6e, 0x2a, 0xa3, 0x93, 0x39, 0x39, 0xba, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 2286 0xff, 0xc7, 0x10, 0x34, 0xf2, 0x3e, 0x27, 0x00, 0x00, 2287} 2288