Объекты

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

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

Изображения и видеообъекты – это основные типы объектов. В этом руководстве рассказывается, как их загружать. Эти принципы можно распространить и на другие типы объектов. Независимо от того, какой тип объекта вы создаете, используйте 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);