Créez des composants d'annonces.

Contrairement aux créations diffusées par d'autres types d'éléments de campagne, celles diffusées par les annonces axées sur la demande sont construites dans les ressources AdGroupAd elles-mêmes. Les composants image et vidéo attribués aux annonces pour créer ces créations sont représentés dans l'API Display & Video 360 par des ressources AdAsset.

Avant de créer une ressource AdGroupAd, créez les ressources AdAsset pertinentes que l'annonce utilisera si elles n'existent pas déjà. S'ils ont été créés précédemment à l'aide de l'UI ou de l'API, vous pouvez récupérer les composants existants à l'aide des méthodes get et list du service advertisers.adAssets.

Les ressources AdAsset d'image et de vidéo sont créées à l'aide de différentes méthodes :

  • Les composants Image doivent être importés dans Display & Video 360 à l'aide de la méthode advertisers.adAssets.upload.
  • Les composants vidéo doivent être associés à l'aide d'un ID vidéo YouTube et créés à l'aide de la méthode advertisers.adAssets.create.

Le adAssetId d'une ressource AdAsset est utilisé pour associer un composant à une annonce Demand Gen.

Importer des composants Image

Importez des fichiers image pour créer des composants AD_ASSET_TYPE_IMAGE pouvant être utilisés comme bannières associées, logos et images marketing.

Voici comment importer un composant Image pour créer une ressource 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()
);

Créer des composants YouTube

Fournissez des ID de vidéos YouTube pour créer des composants AD_ASSET_TYPE_YOUTUBE_VIDEO pouvant être utilisés dans les annonces vidéo de génération de la demande.

Voici comment créer un composant vidéo YouTube pour créer une ressource 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']
);