Kết hợp yêu cầu quảng cáo biểu ngữ và quảng cáo gốc hiển thị tuỳ chỉnh

Chỉ cần thay đổi một vài dòng mã, bạn có thể kết hợp quảng cáo gốc và quảng cáo biểu ngữ trong yêu cầu quảng cáo.

Điều kiện tiên quyết

  • SDK quảng cáo trên thiết bị di động của Google phiên bản 11.0.0 trở lên.
  • Hoàn tất phần Bắt đầu sử dụng.

Tải quảng cáo

Quảng cáo gốc được kết xuất tuỳ chỉnh được tải bằng cách sử dụng lớp AdLoader. Lớp này có lớp AdLoader.Builder riêng để tuỳ chỉnh trong khi tạo. Bằng cách thêm trình nghe vào AdLoader trong khi tạo quảng cáo, ứng dụng sẽ chỉ định các loại định dạng quảng cáo có thể nhận. Sau đó, AdLoader sẽ chỉ yêu cầu các loại đó.

Bạn cũng có thể định cấu hình đối tượng AdLoader để tạo các yêu cầu quảng cáo có thể dẫn đến quảng cáo biểu ngữ hoặc quảng cáo gốc. Việc thêm OnAdManagerAdViewLoadedListener vào AdLoader trong khi tạo quảng cáo sẽ chỉ định rằng quảng cáo biểu ngữ sẽ cạnh tranh với quảng cáo gốc để đáp ứng yêu cầu.

Mã sau đây minh hoạ cách tạo AdLoader có thể tải một quảng cáo gốc hoặc quảng cáo biểu ngữ trong một yêu cầu duy nhất:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

Phương thức forAdManagerAdView() ở trên chuẩn bị AdLoader để nhận quảng cáo biểu ngữ. Bạn phải chỉ định danh sách kích thước quảng cáo hợp lệ có độ dài biến cùng với OnAdManagerAdViewLoadedListener khi gọi forAdManagerAdView().

Để tạo một yêu cầu quảng cáo hợp lệ, bạn phải chỉ định ít nhất một kích thước quảng cáo hợp lệ. Khi quảng cáo biểu ngữ tải thành công, hệ thống sẽ gọi phương thức onAdManagerAdViewLoaded() của đối tượng trình nghe đã chỉ định.

Thiết lập AdViewOptions

Hàm cuối cùng trong quá trình tạo AdLoader ở trên là một phương thức không bắt buộc khác, withAdManagerAdViewOptions():

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Đối tượng AdManagerAdViewOptions cho phép nhà xuất bản đặt các tuỳ chọn cụ thể cho các biểu ngữ do AdLoader tải, chẳng hạn như:

setManualImpressionsEnabled()
Bật tính năng báo cáo lượt hiển thị thủ công cho các lượt đặt trước trên Google Ad Manager. Các ứng dụng sử dụng lượt hiển thị thủ công có thể tự xác định thời điểm ghi lại một lượt hiển thị và có thể thực hiện việc này bằng cách gọi AdManagerAdView.recordManualImpression().