สร้างชิ้นงานโฆษณา

ครีเอทีฟโฆษณาที่แสดงโดยโฆษณา Demand Gen จะสร้างขึ้นในชิ้นงาน AdGroupAd เอง ซึ่งแตกต่างจากครีเอทีฟโฆษณาที่แสดงโดยรายการโฆษณาประเภทอื่นๆ ชิ้นงานรูปภาพและวิดีโอที่กำหนดให้กับโฆษณาเพื่อสร้างครีเอทีฟโฆษณาเหล่านี้ จะแสดงใน Display & Video 360 API ด้วย AdAsset ทรัพยากร

ก่อนสร้างชิ้นงาน AdGroupAd ให้สร้างชิ้นงานที่เกี่ยวข้อง AdAsset ที่โฆษณาจะใช้หากยังไม่มี หากสร้างชิ้นงานไว้ก่อนหน้านี้โดยใช้ UI หรือ API คุณสามารถดึงข้อมูล ชิ้นงานที่มีอยู่โดยใช้บริการ advertisers.adAssets วิธี get และ list

ชิ้นงานรูปภาพและวิดีโอ AdAsset สร้างขึ้นโดยใช้วิธีการต่างๆ ดังนี้

  • ต้องอัปโหลดชิ้นงานรูปภาพไปยัง Display & Video 360 โดยใช้วิธี advertisers.adAssets.upload
  • ต้องเชื่อมโยงชิ้นงานวิดีโอโดยใช้รหัสวิดีโอ YouTube และสร้างขึ้นโดยใช้วิธี advertisers.adAssets.create

ระบบจะใช้ adAssetId ของชิ้นงาน AdAsset เพื่อเชื่อมโยงชิ้นงานกับโฆษณา Demand Gen

อัปโหลดชิ้นงานรูปภาพ

อัปโหลดไฟล์รูปภาพเพื่อสร้างชิ้นงาน AD_ASSET_TYPE_IMAGE ที่ใช้เป็นแบนเนอร์ที่แสดงร่วม โลโก้ และรูปภาพทางการตลาดได้

วิธีอัปโหลดชิ้นงานรูปภาพเพื่อสร้างชิ้นงาน AdAsset

Java

// Provide the parent advertiser ID to upload the media file under.
long advertiserId = advertiser-id;

// Provide the local path to the media file.
String assetPath = asset-path;

// Get filename from path.
String assetFilename = new File(assetPath).getName();

// Create the asset upload request content.
UploadAdAssetRequest content =
    new UploadAdAssetRequest()
        .setFilename(assetFilename)
        .setAdAssetType("AD_ASSET_TYPE_IMAGE");

// Parse filename for appropriate MIME type.
FileNameMap filenameMap = URLConnection.getFileNameMap();
String mimeType = filenameMap.getContentTypeFor(assetFilename);
if (mimeType == null) {
  mimeType = "application/octet-stream";
}

// Create input stream for the ad asset.
InputStreamContent assetStream =
    new InputStreamContent(mimeType, new FileInputStream(assetPath));

// Configure the ad asset upload request.
AdAssets.Upload uploadRequest =
    service
        .advertisers()
        .adAssets()
        .upload(advertiserId, content, assetStream);

// Upload the asset.
UploadAdAssetResponse assetResponse = uploadRequest.execute();

// Display the new asset media ID.
System.out.printf(
    "Ad asset was created with asset ID %s.",
    assetResponse.getAdAsset().getAdAssetId());

Python

# Import the object used as the media body for the upload request.
from apiclient.http import MediaFileUpload

# Provide the parent advertiser ID to upload the media file under.
advertiser_id = advertiser-id

# Provide the filename and local path to the media file.
asset_filename = asset-filename
asset_path = asset-path

# Create the request body.
body = {"filename": asset_filename, "adAssetType": "AD_ASSET_TYPE_IMAGE"}

# Create the upload object and use a default MIME type if not identified.
media = MediaFileUpload(asset_path)
if not media.mimetype():
  media = MediaFileUpload(asset_path, "application/octet-stream")

# Upload the asset.
upload_response = (
    service.advertisers()
    .adAssets()
    .upload(advertiserId=advertiser_id, body=body, media_body=media)
    .execute()
)

# Display the new ad asset.
print(f"Ad asset {upload_response['adAsset']['name']} was created.")

PHP

// Provide the parent advertiser ID to upload the media file under.
$advertiserId = advertiser-id;

// Provide the local path to the media file.
$assetPath = asset-path;

// Provide the name of the media file.
$assetFilename = asset-filename;

// Create the request object.
$body = new Google_Service_DisplayVideo_UploadAdAssetRequest();
$body->setFilename($assetFilename);
$body->setAdAssetType('AD_ASSET_TYPE_IMAGE');

// Set the query parameters
$optParams = array(
    'data' => file_get_contents($assetPath),
    'mimeType' => mime_content_type($assetFilename),
    'uploadType' => 'media'
);

// Upload the asset.
try {
    $result = $this->service->advertisers_adAssets->upload(
        $advertiserId,
        $body,
        $optParams
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Display the new ad asset.
printf(
    '<p>Ad Asset was created with asset ID %s.</p>',
    $result->getAdAsset()->getAdAssetId()
);

สร้างชิ้นงาน YouTube

ระบุรหัสวิดีโอ YouTube เพื่อสร้างชิ้นงาน AD_ASSET_TYPE_YOUTUBE_VIDEO ที่ใช้ในโฆษณาวิดีโอ Demand Gen ได้

วิธีสร้างชิ้นงานวิดีโอ YouTube เพื่อสร้างชิ้นงาน AdAsset

Java

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

// Provide the YouTube video ID.
String youtubeVideoId = youtube-video-id;

// Create the ad asset structure.
AdAsset adAsset =
    new AdAsset()
        .setAdAssetType("AD_ASSET_TYPE_YOUTUBE_VIDEO")
        .setYoutubeVideoAsset(
            new YoutubeVideoAsset().setYoutubeVideoId(youtubeVideoId));

// Configure the create request.
AdAssets.Create request =
    service
        .advertisers()
        .adAssets()
        .create(
            advertiserId, new CreateAdAssetRequest().setAdAsset(adAsset));

// Create the ad asset.
AdAsset response = request.execute();

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

Python

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

# Provide the YouTube video ID.
youtube_video_id = youtube-video-id

# Create the ad asset structure.
ad_asset_create_body = {
    "adAsset": {
        "adAssetType": "AD_ASSET_TYPE_YOUTUBE_VIDEO",
        "youtubeVideoAsset": {"youtubeVideoId": youtube_video_id},
    }
}

# Create the ad asset.
response = (
    service.advertisers()
    .adAssets()
    .create(advertiserId=advertiser_id, body=ad_asset_create_body)
    .execute()
)

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

PHP

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

// Provide the YouTube video ID.
$youtubeVideoId = youtube-video-id;

// Create the ad asset structure.
$youtubeVideoAsset =
    new Google_Service_DisplayVideo_YoutubeVideoAsset();
$youtubeVideoAsset->setYoutubeVideoId($youtubeVideoId);
$adAsset = new Google_Service_DisplayVideo_AdAsset();
$adAsset->setAdAssetType('AD_ASSET_TYPE_YOUTUBE_VIDEO');
$adAsset->setYoutubeVideoAsset($youtubeVideoAsset);

// Create the create request.
$createAdAssetRequest =
    new Google_Service_DisplayVideo_CreateAdAssetRequest();
$createAdAssetRequest->setAdAsset($adAsset);

// Create the ad asset.
try {
    $result =
        $this->service->advertisers_adAssets->create(
            $advertiserId,
            $createAdAssetRequest
        );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

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