Không giống như những mẫu quảng cáo được phân phát bởi các loại mục hàng khác, mẫu quảng cáo được phân phát bởi quảng cáo Tạo nhu cầu được tạo trong chính các tài nguyên AdGroupAd. Các thành phần hình ảnh và video được chỉ định cho quảng cáo để tạo các mẫu quảng cáo này được biểu thị trong Display & Video 360 API bằng các tài nguyên AdAsset.
Trước khi tạo tài nguyên AdGroupAd, hãy tạo các tài nguyên AdAsset có liên quan mà quảng cáo sẽ sử dụng nếu các tài nguyên đó chưa tồn tại. Nếu trước đây bạn đã tạo các thành phần này bằng giao diện người dùng hoặc API, thì bạn có thể truy xuất các thành phần hiện có bằng dịch vụ advertisers.adAssets get và phương thức list.
Tài nguyên AdAsset hình ảnh và video được tạo bằng nhiều phương thức:
- Bạn phải tải thành phần hình ảnh lên Display & Video 360 bằng phương thức
advertisers.adAssets.upload. - Bạn phải liên kết các thành phần video bằng mã video trên YouTube và tạo bằng phương thức
advertisers.adAssets.create.
adAssetId của tài nguyên AdAsset được dùng để liên kết một thành phần với quảng cáo Tạo nhu cầu.
Tải thành phần hình ảnh lên
Tải tệp hình ảnh lên để tạo thành phần AD_ASSET_TYPE_IMAGE. Bạn có thể dùng thành phần này làm biểu ngữ đi kèm, biểu trưng và hình ảnh tiếp thị.
Sau đây là cách tải một thành phần hình ảnh lên để tạo tài nguyên 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() );
Tạo thành phần trên YouTube
Cung cấp mã video trên YouTube để tạo thành phần AD_ASSET_TYPE_YOUTUBE_VIDEO có thể dùng trong quảng cáo Tạo nhu cầu dạng video.
Sau đây là cách tạo một thành phần video trên YouTube để tạo tài nguyên 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'] );