Quảng cáo biểu ngữ thích ứng cùng dòng

Biểu ngữ thích ứng cho phép bạn chỉ định chiều rộng của quảng cáo để xác định kích thước quảng cáo tối ưu cho từng thiết bị. Không giống như biểu ngữ neo thích ứng, biểu ngữ thích ứng cùng dòng lớn hơn, cao hơn và không sử dụng chiều cao cố định. Biểu ngữ thích ứng cùng dòng có chiều cao thay đổi. Các biểu ngữ này có thể lấp đầy toàn bộ màn hình hoặc chiều cao tối đa mà bạn chỉ định.

Hướng dẫn này trình bày cách tạo biểu ngữ thích ứng cùng dòng và đặt kích thước biểu ngữ.

Hình ảnh sau đây cho thấy biểu ngữ thích ứng cùng dòng trong nội dung cuộn:

Sơ đồ cho thấy sự khác biệt giữa biểu ngữ thích ứng và biểu ngữ thích ứng cùng dòng

Trước khi bắt đầu

Trước khi tiếp tục, hãy nhớ thiết lập quảng cáo biểu ngữ.

Để xem ví dụ đầy đủ về biểu ngữ thích ứng cùng dòng, hãy tải ứng dụng mẫu sau đây xuống:

Triển khai biểu ngữ thích ứng cùng dòng

Để triển khai biểu ngữ thích ứng cùng dòng, bạn cần đặt kích thước quảng cáo, tạo yêu cầu quảng cáo và tải quảng cáo.

Để định cỡ biểu ngữ cùng dòng thích ứng, hãy xác định chiều rộng của quảng cáo. Các phương pháp phổ biến bao gồm:

  • Sử dụng chiều rộng toàn màn hình.
  • Sử dụng chiều rộng của bố cục mẹ chứa quảng cáo.
  • Điều chỉnh chiều rộng để tính đến vùng an toàn của thiết bị.

Khi tạo đối tượng kích thước quảng cáo, hãy sử dụng chiều rộng đã tính này.

Ví dụ sau đây đặt kích thước quảng cáo, tạo yêu cầu quảng cáo và tải quảng cáo:

Kotlin

private fun loadInlineAdaptiveBannerAd(adView: AdView, activity: Activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val bannerWidth = 320
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth)
  val adRequest = BannerAdRequest.Builder(AD_UNIT_ID, adSize).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.d(TAG, "Inline adaptive banner ad loaded.")
      }

      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, "Inline adaptive banner ad failed to load: $adError")
      }
    },
  )
}

Java

private void loadInlineAdaptiveBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  int bannerWidth = 320;
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth);
  BannerAdRequest adRequest = new BannerAdRequest.Builder(AD_UNIT_ID, adSize).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd bannerAd) {
          Log.d(TAG, "Inline adaptive banner ad loaded.");
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          Log.d(TAG, "Inline adaptive banner ad failed to load: " + adError);
        }
      });
}

Thay thế AD_UNIT_ID bằng mã đơn vị quảng cáo của bạn.

Đặt kích thước quảng cáo nhỏ hơn hoặc bằng kích thước màn hình thiết bị. Để xác định kích thước màn hình tối đa, hãy sử dụng phương thức Resources.getDisplayMetrics. Kích thước đối tượng AdSize sử dụng pixel không phụ thuộc vào mật độ (dp). Khi so sánh, hãy chuyển đổi kích thước màn hình từ pixel sang dp. Để biết thông tin chi tiết về các quy định ràng buộc về kích thước, hãy xem phần Yêu cầu về kích thước yêu cầu quảng cáo.

Đặt bố cục biểu ngữ thích ứng cùng dòng

Để tải trước quảng cáo biểu ngữ thích ứng cùng dòng cho một bố cục cụ thể, hãy sử dụng các phương thức sau:

Nếu ứng dụng của bạn hỗ trợ chế độ xem dọc và ngang, đồng thời bạn muốn tải trước một quảng cáo biểu ngữ thích ứng trong bố cục hiện tại, hãy sử dụng phương thức AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). Phương thức này tải một quảng cáo trong bố cục hiện tại.

Giới hạn chiều cao của biểu ngữ thích ứng cùng dòng

Theo mặc định, biểu ngữ thích ứng cùng dòng được tạo mà không có giá trị maxHeight sẽ có chiều cao tối đa bằng chiều cao của thiết bị. Để giới hạn chiều cao của biểu ngữ thích ứng cùng dòng, hãy sử dụng phương thức AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).