ครีเอทีฟโฆษณาที่แสดงโดยโฆษณา 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'] );