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

Hướng dẫn này dành cho các nhà xuất bản quan tâm đến việc thêm quảng cáo đồng hành vào hoạt động triển khai IMA Android của họ.

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

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

Các đoạn mồi hữu ích

Nếu bạn vẫn cần triển khai SDK IMA trong ứng dụng của mình, 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ị quảng cáo đồng hành

Trước khi yêu cầu quảng cáo đồng hành, bạn cần tạo không gian cho quảng cáo đó trong bố cục. Trong XML bố cục, hãy thêm phần tử ViewGroup; ví dụ này sử dụng LinearLayout. Ở bước sau, bạn sẽ truyền tham chiếu đến phần tử này đến AdDisplayContainer của mình. Nếu bạn đang tích hợp vào ứng dụng BasicExample, hãy thêm đoạn mã này vào activity_my.xml bên dưới com.google.android.exoplayer2.ui.PlayerView.

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 đối tượng CompanionAdSlot. Sau đó, đối tượng này sẽ được thêm vào ArrayList<CompanionAdSlot>. AdDisplayContainer sẽ lấy danh sách các vùng 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 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 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 định hiển thị trong ứng dụng của mình. SDK IMA sẽ điền vào vùng quảng cáo đồng hành với bất kỳ quảng cáo đồng hành nào từ 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 chế độ xem. 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 bạn tạo companionAdSlots, bạn cần thêm chúng 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 có sử dụng phần mở rộng Exoplayer-IMA hay các phương thức triển khai IMA khác không sử dụng phần mở rộng.

BasicExample

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

Các phương pháp triển khai khác

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

Vậy là xong! Ứng dụng của bạ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. Các 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ùng quảng cáo. Các quảng cáo này lấp đầy 100% chiều rộng của khung hiển thị gốc, sau đó đổi kích thước chiều cao để vừa với nội dung của quảng cáo đồng hành. Các quảng cáo này được đặt 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 minh hoạ 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 đồng hành.

Cập nhật ứng dụng Android cho quảng cáo đồng hành linh hoạt

Bạn có thể khai báo một khung giờ đồ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 thông 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 thẻ của bạn thực sự trả về quảng cáo đồng hành. Để làm việc này, hãy mở thẻ trong trình duyệt web và tìm thẻ CompanionAds. Nếu thấy như vậy, hãy kiểm tra để đảm bảo kích thước của quảng cáo đồng hành được trả về có cùng kích thước với kích thước mà bạn đang truyền vào đối tượng CompanionAdSlot.
Vùng 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 IMA trên Android.