Создание итератора объявлений с Type = RESPONSIVE_DISPLAY_AD
в настоящее время будет обрабатывать только устаревшие объявления. Это условие устарело; обновите существующий код, чтобы явно использовать Type = LEGACY_RESPONSIVE_DISPLAY_AD
. Чтобы создать итератор объявлений для объявлений, поддерживающих несколько текстовых, графических и видеоресурсов, используйте условие Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD
.
Следующий фрагмент иллюстрирует некоторые различия и сходства API между двумя типами адаптивных медийных объявлений. Для получения более подробной информации прочтите справку по адаптивным медийным объявлениям .
// let legacyRdaIterator = AdsApp.ads().withCondition("Type = RESPONSIVE_DISPLAY_AD").get();
let legacyRdaIterator = AdsApp.ads().withCondition("Type = LEGACY_RESPONSIVE_DISPLAY_AD").get();
while (legacyRdaIterator.hasNext()) {
let responsiveDisplayAd = legacyRdaIterator.next().asType().responsiveDisplayAd();
// Legacy responsive display ads have just one long headline.
let longHeadline = responsiveDisplayAd.getLongHeadline();
// And they have one short headline, too.
let shortHeadline = responsiveDisplayAd.getShortHeadline();
// This call to .getHeadlines() returns null, because the method is not
// meaningful when called on a legacy responsive display ad.
assert(responsiveDisplayAd.getHeadlines() === null);
// ... etc. ...
}
let rdaIterator = AdsApp.ads().withCondition("Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD").get();
while (rdaIterator.hasNext()) {
let responsiveDisplayAd = rdaIterator.next().asType().responsiveDisplayAd();
// Responsive display ads have just one long headline.
let longHeadline = responsiveDisplayAd.getLongHeadline();
// But they can have multiple short headline text assets.
let shortHeadlineAssets = responsiveDisplayAd.getHeadlines();
// This call to .getShortHeadline() returns null, because the method is only
// meaningful when called on a legacy responsive display ad.
assert(responsiveDisplayAd.getShortHeadline() === null);
// ... etc. ...
}
let rdaAndLegacyIterator = AdsApp.ads().withCondition("Type IN [LEGACY_RESPONSIVE_DISPLAY_AD, MULTI_ASSET_RESPONSIVE_DISPLAY_AD]").get();
while (rdaAndLegacyIterator.hasNext()) {
let responsiveDisplayAd = legacyRdaIterator.next().asType().responsiveDisplayAd();
let longHeadline = responsiveDisplayAd.getLongHeadline();
// The .isLegacy() method can be used to differentiate between responsive
// display ad types within an iterator over both.
if (responsiveDisplayAd.isLegacy()) {
let shortHeadline = responsiveDisplayAd.getShortHeadline();
// ... etc. ...
} else {
let shortHeadlineAssets = responsiveDisplayAd.getHeadlines();
// ... etc. ...
}
}