资产

在制作需求开发广告系列之前,请务必先导入您计划在该广告系列中使用的所有素材资源。您可以随时返回并稍后添加素材资源,但您需要一组素材资源才能开始。

在规划广告系列时,请参阅需求开发广告系列的素材资源规范和最佳实践指南

图片和视频素材资源是主要的素材资源类型,本指南将演示如何上传每种素材资源。这些原则也可以扩展到其他资产类型。无论您要制作哪种类型的素材资源,都可以使用 AssetOperation 来创建。

可以使用 AdsApp 创建媒体资源,而无需使用 mutate,但为了保持一致性,本指南采用与所有其他操作相同的方式。请注意,如果您已有可用的素材资源,可以并且应该重复使用这些素材资源。因此,虽然您必须拥有素材资源才能制作需求开发广告系列,但您可能并不一定需要在广告系列制作过程中制作这些素材资源。

图片素材资源

图片素材资源以 base-64 编码格式上传。由于您无法直接将图片上传到 Google Ads 脚本中,因此可以选择两种不同的方法来获取图片数据并对其进行编码以供上传。

如需从 Google 云端硬盘中提取图片,您首先需要获取图片的 ID,这是唯一标识图片的最佳方式。获取 ID 的一种方法是从 Google 云端硬盘界面复制可分享的链接,然后提取 ID。您还可以通过编程方式获取一系列文件,然后选择要上传的文件。此代码演示了如何上传具有已知 ID 的单张图片:

const file = DriveApp.getFileById(fileId);
const imageAsset =  {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing Logo",
      "type": "IMAGE",
      "imageAsset": {
        "data": Utilities.base64Encode(file.getBlob().getBytes())
      }
    }
  }
}

或者,您可以使用 UrlFetchApp 按网址提取托管在网络服务器上的图片:

const file = UrlFetchApp.fetch(imageUrl);

然后,您可以像处理 Google 云端硬盘文件一样对此文件调用 getBlob,因此操作构建与 Google 云端硬盘文件的步骤相同。

视频素材资源

使用视频素材资源的最简单方法是通过 YouTube 视频。如果您要在创建广告系列的过程中上传素材资源,请使用临时 ID。否则,请记下返回的资源名称,以便在以后的操作中引用相应素材资源,将其添加到素材资源组。

const videoAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing video",
      "type": "YOUTUBE_VIDEO",
      "youtube_video_asset": {
        "youtube_video_title": "Demand Gen video",
        "youtube_video_id": "123456789"
      }
    }
  }
}
operations.push(videoAsset);