إنشاء مواد عرض الإعلانات

على عكس تصاميم الإعلانات التي تعرضها أنواع أخرى من بنود الحملات، يتم إنشاء تصاميم الإعلانات التي تعرضها "الإعلانات لزيادة الطلب" في AdGroupAd الموارد نفسها. ويتم تمثيل مواد عرض الصور والفيديو التي يتمّ تخصيصها للإعلانات لإنشاء تصاميم الإعلانات هذه في Display & Video 360 API من خلال AdAsset موارد.

قبل إنشاء مورد AdGroupAd، أنشِئ موارد AdAsset ذات الصلة التي سيستخدمها الإعلان إذا لم تكن متوفّرة من قبل. إذا سبق أن تمّ إنشاؤها باستخدام واجهة المستخدم أو واجهة برمجة التطبيقات، يمكنك استرداد مواد العرض الحالية باستخدام خدمة advertisers.adAssets وطريقتَي get و list.

يتم إنشاء موارد AdAsset للصور والفيديوهات باستخدام طرق مختلفة:

  • يجب تحميل مواد عرض الصور إلى "مساحة العرض والفيديو 360" باستخدام طريقة advertisers.adAssets.upload.
  • يجب ربط مواد عرض الفيديو باستخدام معرّف فيديو على YouTube وإنشاؤها باستخدام طريقة advertisers.adAssets.create.

يُستخدَم adAssetId لمورد AdAsset لربط مادة عرض بإعلان لزيادة الطلب.

تحميل مواد عرض الصور

يمكنك تحميل ملفات الصور لإنشاء مواد عرض AD_ASSET_TYPE_IMAGE التي يمكن استخدامها كإعلانات بانر مصاحبة وشعارات وصور تسويقية.

إليك كيفية تحميل مادة عرض صورة لإنشاء مورد AdAsset:

جافا

// 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 التي يمكن استخدامها في إعلانات الفيديو لزيادة الطلب.

إليك كيفية إنشاء مادة عرض فيديو على YouTube لإنشاء مورد AdAsset:

جافا

// 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']
);