Xử lý quảng cáo hiển thị thích ứng

Việc tạo một trình vòng lặp quảng cáo với điều kiện Type = RESPONSIVE_DISPLAY_AD hiện sẽ chỉ lặp lại trên các quảng cáo cũ. Điều kiện này không được dùng nữa; vui lòng cập nhật mã hiện có để sử dụng Type = LEGACY_RESPONSIVE_DISPLAY_AD một cách rõ ràng. Để tạo một trình vòng lặp quảng cáo trên những quảng cáo hỗ trợ nhiều tài sản văn bản, hình ảnh và video, hãy sử dụng điều kiện Type = MULTI_ASSET_RESPONSIVE_DISPLAY_AD.

Đoạn mã sau đây minh họa một số điểm khác biệt và điểm tương đồng của API giữa hai loại quảng cáo hiển thị thích ứng. Vui lòng đọc tài liệu tham khảo về Quảng cáo hiển thị thích ứng để biết thêm thông tin.

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