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 tính năng đó vào ứng dụng của bạn:

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

Đối với tính năng đặt giá thầu: SDK quảng cáo trên thiết bị di động của Google 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 Quảng cáo trên thiết bị di động SDK. Trong lệnh gọi khởi chạy đó, bộ chuyển đổi dàn xếp cũng khởi tạo. Bạn cần phải đợi quá trình khởi tạo hoàn tất trước bạn tải quảng cáo để đảm bảo mọi mạng quảng cáo trên yêu cầu quảng cáo đầu tiên.

Mã mẫu sau đây cho biết cách bạn có thể kiểm tra hoạt động khởi chạy của từng bộ chuyển đổi trước khi thực hiện một 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 của getMediationAdapterClassName() để biết thông tin chi tiết về phương pháp 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 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. Hơi nhiều 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 thực thể 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 của bạn.

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 quảng cáo biểu ngữ được dùng trong dàn xếp. Điều này ngăn chặn 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 để xem xét khi triển khai quảng cáo gốc dàn xếp.

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 cần hãy nhớ rằng ứng dụng của bạn vẫn cần tuân thủ các chính sách của kênh mạng đã 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 được dàn xếp, hãy sử dụng Hãy 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ủ Hoa Kỳ quyền riêng tư của các tiểu bang luật pháp hoặc Bảo vệ dữ liệu chung Quy định (GDPR), hãy tuân thủ các bước trong quy định của các tiểu bang ở Hoa Kỳ chế độ cài đặt hoặc GDPR (Quy định chung về việc bảo vệ dữ liệu) để thêm đối tác dàn xếp trong Ad Manager về Quyền riêng tư và của tính năng nhắn tin Danh sách đối tác quảng cáo theo Quy định chung về việc bảo vệ dữ liệu (GDPR) hoặc các tiểu bang của Hoa Kỳ. Nếu không làm được điều này, các đối tác có thể không phân phát được 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à nhận GDPR đồng ý với Nền tảng thông báo cho người dùng (UMP) của Google SDK.