Quảng cáo đồng hành

Hướng dẫn này dành cho những nhà xuất bản muốn thêm quảng cáo đồng hành vào quá trình triển khai IMA trên Android.

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

  • Ứng dụng Android tích hợp SDK IMA. Hãy xem BasicExample nếu bạn chưa có ứng dụng tích hợp SDK.
  • Thẻ quảng cáo được định cấu hình để trả về quảng cáo đồng hành.

Tài liệu tham khảo hữu ích

Nếu bạn vẫn cần triển khai SDK IMA trong ứng dụng, hãy xem Hướng dẫn bắt đầu của chúng tôi.

Thêm quảng cáo đồng hành vào ứng dụng

Tạo ViewGroup để hiển thị ứng dụng đồng hành

Trước khi yêu cầu một thành phần đồng hành, bạn cần tạo không gian cho thành phần đó trong bố cục. Trong tệp XML bố cục, hãy thêm phần tử ViewGroup; ví dụ này sử dụng LinearLayout. Trong bước sau, bạn sẽ chuyển tham chiếu đến phần tử này đến AdDisplayContainer. Nếu bạn đang tích hợp vào ứng dụng BasicExample, hãy thêm mã này vào activity_my.xml bên dưới videoPlayerContainer.

activity_my.xml

<LinearLayout
  android:id="@+id/companionAdSlot"
  android:layout_width="match_parent"
  android:layout_height="250dp"
  android:layout_gravity="center_horizontal"
  android:gravity="center"
  android:orientation="vertical"
  android:textAlignment="center" />

Tạo CompanionAdSlot

Bước tiếp theo là tạo một đối tượng CompanionAdSlot, sau đó thêm đối tượng này vào ArrayList<CompanionAdSlot>. AdDisplayContainer lấy danh sách các vị trí quảng cáo đồng hành để bạn có thể hiển thị nhiều quảng cáo đồng hành cùng một lúc. Bạn sẽ cần tạo một thực thể của ImaSdkFactory để tạo CompanionAdSlot.

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

Tạo một vùng quảng cáo đồng hành cho mỗi kích thước quảng cáo đồng hành mà bạn dự định hiển thị trong ứng dụng. SDK IMA sẽ điền sẵn vùng quảng cáo đồng hành bằng mọi quảng cáo đồng hành trong phản hồi VAST có kích thước phù hợp với chiều cao và chiều rộng của khung hiển thị. SDK IMA cũng hỗ trợ việc sử dụng quảng cáo đồng hành có kích thước linh hoạt. Sau khi tạo companionAdSlots, bạn cần thêm các companionAdSlots đó vào AdsLoader. Các ví dụ sau đây cho biết cách thực hiện việc này tuỳ thuộc vào việc bạn đang sử dụng IMA Android BasicExample sử dụng tiện ích Exoplayer-IMA hay các phương thức triển khai IMA khác không sử dụng tiện ích này.

BasicExample

adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();

Các cách triển khai khác

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

Chỉ vậy thôi! Ứng dụng của bạn hiện đang hiển thị quảng cáo đồng hành.

Hiển thị quảng cáo đồng hành linh hoạt

IMA hiện hỗ trợ quảng cáo đồng hành linh hoạt. Những quảng cáo đồng hành này có thể đổi kích thước để phù hợp với kích thước của vị trí quảng cáo. Các thành phần hiển thị này lấp đầy 100% chiều rộng của thành phần hiển thị mẹ, sau đó đổi kích thước chiều cao để phù hợp với nội dung của thành phần đồng hành. Bạn có thể đặt các kích thước này bằng cách sử dụng kích thước quảng cáo đồng hành Fluid trong Ad Manager. Hãy xem hình ảnh sau đây để biết vị trí đặt giá trị này.

Hình ảnh cho thấy chế độ cài đặt quảng cáo đồng hành của Ad Manager. Làm nổi bật tuỳ chọn kích thước quảng cáo đồng hành.

Cập nhật ứng dụng Android cho ứng dụng đồng hành linh hoạt

Bạn có thể khai báo một khe đồng hành linh hoạt bằng cách cập nhật phương thức CompanionAdSlot.setSize() để lấy CompanionAdSlot.FLUID_SIZE làm cả hai tham số.

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

Câu hỏi thường gặp

Tôi đã làm theo hướng dẫn nhưng không thấy quảng cáo đồng hành. Tôi cần làm gì?
Trước tiên, hãy kiểm tra để đảm bảo rằng thẻ của bạn thực sự đang trả về các đối tác. Để làm điều này, hãy mở thẻ trong trình duyệt web và tìm thẻ CompanionAds. Nếu bạn thấy lỗi đó, hãy kiểm tra để đảm bảo kích thước của thành phần đồng hành được trả về giống với kích thước của các kích thước mà bạn đang truyền vào đối tượng CompanionAdSlot.
Vị trí quảng cáo đồng hành của tôi sẽ trông như thế nào khi làm theo hướng dẫn này?
Hình ảnh bên dưới được tạo từ BasicExample và có video nội dung phát ở trên cùng với quảng cáo đồng hành ở bên dưới.

Hình ảnh ví dụ về quảng cáo đồng hành trên Android của IMA.