google-ads-api-client
Version:
A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.
368 lines (367 loc) • 14.9 kB
TypeScript
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { DiscoveryCarouselAdInfo } from "../common/ad_type_infos";
import { DiscoveryMultiAssetAdInfo } from "../common/ad_type_infos";
import { AppPreRegistrationAdInfo } from "../common/ad_type_infos";
import { SmartCampaignAdInfo } from "../common/ad_type_infos";
import { ShoppingComparisonListingAdInfo } from "../common/ad_type_infos";
import { AppEngagementAdInfo } from "../common/ad_type_infos";
import { DisplayUploadAdInfo } from "../common/ad_type_infos";
import { LocalAdInfo } from "../common/ad_type_infos";
import { ResponsiveDisplayAdInfo } from "../common/ad_type_infos";
import { LegacyAppInstallAdInfo } from "../common/ad_type_infos";
import { AppAdInfo } from "../common/ad_type_infos";
import { LegacyResponsiveDisplayAdInfo } from "../common/ad_type_infos";
import { ResponsiveSearchAdInfo } from "../common/ad_type_infos";
import { VideoResponsiveAdInfo } from "../common/ad_type_infos";
import { VideoAdInfo } from "../common/ad_type_infos";
import { ImageAdInfo } from "../common/ad_type_infos";
import { GmailAdInfo } from "../common/ad_type_infos";
import { ShoppingProductAdInfo } from "../common/ad_type_infos";
import { ShoppingSmartAdInfo } from "../common/ad_type_infos";
import { HotelAdInfo } from "../common/ad_type_infos";
import { ExpandedDynamicSearchAdInfo } from "../common/ad_type_infos";
import { CallAdInfo } from "../common/ad_type_infos";
import { ExpandedTextAdInfo } from "../common/ad_type_infos";
import { TextAdInfo } from "../common/ad_type_infos";
import { SystemManagedResourceSourceEnum_SystemManagedResourceSource } from "../enums/system_managed_entity_source";
import { UrlCollection } from "../common/url_collection";
import { DeviceEnum_Device } from "../enums/device";
import { AdTypeEnum_AdType } from "../enums/ad_type";
import { CustomParameter } from "../common/custom_parameter";
import { FinalAppUrl } from "../common/final_app_url";
/**
* An ad.
*
* @generated from protobuf message google.ads.googleads.v11.resources.Ad
*/
export interface Ad {
/**
* Immutable. The resource name of the ad.
* Ad resource names have the form:
*
* `customers/{customer_id}/ads/{ad_id}`
*
* @generated from protobuf field: string resource_name = 37;
*/
resourceName: string;
/**
* Output only. The ID of the ad.
*
* @generated from protobuf field: optional int64 id = 40;
*/
id?: bigint;
/**
* The list of possible final URLs after all cross-domain redirects for the
* ad.
*
* @generated from protobuf field: repeated string final_urls = 41;
*/
finalUrls: string[];
/**
* A list of final app URLs that will be used on mobile if the user has the
* specific app installed.
*
* @generated from protobuf field: repeated google.ads.googleads.v11.common.FinalAppUrl final_app_urls = 35;
*/
finalAppUrls: FinalAppUrl[];
/**
* The list of possible final mobile URLs after all cross-domain redirects
* for the ad.
*
* @generated from protobuf field: repeated string final_mobile_urls = 42;
*/
finalMobileUrls: string[];
/**
* The URL template for constructing a tracking URL.
*
* @generated from protobuf field: optional string tracking_url_template = 43;
*/
trackingUrlTemplate?: string;
/**
* The suffix to use when constructing a final URL.
*
* @generated from protobuf field: optional string final_url_suffix = 44;
*/
finalUrlSuffix?: string;
/**
* The list of mappings that can be used to substitute custom parameter tags
* in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
* For mutates, use url custom parameter operations.
*
* @generated from protobuf field: repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 10;
*/
urlCustomParameters: CustomParameter[];
/**
* The URL that appears in the ad description for some ad formats.
*
* @generated from protobuf field: optional string display_url = 45;
*/
displayUrl?: string;
/**
* Output only. The type of ad.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.AdTypeEnum.AdType type = 5;
*/
type: AdTypeEnum_AdType;
/**
* Output only. Indicates if this ad was automatically added by Google Ads and not by a
* user. For example, this could happen when ads are automatically created as
* suggestions for new ads based on knowledge of how existing ads are
* performing.
*
* @generated from protobuf field: optional bool added_by_google_ads = 46;
*/
addedByGoogleAds?: boolean;
/**
* The device preference for the ad. You can only specify a preference for
* mobile devices. When this preference is set the ad will be preferred over
* other ads when being displayed on a mobile device. The ad can still be
* displayed on other device types, for example, if no other ads are
* available. If unspecified (no device preference), all devices are targeted.
* This is only supported by some ad types.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.DeviceEnum.Device device_preference = 20;
*/
devicePreference: DeviceEnum_Device;
/**
* Additional URLs for the ad that are tagged with a unique identifier that
* can be referenced from other fields in the ad.
*
* @generated from protobuf field: repeated google.ads.googleads.v11.common.UrlCollection url_collections = 26;
*/
urlCollections: UrlCollection[];
/**
* Immutable. The name of the ad. This is only used to be able to identify the ad. It
* does not need to be unique and does not affect the served ad. The name
* field is currently only supported for DisplayUploadAd, ImageAd,
* ShoppingComparisonListingAd and VideoAd.
*
* @generated from protobuf field: optional string name = 47;
*/
name?: string;
/**
* Output only. If this ad is system managed, then this field will indicate the source.
* This field is read-only.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27;
*/
systemManagedResourceSource: SystemManagedResourceSourceEnum_SystemManagedResourceSource;
/**
* @generated from protobuf oneof: ad_data
*/
adData: {
oneofKind: "textAd";
/**
* Immutable. Details pertaining to a text ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.TextAdInfo text_ad = 6;
*/
textAd: TextAdInfo;
} | {
oneofKind: "expandedTextAd";
/**
* Details pertaining to an expanded text ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ExpandedTextAdInfo expanded_text_ad = 7;
*/
expandedTextAd: ExpandedTextAdInfo;
} | {
oneofKind: "callAd";
/**
* Details pertaining to a call ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.CallAdInfo call_ad = 49;
*/
callAd: CallAdInfo;
} | {
oneofKind: "expandedDynamicSearchAd";
/**
* Immutable. Details pertaining to an Expanded Dynamic Search Ad.
* This type of ad has its headline, final URLs, and display URL
* auto-generated at serving time according to domain name specific
* information provided by `dynamic_search_ads_setting` linked at the
* campaign level.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14;
*/
expandedDynamicSearchAd: ExpandedDynamicSearchAdInfo;
} | {
oneofKind: "hotelAd";
/**
* Details pertaining to a hotel ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.HotelAdInfo hotel_ad = 15;
*/
hotelAd: HotelAdInfo;
} | {
oneofKind: "shoppingSmartAd";
/**
* Details pertaining to a Smart Shopping ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ShoppingSmartAdInfo shopping_smart_ad = 17;
*/
shoppingSmartAd: ShoppingSmartAdInfo;
} | {
oneofKind: "shoppingProductAd";
/**
* Details pertaining to a Shopping product ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ShoppingProductAdInfo shopping_product_ad = 18;
*/
shoppingProductAd: ShoppingProductAdInfo;
} | {
oneofKind: "gmailAd";
/**
* Immutable. Details pertaining to a Gmail ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.GmailAdInfo gmail_ad = 21;
*/
gmailAd: GmailAdInfo;
} | {
oneofKind: "imageAd";
/**
* Immutable. Details pertaining to an Image ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ImageAdInfo image_ad = 22;
*/
imageAd: ImageAdInfo;
} | {
oneofKind: "videoAd";
/**
* Details pertaining to a Video ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.VideoAdInfo video_ad = 24;
*/
videoAd: VideoAdInfo;
} | {
oneofKind: "videoResponsiveAd";
/**
* Details pertaining to a Video responsive ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.VideoResponsiveAdInfo video_responsive_ad = 39;
*/
videoResponsiveAd: VideoResponsiveAdInfo;
} | {
oneofKind: "responsiveSearchAd";
/**
* Details pertaining to a responsive search ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ResponsiveSearchAdInfo responsive_search_ad = 25;
*/
responsiveSearchAd: ResponsiveSearchAdInfo;
} | {
oneofKind: "legacyResponsiveDisplayAd";
/**
* Details pertaining to a legacy responsive display ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28;
*/
legacyResponsiveDisplayAd: LegacyResponsiveDisplayAdInfo;
} | {
oneofKind: "appAd";
/**
* Details pertaining to an app ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AppAdInfo app_ad = 29;
*/
appAd: AppAdInfo;
} | {
oneofKind: "legacyAppInstallAd";
/**
* Immutable. Details pertaining to a legacy app install ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30;
*/
legacyAppInstallAd: LegacyAppInstallAdInfo;
} | {
oneofKind: "responsiveDisplayAd";
/**
* Details pertaining to a responsive display ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ResponsiveDisplayAdInfo responsive_display_ad = 31;
*/
responsiveDisplayAd: ResponsiveDisplayAdInfo;
} | {
oneofKind: "localAd";
/**
* Details pertaining to a local ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.LocalAdInfo local_ad = 32;
*/
localAd: LocalAdInfo;
} | {
oneofKind: "displayUploadAd";
/**
* Details pertaining to a display upload ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.DisplayUploadAdInfo display_upload_ad = 33;
*/
displayUploadAd: DisplayUploadAdInfo;
} | {
oneofKind: "appEngagementAd";
/**
* Details pertaining to an app engagement ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AppEngagementAdInfo app_engagement_ad = 34;
*/
appEngagementAd: AppEngagementAdInfo;
} | {
oneofKind: "shoppingComparisonListingAd";
/**
* Details pertaining to a Shopping Comparison Listing ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36;
*/
shoppingComparisonListingAd: ShoppingComparisonListingAdInfo;
} | {
oneofKind: "smartCampaignAd";
/**
* Details pertaining to a Smart campaign ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.SmartCampaignAdInfo smart_campaign_ad = 48;
*/
smartCampaignAd: SmartCampaignAdInfo;
} | {
oneofKind: "appPreRegistrationAd";
/**
* Details pertaining to an app pre-registration ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50;
*/
appPreRegistrationAd: AppPreRegistrationAdInfo;
} | {
oneofKind: "discoveryMultiAssetAd";
/**
* Details pertaining to a discovery multi asset ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.DiscoveryMultiAssetAdInfo discovery_multi_asset_ad = 51;
*/
discoveryMultiAssetAd: DiscoveryMultiAssetAdInfo;
} | {
oneofKind: "discoveryCarouselAd";
/**
* Details pertaining to a discovery carousel ad.
*
* @generated from protobuf field: google.ads.googleads.v11.common.DiscoveryCarouselAdInfo discovery_carousel_ad = 52;
*/
discoveryCarouselAd: DiscoveryCarouselAdInfo;
} | {
oneofKind: undefined;
};
}
declare class Ad$Type extends MessageType<Ad> {
constructor();
create(value?: PartialMessage<Ad>): Ad;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Ad): Ad;
internalBinaryWrite(message: Ad, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.ads.googleads.v11.resources.Ad
*/
export declare const Ad: Ad$Type;
export {};