Hướng dẫn này trình bày cách tích hợp một bộ chuyển đổi dàn xếp với ứng dụng Android của bạn.
Điều kiện tiên quyết
Trước khi 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:
- Quảng cáo biểu ngữ
- Quảng cáo xen kẽ
- Quảng cáo gốc
- Quảng cáo có tặng thưởng
- Quảng cáo xen kẽ có tặng thưởng
Bạn mới sử dụng tính năng dàn xếp? Đọc phần Giới thiệu về tính năng dàn xếp.
Đối với việc đặt giá thầu: Google Mobile Ads SDK (Legacy) 18.3.0 trở lên.
Khởi chạy Google Mobile Ads SDK (Legacy)
Hướng dẫn bắt đầu nhanh giúp bạn biết cách khởi chạy Google Mobile Ads SDK (Legacy). Trong lệnh gọi khởi chạy đó, các 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 để xác minh mọi mạng quảng cáo đều có trong yêu cầu quảng cáo đầu tiên.
Mã mẫu sau đây cho thấy 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
public void initialize(Context context) {
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(context, this::logAdapterStatus))
.start();
}
private void logAdapterStatus(InitializationStatus initializationStatus) {
// Check each adapter's initialization status.
Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
for (Map.Entry<String, AdapterStatus> entry : statusMap.entrySet()) {
String adapterClass = entry.getKey();
AdapterStatus status = entry.getValue();
Log.d(
TAG,
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
}
Kotlin
fun initialize(context: Context) {
CoroutineScope(Dispatchers.IO).launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(context, ::logAdapterStatus)
}
}
private fun logAdapterStatus(initializationStatus: InitializationStatus) {
// Check each adapter's initialization status.
for ((adapterClass, status) in initializationStatus.adapterStatusMap) {
Log.d(
TAG,
"Adapter: $adapterClass, Status: ${status.description}, Latency: ${status.latency}ms",
)
}
}
Kiểm tra xem lớp bộ chuyển đổi mạng quảng cáo nào đã tải quảng cáo
Sau đây là một số mã mẫu ghi lại tên lớp mạng quảng cáo cho một quảng cáo biểu ngữ:
Java
ResponseInfo responseInfo = ad.getResponseInfo();
String adapterClassName = null;
if (responseInfo != null) {
adapterClassName = responseInfo.getMediationAdapterClassName();
}
Log.d(TAG, "Adapter class name: " + adapterClassName);
Kotlin
Log.d(TAG, "Adapter class name:" + ad.responseInfo?.mediationAdapterClassName)
Tham khảo tài liệu ResponseInfo về 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 một phiên bản Activity
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 bạn 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ó một phiên bản Activity. Do đó, bạn nên truyền một thực thể Activity khi khởi tạo các đối tượng quảng cáo để xác minh trải nghiệm nhất quán với các mạng quảng cáo được dàn xếp.
Sử dụng quảng cáo biểu ngữ có 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 nguồn quảng cáo bên thứ ba cho đơn vị quảng cáo biểu ngữ được dùng trong hoạt động dàn xếp. Điều này sẽ giúp tránh xảy ra hiện tượng làm mới hai lần do 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
Dưới đây là một số phương pháp hay nhất bạn cần cân nhắc áp dụng khi triển khai tính năng dàn xếp quảng cáo gốc.
- Chính sách về việc hiển thị 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 được dàn xếp, hãy sử dụngloadAd().
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 tiểu bang ở Hoa Kỳ hoặc cài đặt GDPR để thêm đối tác dàn xếp vào danh sách đối tác quảng cáo theo GDPR hoặc các tiểu bang ở Hoa Kỳ trong mục Quyền riêng tư và thông báo của Ad Manager. Các đối tác sẽ không thể phân phát quảng cáo trên ứng dụng của bạn nếu bạn không làm việc này.
Tìm hiểu thêm về cách bật chế độ xử lý dữ liệu bị hạn chế (RDP) và thu thập sự đồng ý theo GDPR bằng SDK Nền tảng thông báo cho người dùng (UMP) của Google.