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