制作需求开发广告

需求开发广告系列广告会构建在赢得广告竞价时向用户投放的广告素材。 AdGroupAd 资源会在联合字段 ad_details 下配置相关广告素材选项。

配置广告详细信息

需求开发广告系列广告有四种类型。每个 AdGroupAd 资源只能是一种类型。每种类型都在联合字段 ad_details 下的单独字段中进行配置:

每个字段的说明中都有指向相关广告类型要求的链接。创建 AdGroupAd 资源时,只能填充其中一个字段。

按类型划分的图片尺寸和分辨率要求

每种广告类型都需要不同尺寸的图片素材资源。

下表列出了图片类型和相关文件限制:

图片类型
随播横幅广告

文件大小上限:150 KB

尺寸:300x60

横向图片

文件大小上限:5120 KB

建议尺寸:1200x628,最小:600x314

徽标图片

文件大小上限:5120 KB

建议尺寸:1200x1200,最小:128x128

纵向图片

文件大小上限:5120 KB

建议尺寸:960x1200,最小:480x600

方形图片

文件大小上限:5120 KB

建议尺寸:1200x1200,最小:300x300

制作广告

以下是如何制作需求开发广告系列视频广告:

Java

// Provide the ID of the parent advertiser.
long advertiserId = advertiser-id;

// Provide the ID of the parent ad group.
long adGroupId = ad-group-id;

// Provide the display name of the ad.
String displayName = display-name;

// Provide the information for the ad creative.
String finalAdUrl = final-ad-url;
String callToAction = call-to-action;
String headline = headline;
String longHeadline = long-headline;
String description = description;
String businessName = business-name;
long youtubeAssetId = youtube-video-asset-id;
long logoAssetId = logo-asset-id;

// Create the ad structure.
AdGroupAd ad =
    new AdGroupAd()
        .setAdGroupId(adGroupId)
        .setDisplayName(displayName)
        .setEntityStatus("ENTITY_STATUS_PAUSED")
        .setDemandGenVideoAd(
            new DemandGenVideoAd()
                .setFinalUrl(finalAdUrl)
                .setCallToAction(callToAction)
                .setHeadlines(Arrays.asList(headline))
                .setLongHeadlines(Arrays.asList(longHeadline))
                .setDescriptions(Arrays.asList(description))
                .setBusinessName(businessName)
                .setVideos(
                    Arrays.asList(
                        new YoutubeVideoDetails()
                            .setVideoAssetId(youtubeAssetId)))
                .setLogo(new ImageAsset().setAssetId(logoAssetId)));

// Configure the create request.
AdGroupAds.Create request =
    service.advertisers().adGroupAds().create(advertiserId, ad);

// Create the ad group.
AdGroupAd response = request.execute();

// Display the new ad.
System.out.printf("Demand Gen ad %s was created.", response.getName());

Python

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the parent ad group.
ad_group_id = ad-group-id

# Provide the display name of the ad.
display_name = display-name

# Provide the information for the ad creative.
final_ad_url = final-ad-url
call_to_action = call-to-action
headline = headline
long_headline = long-headline
description = description
business_name = business-name
youtube_asset_id = youtube-video-asset-id
logo_asset_id = logo-asset-id

# Create the ad object.
ad_obj = {
    "adGroupId": ad_group_id,
    "displayName": display_name,
    "entityStatus": "ENTITY_STATUS_PAUSED",
    "demandGenVideoAd": {
        "finalUrl": final_ad_url,
        "callToAction": call_to_action,
        "headlines": [headline],
        "longHeadlines": [long_headline],
        "descriptions": [description],
        "businessName": business_name,
        "videos": [{"videoAssetId": youtube_asset_id}],
        "logo": {"assetId": logo_asset_id}
    }
}

# Build and execute request.
response = (
    service.advertisers()
    .adGroupAds()
    .create(advertiserId=advertiser_id, body=ad_obj)
    .execute()
)

# Display the new ad.
print(f"Demand Gen ad {response['name']} was created.")

PHP

// Provide the ID of the parent advertiser.
$advertiserId = advertiser-id;

// Provide the ID of the parent ad group.
$adGroupId = ad-group-id;

// Provide the display name of the ad.
$displayName = display-name;

// Provide the information for the ad creative.
$finalAdUrl = final-ad-url;
$callToAction = call-to-action;
$headline = headline;
$longHeadline = long-headline;
$description = description;
$businessName = business-name;
$youtubeAssetId = youtube-video-asset-id;
$logoAssetId = logo-asset-id;

// Create the ad structure.
$ad = new Google_Service_DisplayVideo_AdGroupAd();
$ad->setAdGroupId($adGroupId);
$ad->setDisplayName($displayName);
$ad->setEntityStatus('ENTITY_STATUS_PAUSED');

// Create the Demand Gen video ad creative.
$demandGenVideoAd = new Google_Service_DisplayVideo_DemandGenVideoAd();
$demandGenVideoAd->setFinalUrl($finalAdUrl);
$demandGenVideoAd->setCallToAction($callToAction);
$demandGenVideoAd->setHeadlines(array($headline));
$demandGenVideoAd->setLongHeadlines(array($longHeadline));
$demandGenVideoAd->setDescriptions(array($description));
$demandGenVideoAd->setBusinessName($businessName);

// Assign the video asset to the ad creative.
$youtubeVideoAsset =
    new Google_Service_DisplayVideo_YoutubeVideoDetails();
$youtubeVideoAsset->setVideoAssetId($youtubeAssetId);
$demandGenVideoAd->setVideos(array($youtubeVideoAsset));

// Assign the logo asset to the ad creative.
$imageAsset = new Google_Service_DisplayVideo_ImageAsset();
$imageAsset->setAssetId($logoAssetId);
$demandGenVideoAd->setLogo($imageAsset);

// Assign the Demand Gen video ad to the ad.
$ad->setDemandGenVideoAd($demandGenVideoAd);

// Call the API, creating the ad under the advertiser and ad group given.
try {
    $result = $this->service->advertisers_adGroupAds->create(
        $advertiserId,
        $ad
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Display the new ad.
printf('<p>Ad %s was created.</p>', $result['name']);