Bắt đầu

Hướng dẫn này cho bạn biết cách tích hợp bộ chuyển đổi dàn xếp với ứng dụng Android.

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

Trước khi có thể tích hợp tính năng dàn xếp cho một định dạng quảng cáo, bạn cần tích hợp định dạng quảng cáo đó vào ứng dụng của mình:

Bạn mới sử dụng tính năng dàn xếp? Hãy đọc Giới thiệu về tính năng dàn xếp.

Đối với hoạt động đặt giá thầu: SDK Quảng cáo của Google trên thiết bị di động phiên bản 18.3.0 trở lên.

Chạy SDK quảng cáo trên thiết bị di động

Hướng dẫn bắt đầu nhanh cho bạn biết cách khởi chạy SDK quảng cáo trên thiết bị di động. Trong lệnh gọi khởi chạy đó, bộ chuyển đổi dàn xếp cũng được khởi chạy. Bạn cần phải đợi quá trình khởi chạy hoàn tất trước khi tải quảng cáo để đảm bảo mọi mạng quảng cáo đều có sự tham gia đầy đủ trong yêu cầu quảng cáo đầu tiên.

Mã mẫu sau đây cho bạn biết cách kiểm tra trạng thái khởi chạy của từng bộ chuyển đổi trước khi thực hiện yêu cầu quảng cáo.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        initializationStatus -> {
                          Map<String, AdapterStatus> statusMap =
                              initializationStatus.getAdapterStatusMap();
                          for (String adapterClass : statusMap.keySet()) {
                            AdapterStatus status = statusMap.get(adapterClass);
                            Log.d(
                                "MyApp",
                                String.format(
                                    "Adapter name: %s, Description: %s, Latency: %d",
                                    adapterClass, status.getDescription(), status.getLatency()));
                          }
                          // Start loading ads here...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { initializationStatus ->
        val statusMap =
          initializationStatus.adapterStatusMap
        for (adapterClass in statusMap.keys) {
          val status = statusMap[adapterClass]
          Log.d(
            "MyApp", String.format(
              "Adapter name: %s, Description: %s, Latency: %d",
              adapterClass, status!!.description, status.latency
            )
          )
        }
        // Start loading ads here...
      }
    }
  }
}

Kiểm tra xem lớp bộ chuyển đổi nào của mạng quảng cáo đã tải quảng cáo

Dưới đây là một số mã mẫu ghi nhật ký tên lớp mạng quảng cáo cho quảng cáo biểu ngữ:

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

Hãy tham khảo tài liệu ResponseInfo trên getMediationAdapterClassName() để biết thông tin chi tiết về phương thức này.

Khởi chạy đối tượng quảng cáo thông qua bản sao Activity (Hoạt động)

Trong hàm khởi tạo cho một đối tượng quảng cáo mới (ví dụ: AdManagerAdView), bạn phải truyền vào một đối tượng thuộc loại Context. Hệ thống sẽ chuyển Context này sang các mạng quảng cáo khác khi sử dụng tính năng dàn xếp. Một số mạng quảng cáo yêu cầu Context hạn chế hơn thuộc loại Activity và không thể phân phát quảng cáo nếu không có bản sao Activity. Do đó, bạn nên chuyển vào bản sao Activity khi khởi tạo đối tượng quảng cáo để đảm bảo trải nghiệm nhất quán với các mạng quảng cáo đã dàn xếp.

Sử dụng quảng cáo biểu ngữ với tính năng dàn xếp

Hãy nhớ tắt tính năng làm mới trong tất cả giao diện người dùng của nguồn quảng cáo bên thứ ba cho đơn vị quảng cáo biểu ngữ dùng trong tính năng dàn xếp. Điều này giúp tránh xảy ra hiện tượng làm mới hai lần vì Ad Manager cũng kích hoạt một lần làm mới dựa trên tốc độ làm mới của đơn vị quảng cáo biểu ngữ.

Sử dụng quảng cáo gốc với tính năng dàn xếp

Sau đây là một số phương pháp hay nhất cần xem xét khi triển khai tính năng dàn xếp gốc.

Chính sách về bản trình bày quảng cáo gốc
Mỗi mạng quảng cáo đều có chính sách riêng. Khi sử dụng tính năng dàn xếp, bạn nên lưu ý rằng ứng dụng của bạn vẫn phải tuân thủ các chính sách của mạng được dàn xếp đã cung cấp quảng cáo.
Sử dụng loadAd() thay vì loadAds()
Phương thức loadAds() chỉ phân phát quảng cáo của Google. Đối với quảng cáo đã dàn xếp, hãy sử dụng loadAd().

Luật về quyền riêng tư của các tiểu bang ở Hoa Kỳ và GDPR

Nếu bạn cần tuân thủ luật về quyền riêng tư của các tiểu bang ở Hoa Kỳ hoặc Quy định chung về việc bảo vệ dữ liệu (GDPR), hãy làm theo các bước trong phần cài đặt quy định của các tiểu bang ở Hoa Kỳ hoặc Cài đặt GDPR để thêm các đối tác dàn xếp vào danh sách các tiểu bang ở Hoa Kỳ hoặc đối tác quảng cáo theo GDPR (Quy định chung về việc bảo vệ dữ liệu) của Ad Manager. Nếu bạn không làm như vậy, các đối tác có thể không phân phát quảng cáo trên ứng dụng của bạn.

Tìm hiểu thêm về cách bật chế độ xử lý dữ liệu bị hạn chế (RDP) và có được sự đồng ý theo GDPR thông qua SDK Nền tảng thông báo cho người dùng (UMP) của Google.