Thiết lập quyền truy cập trực tiếp cho Ad Exchange

SDK quảng cáo trên thiết bị di động của Google hỗ trợ việc kiếm tiền từ ứng dụng của bạn bằng một tài sản Ad Exchange. Hướng dẫn này cho bạn biết cách định cấu hình ứng dụng cho tất cả các định dạng quảng cáo mà Ad Exchange hỗ trợ.

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

Định cấu hình ứng dụng để truy cập vào Ad Exchange

Thêm mã ứng dụng Ad Manager (được xác định trong giao diện người dùng Ad Manager) vào tệp AndroidManifest.xml của ứng dụng thông qua thẻ <meta-data>android:name="com.google.android.gms.ads.APPLICATION_ID". Đối với android:value, hãy chèn mã ứng dụng Ad Manager của riêng bạn trong dấu ngoặc kép.

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Ngoài ra, xin lưu ý rằng nếu không thêm thẻ <meta-data> như hướng dẫn ở trên, bạn sẽ gặp một sự cố với thông báo:

Missing application ID.

Tiếp theo, bạn có thể khởi chạy SDK Quảng cáo trên thiết bị di động của Google và chọn một định dạng quảng cáo để hiển thị. Phần còn lại của hướng dẫn này triển khai định dạng biểu ngữ để minh hoạ cách bạn có thể tải một quảng cáo từ Ad Exchange. Bạn có thể áp dụng các bước tương tự cho mọi định dạng quảng cáo mà SDK quảng cáo trên thiết bị di động của Google hỗ trợ.

Tải quảng cáo từ Ad Exchange

Bạn có thể sử dụng mã thuộc tính web Ad Exchange có dấu gạch chéo về phía trước ở cuối, thay cho mã đơn vị quảng cáo. Ví dụ: ca-mb-app-pub-5629679302779023/.

Ví dụ sau đây sẽ thêm mã thuộc tính web Ad Exchange vào một yêu cầu quảng cáo biểu ngữ:

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

Xin lưu ý rằng nếu không thêm dấu gạch chéo về phía trước vào mã tài sản web Ad Exchange, bạn sẽ gặp lỗi yêu cầu quảng cáo kèm theo thông báo:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Bạn cũng có thể chuyển đổi mã thuộc tính web Ad Exchange thành một đơn vị quảng cáo. Sau đó, hãy sử dụng giao diện người dùng Ad Manager để tạo Thẻ Ad Exchange rồi sao chép thẻ đó vào ứng dụng của bạn. Thẻ được tạo phải có mã tài sản web Ad Exchange, theo sau là mã đơn vị quảng cáo cấp dưới mà không có dấu gạch chéo ở cuối, ví dụ: ca-mb-app-pub-5629679302779023/banner.

Vậy là xong! Ứng dụng của bạn hiện đã sẵn sàng tải và hiển thị quảng cáo biểu ngữ từ Ad Exchange.

Ngoài ra, bạn có thể sử dụng một tài sản web Ad Exchange để tải và hiển thị các định dạng quảng cáo khác từ Ad Exchange bằng cách làm theo các hướng dẫn tương ứng:

(Chỉ dành cho nhà xuất bản Châu Âu được phê duyệt) Thêm giá sàn

Bạn có thể gửi yêu cầu cho tính năng "Giá sàn".

Sau khi được phê duyệt, bạn có thể thêm một mức giá sàn công khai hoặc mức giá sàn riêng tư vào yêu cầu quảng cáo bằng cách sử dụng các thông số pubfpvtf tương ứng. Trong ví dụ về mã sau, hãy thay thế "123" bằng giá sàn tính bằng đơn vị vi mô và đơn vị tiền tệ mặc định của mạng. Ví dụ về cách áp dụng đơn vị vi mô: nếu đơn vị tiền tệ mặc định của bạn là USD, thì việc nhập "6000000" tương đương với 6 USD.

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();