Bu kılavuzda, reklam öğelerinin nasıl yükleneceği ve
Görüntülü Reklam ve Video 360
Creative
Display &Video 360 Video 360 API'si
advertisers.assets
ve
advertisers.creatives
hizmetleri.
Ön koşullar
Görüntülü Reklam Ağı ve Görüntülü Reklam Ağı kampanyalarını kullanarak reklam öğeleri oluşturmadan önce aşağıdaki adımları Video 360 API.
Görüntülü Reklam Ağı ve Bir kullanıcı veya hizmet tarafından tanımlanan Video 360 kullanıcı profili hesap e-posta adresine sahip, Okuma ve yazma izinlerini belirlemektir. Okuma ve yazma izinleri varsa bir Yönetici kullanıcının mevcut olması gerekir.
Yeni reklam öğesi oluşturma
Görüntülü Reklam Ağı ve Görüntülü Reklam Ağı kampanyalarını kullanarak yeni öğelerle Video 360 API için gereken: en az iki API isteği. İlki bir reklam öğesi yükler, ikincisi ise reklam nesnesini oluşturur.
Öğe yükle
Gerekli reklam öğesini assets
Display &Video 360'a yüklemek Video 360
advertisers.assets.upload
yöntemini çağırın.
Öğe, reklam öğesiyle aynı reklamverene atanmalıdır.
Öğe yükledikten sonra API, öğenin adını içeren
asset
nesnesini içerir. Bu asset
nesnesini alamazsınız
o yüzden ilgili mediaId
ile ilgili not alın. İlgili içeriği oluşturmak için kullanılan
Bu öğenin mediaId
kadarı, öğeyi bir
reklam öğesidir.
Belirli reklam türleri, belirli öğeler olarak sadece belirli dosya türlerini kabul eder öğe rolleri. Şu konular hakkında daha fazla bilgi edinmek için Yardım Merkezi'ne göz atın: reklam öğeleriniz için doğru dosya türlerini seçme.
Aşağıda, öğe yüklemeyle ilgili bir örnek verilmiştir:
Java
// Create the asset upload request content.
CreateAssetRequest content = new CreateAssetRequest();
content.setFilename(asset-filename);
// Create input stream for the creative asset.
InputStreamContent assetStream = new InputStreamContent(
getMimeType(asset-filename),
new FileInputStream(asset-path));
// Configure the asset upload request.
Assets.Upload assetRequest = service.advertisers().assets()
.upload(advertiser-id, content, assetStream);
// Upload the asset.
CreateAssetResponse assetResponse = assetRequest.execute();
// Display the new asset media ID.
Asset asset = assetResponse.getAsset();
System.out.printf("The asset has been upload with media ID %s",
asset.getMediaId());
Bu örnekte, MIME dosyasını bulmak için aşağıdaki yardımcı işlev kullanılmaktadır tür:
import java.net.FileNameMap;
import java.net.URLConnection;
private static String getMimeType(String fileName) {
// Parse filename for appropriate MIME type.
FileNameMap fileNameMap = URLConnection.getFileNameMap();
String mimeType = fileNameMap.getContentTypeFor(fileName);
// If MIME type was found, return it.
if (mimeType != null) {
return mimeType;
}
// Otherwise, return a default value.
return "application/octet-stream";
}
Python
# Create the request body.
body = {
'filename': asset-filename
}
# Create upload object.
media = MediaFileUpload(asset-path)
if not media.mimetype():
media = MediaFileUpload(asset-path, 'application/octet-stream')
# Upload the asset.
response = service.advertisers().assets().upload(
advertiserId=advertiser-id,
body=body,
media_body=media
).execute()
# Display the new asset media ID.
print("Asset was created with media ID %s." % response['asset']['mediaId'])
PHP
$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, uploading the asset file to Display & Video 360.
$result = $service->advertisers_assets->upload(
advertiser-id,
$body,
$optParams
);
// Display the new asset media ID.
printf(
'Asset was created with media ID %s.',
$result->getAsset()->getMediaId()
);
cURL
curl --request POST \
'https://displayvideo.googleapis.com/upload/v3/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"
Reklam öğesini oluşturma
Öğeleri yükledikten ve medya kimliklerini aldıktan sonra, tüm reklam öğelerini
Bu öğelere sahip Creative
nesne.
Yeni bir sütun oluşturmak için advertisers.creatives.create
yöntemini kullanın
Creative
. Her reklam öğesi türü, Creative
alanlarının yalnızca bir alt kümesini gerektirir.
Kullanıcı arayüzü alanlarının karşılık gelen API alanlarını ifade eder.
Aşağıda, yerel görüntülü reklam, HTML5 ve video reklam öğelerinin nasıl oluşturulacağına ilişkin örnekler verilmiştir:
Yerel görüntülü reklam
Java
// Create a creative object.
Creative creative = new Creative();
creative.setDisplayName(display-name);
creative.setEntityStatus("ENTITY_STATUS_ACTIVE");
creative.setHostingSource("HOSTING_SOURCE_HOSTED");
// Set native creative type.
creative.setCreativeType("CREATIVE_TYPE_NATIVE");
// Create a dimensions object.
Dimensions dimensions = new Dimensions();
dimensions.setHeightPixels(creative-height-pixels);
dimensions.setWidthPixels(creative-width-pixels);
// Add the dimensions object to the creative object.
creative.setDimensions(dimensions);
// Create list for asset associations.
List<AssetAssociation> assetAssociations = new ArrayList<AssetAssociation>();
// Assign the image asset to a role.
AssetAssociation mainImageAssetAssociation = new AssetAssociation();
mainImageAssetAssociation.setAsset(new Asset().setMediaId(image-asset-media-id));
mainImageAssetAssociation.setRole("ASSET_ROLE_MAIN");
assetAssociations.add(mainImageAssetAssociation);
// Assign the logo asset to a role.
AssetAssociation iconAssetAssociation = new AssetAssociation();
iconAssetAssociation.setAsset(new Asset().setMediaId(logo-asset-media-id));
iconAssetAssociation.setRole("ASSET_ROLE_ICON");
assetAssociations.add(iconAssetAssociation);
// Create and assign advertiser name asset.
Asset advertiserNameAsset = new Asset();
advertiserNameAsset.setContent(advertiser-name);
AssetAssociation advertiserNameAssetAssociation = new AssetAssociation();
advertiserNameAssetAssociation.setAsset(advertiserNameAsset);
advertiserNameAssetAssociation.setRole("ASSET_ROLE_ADVERTISER_NAME");
assetAssociations.add(advertiserNameAssetAssociation);
// Create and assign headline asset.
Asset headlineAsset = new Asset();
headlineAsset.setContent(headline);
AssetAssociation headlineAssetAssociation = new AssetAssociation();
headlineAssetAssociation.setAsset(headlineAsset);
headlineAssetAssociation.setRole("ASSET_ROLE_HEADLINE");
assetAssociations.add(headlineAssetAssociation);
// Create and assign body text asset.
Asset bodyTextAsset = new Asset();
bodyTextAsset.setContent(body-text);
AssetAssociation bodyTextAssetAssociation = new AssetAssociation();
bodyTextAssetAssociation.setAsset(bodyTextAsset);
bodyTextAssetAssociation.setRole("ASSET_ROLE_BODY");
assetAssociations.add(bodyTextAssetAssociation);
// Create and assign caption URL asset.
Asset captionUrlAsset = new Asset();
captionUrlAsset.setContent(caption-url);
AssetAssociation captionUrlAssetAssociation = new AssetAssociation();
captionUrlAssetAssociation.setAsset(captionUrlAsset);
captionUrlAssetAssociation.setRole("ASSET_ROLE_CAPTION_URL");
assetAssociations.add(captionUrlAssetAssociation);
// Create and assign call to action asset.
Asset callToActionAsset = new Asset();
callToActionAsset.setContent(call-to-action);
AssetAssociation callToActionAssetAssociation = new AssetAssociation();
callToActionAssetAssociation.setAsset(callToActionAsset);
callToActionAssetAssociation.setRole("ASSET_ROLE_CALL_TO_ACTION");
assetAssociations.add(callToActionAssetAssociation);
// Create and set the list of creative assets.
creative.setAssets(assetAssociations);
// Create an exit event.
ExitEvent exitEvent = new ExitEvent();
exitEvent.setType("EXIT_EVENT_TYPE_DEFAULT");
exitEvent.setUrl(landing-page-url);
// Create and set the list of exit events for the creative.
creative.setExitEvents(ImmutableList.of(exitEvent));
// Configure the create request.
Creatives.Create request =
service.advertisers().creatives().create(advertiser-id, creative);
// Send the request.
Creative response = request.execute();
// Display the new creative.
System.out.printf(
"Creative %s was created.\n",
response.getName());
Python
# Create a creative object.
creative_obj = {
'displayName': display-name,
'entityStatus': 'ENTITY_STATUS_ACTIVE',
'hostingSource': 'HOSTING_SOURCE_HOSTED',
'creativeType': 'CREATIVE_TYPE_NATIVE',
'dimensions': {
'heightPixels': creative-height-pixels,
'widthPixels': creative-width-pixels
},
'assets': [
{
'asset': {'mediaId' : image-asset-media-id},
'role': 'ASSET_ROLE_MAIN'
},
{
'asset': {'mediaId' : logo-asset-media-id},
'role': 'ASSET_ROLE_ICON'
},
{
'asset': {'content' : advertiser-name},
'role': 'ASSET_ROLE_ADVERTISER_NAME'
},
{
'asset': {'content' : headline},
'role': 'ASSET_ROLE_HEADLINE'
},
{
'asset': {'content' : body-text},
'role': 'ASSET_ROLE_BODY'
},
{
'asset': {'content' : caption-url},
'role': 'ASSET_ROLE_CAPTION_URL'
},
{
'asset': {'content' : call-to-action},
'role': 'ASSET_ROLE_CALL_TO_ACTION'
},
],
'exitEvents': [
{
'type': 'EXIT_EVENT_TYPE_DEFAULT',
'url': landing-page-url
}
]
}
# Create the creative.
creative = service.advertisers().creatives().create(
advertiserId=advertiser-id,
body=creative_obj
).execute()
# Display the new creative.
print("creative %s was created." % creative["name"])
PHP
// Create a creative object.
$creative = new Google_Service_DisplayVideo_Creative();
$creative->setDisplayName(display-name);
$creative->setEntityStatus('ENTITY_STATUS_ACTIVE');
$creative->setHostingSource('HOSTING_SOURCE_HOSTED');
// Set native creative type.
$creative->setCreativeType('CREATIVE_TYPE_NATIVE');
// Create a dimensions object.
$dimensions = new Google_Service_DisplayVideo_Dimensions();
$dimensions->setHeightPixels(creative-height-pixels);
$dimensions->setWidthPixels(creative-width-pixels);
// Add the dimensions object to the creative object.
$creative->setDimensions($dimensions);
// Create list for asset associations.
$assetAssociations = array();
// Assign the image asset to a role.
$imageAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$imageAsset = new Google_Service_DisplayVideo_Asset();
$imageAsset->setMediaId(image-asset-media-id);
$imageAssetAssoc->setAsset($imageAsset);
$imageAssetAssoc->setRole('ASSET_ROLE_MAIN');
$assetAssociations[] = $imageAssetAssoc;
// Assign the logo asset to a role.
$iconAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$iconAsset = new Google_Service_DisplayVideo_Asset();
$iconAsset->setMediaId(logo-asset-media-id);
$iconAssetAssoc->setAsset($iconAsset);
$iconAssetAssoc->setRole('ASSET_ROLE_ICON');
$assetAssociations[] = $iconAssetAssoc;
// Create and assign advertiser name asset.
$advNameAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$advNameAsset = new Google_Service_DisplayVideo_Asset();
$advNameAsset->setContent(advertiser-name);
$advNameAssetAssoc->setAsset($advNameAsset);
$advNameAssetAssoc->setRole('ASSET_ROLE_ADVERTISER_NAME');
$assetAssociations[] = $advNameAssetAssoc;
// Create and assign headline asset.
$headlineAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$headlineAsset = new Google_Service_DisplayVideo_Asset();
$headlineAsset->setContent(headline);
$headlineAssetAssoc->setAsset($headlineAsset);
$headlineAssetAssoc->setRole('ASSET_ROLE_HEADLINE');
$assetAssociations[] = $headlineAssetAssoc;
// Create and assign body text asset.
$bodyTextAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$bodyTextAsset = new Google_Service_DisplayVideo_Asset();
$bodyTextAsset->setContent(body-text);
$bodyTextAssetAssoc->setAsset($bodyTextAsset);
$bodyTextAssetAssoc->setRole('ASSET_ROLE_BODY');
$assetAssociations[] = $bodyTextAssetAssoc;
// Create and assign caption URL asset.
$captionUrlAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$captionUrlAsset = new Google_Service_DisplayVideo_Asset();
$captionUrlAsset->setContent(caption-url);
$captionUrlAssetAssoc->setAsset($captionUrlAsset);
$captionUrlAssetAssoc->setRole('ASSET_ROLE_CAPTION_URL');
$assetAssociations[] = $captionUrlAssetAssoc;
// Create and assign call to action asset.
$cToAAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$cToAAsset = new Google_Service_DisplayVideo_Asset();
$cToAAsset->setContent(call-to-action);
$cToAAssetAssoc->setAsset($cToAAsset);
$cToAAssetAssoc->setRole('ASSET_ROLE_CALL_TO_ACTION');
$assetAssociations[] = $cToAAssetAssoc;
// Set the list of creative assets.
$creative->setAssets($assetAssociations);
// Create an exit event.
$exitEvent = new Google_Service_DisplayVideo_ExitEvent();
$exitEvent->setType('EXIT_EVENT_TYPE_DEFAULT');
$exitEvent->setUrl(landing-page-url);
// Create and set the list of exit events for the creative.
$creative->setExitEvents(array($exitEvent));
// Send the create request.
$result = $this->service->advertisers_creatives->create(
advertiser-id,
$creative
);
printf('Creative %s was created.', $result['name']);
HTML5
Java
// Create a creative object.
Creative creative = new Creative();
creative.setDisplayName(display-name);
creative.setEntityStatus("ENTITY_STATUS_ACTIVE");
creative.setHostingSource("HOSTING_SOURCE_HOSTED");
// Set standard creative type.
creative.setCreativeType("CREATIVE_TYPE_STANDARD");
// Create a dimensions object.
Dimensions dimensions = new Dimensions();
dimensions.setHeightPixels(creative-height-pixels);
dimensions.setWidthPixels(creative-width-pixels);
// Add the dimensions object to the creative object.
creative.setDimensions(dimensions);
// Assign the HTML5 asset to a role.
AssetAssociation assetAssociation = new AssetAssociation();
assetAssociation.setAsset(new Asset().setMediaId(html5-asset-media-id));
assetAssociation.setRole("ASSET_ROLE_MAIN");
// Create and set the list of creative assets.
creative.setAssets(ImmutableList.of(assetAssociation));
// Create an exit event.
ExitEvent exitEvent = new ExitEvent();
exitEvent.setName(exit-event-name);
exitEvent.setType("EXIT_EVENT_TYPE_DEFAULT");
exitEvent.setUrl(exit-event-url);
// Create and set the list of exit events for the creative.
creative.setExitEvents(ImmutableList.of(exitEvent));
// Configure the create request.
Creatives.Create request =
service.advertisers().creatives().create(advertiser-id, creative);
// Send the request.
Creative response = request.execute();
// Display the new creative.
System.out.printf(
"Creative %s was created.\n",
response.getName());
Python
# Create a creative object.
creative_obj = {
'displayName': display-name,
'entityStatus': 'ENTITY_STATUS_ACTIVE',
'hostingSource': 'HOSTING_SOURCE_HOSTED',
'creativeType': 'CREATIVE_TYPE_STANDARD',
'dimensions': {
'heightPixels': creative-height-pixels,
'widthPixels': creative-width-pixels
},
'assets': [
{
'asset': {'mediaId' : html5-asset-media-id},
'role': 'ASSET_ROLE_MAIN'
}
],
'exitEvents': [
{
'name': exit-event-name,
'type': 'EXIT_EVENT_TYPE_DEFAULT',
'url': exit-event-url
}
]
}
# Create the creative.
creative = service.advertisers().creatives().create(
advertiserId=advertiser-id,
body=creative_obj
).execute()
# Display the new creative.
print("Creative %s was created." % creative["name"])
PHP
// Create a creative object.
$creative = new Google_Service_DisplayVideo_Creative();
$creative->setDisplayName(display-name);
$creative->setEntityStatus('ENTITY_STATUS_ACTIVE');
$creative->setHostingSource('HOSTING_SOURCE_HOSTED');
// Set standard creative type.
$creative->setCreativeType('CREATIVE_TYPE_STANDARD');
// Create a dimensions object.
$dimensions = new Google_Service_DisplayVideo_Dimensions();
$dimensions->setHeightPixels(creative-height-pixels);
$dimensions->setWidthPixels(creative-width-pixels);
// Add the dimensions object to the creative object.
$creative->setDimensions($dimensions);
// Assign the HTML asset to a role.
$htmlAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$htmlAsset = new Google_Service_DisplayVideo_Asset();
$htmlAsset->setMediaId(html5-asset-media-id);
$htmlAssetAssoc->setAsset($htmlAsset);
$htmlAssetAssoc->setRole('ASSET_ROLE_MAIN');
// Create and set the list of creative assets.
$creative->setAssets(array($htmlAssetAssoc));
// Create an exit event.
$exitEvent = new Google_Service_DisplayVideo_ExitEvent();
$exitEvent->setName(exit-event-name);
$exitEvent->setType('EXIT_EVENT_TYPE_DEFAULT');
$exitEvent->setUrl(exit-event-url);
// Create and set the list of exit events for the creative.
$creative->setExitEvents(array($exitEvent));
// Send the create request.
$result = $this->service->advertisers_creatives->create(
advertiser-id,
$creative
);
printf('Creative %s was created.', $result['name']);
Video
Java
// Create a creative object.
Creative creative = new Creative();
creative.setDisplayName(display-name);
creative.setEntityStatus("ENTITY_STATUS_ACTIVE");
creative.setHostingSource("HOSTING_SOURCE_HOSTED");
// Set video creative type.
creative.setCreativeType("CREATIVE_TYPE_VIDEO");
// Assign the video asset to a role.
AssetAssociation assetAssociation = new AssetAssociation();
assetAssociation.setAsset(new Asset().setMediaId(video-asset-media-id));
assetAssociation.setRole("ASSET_ROLE_MAIN");
// Create and set the list of creative assets.
creative.setAssets(ImmutableList.of(assetAssociation));
// Create an exit event.
ExitEvent exitEvent = new ExitEvent();
exitEvent.setName(exit-event-name);
exitEvent.setType("EXIT_EVENT_TYPE_DEFAULT");
exitEvent.setUrl(exit-event-url);
// Create and set the list of exit events for the creative.
creative.setExitEvents(ImmutableList.of(exitEvent));
// Configure the create request.
Creatives.Create request =
service.advertisers().creatives().create(advertiser-id, creative);
// Send the request.
Creative response = request.execute();
// Display the new creative.
System.out.printf(
"Creative %s was created.\n",
response.getName());
Python
# Create a creative object.
creative_obj = {
'displayName': display-name,
'entityStatus': 'ENTITY_STATUS_ACTIVE',
'hostingSource': 'HOSTING_SOURCE_HOSTED',
'creativeType': 'CREATIVE_TYPE_VIDEO',
'assets': [
{
'asset': {'mediaId' : video-asset-media-id},
'role': 'ASSET_ROLE_MAIN'
}
],
'exitEvents': [
{
'name': exit-event-name,
'type': 'EXIT_EVENT_TYPE_DEFAULT',
'url': exit-event-url
}
]
}
# Create the creative.
creative = service.advertisers().creatives().create(
advertiserId=advertiser-id,
body=creative_obj
).execute()
# Display the new creative.
print("creative %s was created." % creative["name"])
PHP
// Create a creative object.
$creative = new Google_Service_DisplayVideo_Creative();
$creative->setDisplayName(display-name);
$creative->setEntityStatus('ENTITY_STATUS_ACTIVE');
$creative->setHostingSource('HOSTING_SOURCE_HOSTED');
// Set video creative type.
$creative->setCreativeType('CREATIVE_TYPE_VIDEO');
// Assign the video asset to a role.
$videoAssetAssoc = new Google_Service_DisplayVideo_AssetAssociation();
$videoAsset = new Google_Service_DisplayVideo_Asset();
$videoAsset->setMediaId(video-asset-media-id);
$videoAssetAssoc->setAsset($videoAsset);
$videoAssetAssoc->setRole('ASSET_ROLE_MAIN');
// Create and set the list of creative assets.
$creative->setAssets(array($videoAssetAssoc));
// Create an exit event.
$exitEvent = new Google_Service_DisplayVideo_ExitEvent();
$exitEvent->setName(exit-event-name);
$exitEvent->setType('EXIT_EVENT_TYPE_DEFAULT');
$exitEvent->setUrl(exit-event-url);
// Create and set the list of exit events for the creative.
$creative->setExitEvents(array($exitEvent));
// Send the create request.
$result = $this->service->advertisers_creatives->create(
advertiser-id,
$creative
);
printf('Creative %s was created.', $result['name']);