다른 유형의 광고 항목에서 게재되는 광고 소재와 달리 디맨드젠 캠페인 광고에서 게재되는 광고 소재는 AdGroupAd 리소스 자체에서 구성됩니다. 이러한 광고 소재를 만들기 위해 광고에 할당된 이미지 및 동영상 애셋은 Display & Video 360 API에서 AdAsset 리소스로 표시됩니다.
AdGroupAd 리소스를 만들기 전에 광고에서 사용할 관련 AdAsset 리소스가 아직 없는 경우 이를 만듭니다. 이전에 UI 또는 API를 사용하여 생성된 경우 advertisers.adAssets 서비스 get 및 list 메서드를 사용하여 기존 애셋을 가져올 수 있습니다.
이미지 및 동영상 AdAsset 리소스는 다음과 같은 다양한 방법으로 생성됩니다.
- 이미지 애셋은
advertisers.adAssets.upload메서드를 사용하여 Display & Video 360에 업로드해야 합니다. - 동영상 애셋은 YouTube 동영상 ID를 사용하여 연결해야 하며
advertisers.adAssets.create메서드를 사용하여 만들어야 합니다.
AdAsset 리소스의 adAssetId은 확장 소재를 디맨드젠 캠페인 광고와 연결하는 데 사용됩니다.
이미지 애셋 업로드
이미지 파일을 업로드하여 컴패니언 배너, 로고, 마케팅 이미지로 사용할 수 있는 AD_ASSET_TYPE_IMAGE 애셋을 만듭니다.
이미지 확장 소재를 업로드하여 AdAsset 리소스를 만드는 방법은 다음과 같습니다.
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.")
YouTube 애셋 만들기
YouTube 동영상 ID를 제공하여 디맨드젠 캠페인 동영상 광고에서 사용할 수 있는 AD_ASSET_TYPE_YOUTUBE_VIDEO 애셋을 만듭니다.
AdAsset 리소스를 만들기 위해 YouTube 동영상 애셋을 만드는 방법은 다음과 같습니다.
Python
# Provide the ID of the parent advertiser. advertiser_id = advertiser-id # Provide the ID of the parent insertion order. youtube_video_id = youtube-video-id # Create a line item object with example values. ad_asset_create_body = { "adAsset": { "adAssetType": "AD_ASSET_TYPE_YOUTUBE_VIDEO", "youtubeVideoAsset": {"youtubeVideoId": youtube_video_id}, } } # Build and execute request. 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.")