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

يمكنك إنشاء أداة تكرار للإعلانات تعرض إعلانات تتضمّن عدة مواد عرض نصية وصورية وفيديوهات باستخدام الشرط Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD. لن تتكرّر أداة تكرار الإعلانات التي تتضمّن الشرط Type = RESPONSIVE_DISPLAY_AD إلا على الإعلانات القديمة لأنّ هذا الشرط أصبح قديمًا. عليك تعديل الرمز الحالي لاستخدام Type = LEGACY_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. ...
      }
    }