Page Summary
-
Use
Type = MULTI_ASSET_RESPONSIVE_DISPLAY_ADto iterate over responsive display ads that support multiple assets. -
The condition
Type = RESPONSIVE_DISPLAY_ADis deprecated and only iterates over legacy ads. -
Update existing code to explicitly use
Type = LEGACY_RESPONSIVE_DISPLAY_ADfor legacy responsive display ads. -
Modern responsive display ads use
getHeadlines()for multiple short headline assets, while legacy ads usegetShortHeadline(). -
The
.isLegacy()method can differentiate between legacy and modern responsive display ads within a combined iterator.
Create an ad iterator over ads that support multiple text, image, and video
assets by using the condition Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD
. An ad
iterator with condition Type = RESPONSIVE_DISPLAY_AD
will only iterate
over legacy ads because this condition is deprecated. Update existing code to
explicitly use Type = LEGACY_RESPONSIVE_DISPLAY_AD
.
The following snippet illustrates some of the API differences and similarities between the two types of responsive display ads. Read the Responsive Display Ad reference for more details.
// 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. ...
}
}

