Объекты

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

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

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

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

Текстовые объекты

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

const textAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "textAsset": {
        "text": "Travel the World"
      }
    }
  }
}
operations.push(textAsset);

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

Объекты изображений загружаются в формате с кодировкой Base64. Поскольку вы не можете загружать изображения непосредственно в скрипты 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())
      }
    }
  }
}
operations.push(imageAsset);

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

const file = UrlFetchApp.fetch(imageUrl);

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