Объекты

Прежде чем создавать кампанию для создания спроса, импортируйте все объекты, которые вы планируете использовать в ней. Вы всегда можете вернуться и добавить объекты позже, но для начала вам понадобится хотя бы один набор объектов.

При планировании кампании для создания спроса ознакомьтесь с рекомендациями по работе с объектами и их спецификациями.

Изображения и видео – это основные типы объектов. В этом руководстве рассказывается, как их загружать. Эти принципы можно применять и к другим типам объектов. Независимо от того, какой объект вы создаете, используйте для этого AssetOperation.

Объекты можно создавать с помощью AdsApp без использования mutate, но для единообразия в этом руководстве используется тот же способ, что и для всех остальных операций. Если у вас уже есть объекты, вы можете и должны использовать их повторно. Таким образом, хотя для создания кампании для создания спроса вам нужны объекты, вам не обязательно создавать их в процессе создания кампании.

Графические объекты

Объекты изображений загружаются в формате base-64. Поскольку загружать изображения непосредственно в скрипты Google Рекламы нельзя, вы можете выбрать один из двух способов получения данных изображений и их кодирования для загрузки.

Чтобы получить изображение с Google Диска, сначала вам понадобится его идентификатор. Это лучший способ однозначно определить изображение. Один из способов получить идентификатор – скопировать ссылку общего доступа из интерфейса Google Диска и извлечь идентификатор. Вы также можете программно получить серию файлов и выбрать те, которые хотите загрузить. В этом коде показано, как загрузить одно изображение с известным идентификатором:

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())
      }
    }
  }
}

Вы также можете получить изображение, размещенное на веб-сервере, по его URL-адресу с помощью UrlFetchApp:

const file = UrlFetchApp.fetch(imageUrl);

Затем вы можете вызвать getBlob для этого файла так же, как и для файла на Диске, поэтому построение операции идентично шагам для файла на Google Диске.

Видеообъекты

Управление видеообъектами осуществляется через видео на YouTube. Если вы загружаете объекты в процессе создания кампании, используйте временный идентификатор. В противном случае запишите возвращенное название ресурса, чтобы использовать его в будущем при добавлении объекта в группу объектов.

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);