التعامل مع الإعلانات الصورية المتجاوبة

سيؤدي إنشاء أداة تكرار إعلانات باستخدام الشرط Type = RESPONSIVE_DISPLAY_AD إلى التكرار حاليًا على الإعلانات القديمة فقط. تم إيقاف هذا الشرط نهائيًا، يُرجى تعديل الرمز البرمجي الحالي لاستخدام Type = LEGACY_RESPONSIVE_DISPLAY_AD بشكل صريح. إلى إنشاء مكرر للإعلانات فوق الإعلانات التي تتيح عرض نصوص وصور وفيديوهات متعددة الأصول، استخدم الشرط Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD.

يوضِّح المقتطف التالي بعض الاختلافات وأوجه التشابه في واجهة برمجة التطبيقات. بين نوعَي الإعلانات الصورية المتجاوبة يُرجى الاطّلاع على مرجع الإعلانات الصورية المتجاوبة لمزيد من التفاصيل.

// 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. ...
  }
}