A diferencia de las que publican otros tipos de líneas de pedido, las creatividades que publican los anuncios de generación de demanda se crean en los AdGroupAd recursos ellos mismos. Los recursos de imagen y video asignados a los anuncios para crear estas creatividades
se representan en la API de Display & Video 360 mediante recursos AdAsset.
Antes de crear un recurso AdGroupAd, crea los recursos
AdAsset pertinentes que usará el anuncio si aún no
existen. Si se crearon anteriormente con la IU o la API, puedes recuperar
los recursos existentes con los métodos get
y list del servicio advertisers.adAssets.
Los recursos AdAsset de imagen y video se crean con diferentes
métodos:
- Los recursos de imagen se deben subir a Display & Video 360 con el
advertisers.adAssets.uploadmétodo. - Los recursos de video se deben asociar con un ID de video de YouTube y crear con el
advertisers.adAssets.createmétodo.
El adAssetId de un recurso AdAsset se usa
para asociar un recurso con un anuncio de generación de demanda.
Cómo subir recursos de imagen
Sube archivos de imagen para crear recursos AD_ASSET_TYPE_IMAGE que se puedan usar como banners complementarios, logotipos e imágenes de marketing.
Para subir un recurso de imagen y crear un recurso AdAsset
, sigue estos pasos:
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() );
Cómo crear recursos de YouTube
Proporciona IDs de videos de YouTube para crear recursos AD_ASSET_TYPE_YOUTUBE_VIDEO que se puedan usar en los anuncios de video de generación de demanda.
Para crear un recurso de video de YouTube y crear un
AdAsset recurso, sigue estos pasos:
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'] );