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ữ thích ứng cố định, biểu ngữ thích ứng trong 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 có thể di chuyển lên xuố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 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 hã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.
Để định kích thước biểu ngữ thích ứng cùng dòng, hãy xác định chiều rộng quảng cáo. Sau đây là các phương pháp phổ biến:
- 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.
Hãy hoàn tất các bước sau:
Xác định chiều rộng của thiết bị hoặc đặt chiều rộng:
Kotlin
private val adWidth: Int get() { val displayMetrics = resources.displayMetrics val adWidthPixels = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics windowMetrics.bounds.width() } else { displayMetrics.widthPixels } val density = displayMetrics.density return (adWidthPixels / density).toInt() }Java
public int getAdWidth() { DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int adWidthPixels = displayMetrics.widthPixels; if (VERSION.SDK_INT >= VERSION_CODES.R) { WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics(); adWidthPixels = windowMetrics.getBounds().width(); } float density = displayMetrics.density; return (int) (adWidthPixels / density); }Để nhận một đối tượng kích thước quảng cáo thích ứng cùng dòng, hãy sử dụng một phương thức tĩnh trên lớp kích thước quảng cáo:
Kotlin
val adView = AdView(this@MainActivity) adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))Java
final AdView adView = new AdView(MainActivity.this); adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));
Đặt bố cục biểu ngữ thích ứng cùng dòng
Để tải trước một 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:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
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).