광고 애셋 업로드

Display & Video 360에서 호스팅하는 광고 소재는 Asset 객체로 빌드됩니다. 애셋은 mediaId 또는 일부 텍스트 content로 정의됩니다. upload 메서드를 사용하여 광고 소재 객체를 만들기 전에 애셋에 사용할 미디어를 업로드합니다.

애셋은 이를 사용하는 광고 소재와 동일한 상위 광고주가 있어야 합니다. 여러 광고주에서 확장 소재를 사용하려면 각 광고주에 미디어 파일을 업로드하세요.

미디어 애셋을 업로드하는 방법은 다음과 같습니다.

자바

// 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
CreateAssetRequest content = new CreateAssetRequest().setFilename(assetFilename);

// 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 creative asset.
InputStreamContent assetStream =
    new InputStreamContent(mimeType, new FileInputStream(assetPath));

// Configure the asset upload request.
Assets.Upload assetRequest =
    service.advertisers().assets().upload(advertiserId, content, assetStream);

// Upload the asset.
CreateAssetResponse assetResponse = assetRequest.execute();

// Display the new asset media ID.
System.out.printf("Asset was created with media ID %s.", assetResponse.getAsset().getMediaId());

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}

# 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()
    .assets()
    .upload(advertiserId=advertiser_id, body=body, media_body=media)
    .execute()
)

# Print resulting media ID.
print(
    f'Asset was created with media ID {upload_response["asset"]["mediaId"]}.'
)

PHP

// Configure the asset upload request.
$body = new Google_Service_DisplayVideo_CreateAssetRequest();
$body->setFilename(asset-filename);
$optParams = array(
    'data' => file_get_contents(asset-path),
    'mimeType' => mime_content_type(asset-filename),
    'uploadType' => 'media'
);

// Call the API to upload the creative asset.
try {
    $result = $service->advertisers_assets->upload(
        advertiser-id
        $body,
        $optParams
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Display the new asset media ID.
printf(
    '<p>Asset was created with media ID %s.</p>',
    $result->getAsset()->getMediaId()
);

cURL

curl --request POST \
  'https://displayvideo.googleapis.com/upload/v4/advertisers/advertiser-id/assets?uploadType=multipart'
  --header 'Authorization: Bearer access-token' \
   -F "data={\"filename\": \"asset-filename\"};type=application/json;charset=UTF-8" \
   -F "file=@asset-path;type=asset-mime-type"