广告媒体

某些广告类型(例如 ImageAdResponsiveDisplayAd)包含图片和其他媒体元素。本指南介绍如何使用 Google Ads 脚本上传和查询媒体。

上传映像

您可以使用 ImageBuilder 类上传图片,该类接受名称和图片数据。数据以 Blob 数据交换对象的形式提供,此对象可由 云端硬盘网址提取等服务创建。

下面的代码段显示了如何从外部网址上传图片:

let imageUrl = "http://www.example.com/example.png";
let imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
    .withName("IMAGE_NAME")
    .withData(imageBlob)
    .build();

还可以从 Google 云端硬盘加载图片 Blob:

let imageFileId = "IMAGE_FILE_ID";
let imageBlob = DriveApp.getFileById(imageFileId).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
    .withName("IMAGE_NAME")
    .withData(imageBlob)
    .build();

上传媒体捆绑包

媒体包是包含 HTML5 素材资源的 ZIP 归档文件,可用于制作 HTML5 广告。使用 MediaBundleBuilder 类上传媒体文件包,该类接受名称和文件数据。与图片一样,数据以 Blob 数据交换对象的形式提供。

下面的代码段显示了如何从外部网址上传媒体捆绑包:

let mediaBundleUrl = "http://www.example.com/example.zip";
let mediaBundleBlob = UrlFetchApp.fetch(mediaBundleUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newMediaBundleBuilder()
    .withName("bundle name")
    .withData(mediaBundleBlob)
    .build();

查询媒体

您可以在 Google Ads 脚本中使用 MediaSelector 查询每种类型的媒体资源。使用 withCondition() 谓词按名称、类型或其他字段过滤媒体。例如,以下代码段会查找账号中的所有图片:

let mediaIterator = AdsApp.adMedia().media()
    .withCondition("Type = IMAGE")
    .get();
while (mediaIterator.hasNext()) {
  let image = mediaIterator.next();
}

使用媒体制作广告

请参阅我们的广告文章,查看一些代码示例,了解如何使用附加媒体制作支持的广告。