Dàn xếp AdMob là một tính năng cho phép bạn phân phát quảng cáo đến các ứng dụng của mình từ nhiều nguồn (bao gồm cả Mạng AdMob và các nguồn quảng cáo bên thứ ba) ở một nơi duy nhất. Tính năng Dàn xếp AdMob giúp bạn tăng tối đa tỷ lệ đáp ứng và tăng khả năng kiếm tiền bằng cách gửi yêu cầu quảng cáo đến nhiều mạng để xác minh rằng bạn tìm thấy mạng phù hợp nhất hiện có để phân phát quảng cáo. Nghiên cứu điển hình.
Đ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 bài viết Tổng quan về tính năng dàn xếp AdMob.
Khởi chạy SDK Quảng cáo của Google trên thiết bị di động (phiên bản thử nghiệm)
Hướng dẫn bắt đầu nhanh giúp bạn biết cách khởi chạy SDK quảng cáo trên thiết bị di động của Google (beta). 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 rằng 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.
Kotlin
import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
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 Google Mobile Ads SDK (beta) on a background thread.
MobileAds.initialize(this@MainActivity, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
initializationStatus ->
for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
adapterName,
adapterStatus.initializationState,
adapterStatus.description,
adapterStatus.latency,
),
)
}
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() -> {
// Initialize Google Mobile Ads SDK (beta) on a background thread.
MobileAds.initialize(
this,
new InitializationConfig.Builder("SAMPLE_APP_ID")
.build(),
initializationStatus -> {
Map<String, AdapterStatus> adapterStatusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : adapterStatusMap.keySet()) {
AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status description: %s,"
+ " Latency: %d",
adapterClass,
adapterStatus.getInitializationState(),
adapterStatus.getDescription(),
adapterStatus.getLatency()));
}
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
}
}
Loại trừ các mô-đun com.google.android.gms
trong các chế độ tích hợp dàn xếp
Bộ điều hợp dàn xếp vẫn phụ thuộc vào SDK quảng cáo trên thiết bị di động của Google (phiên bản thử nghiệm) hiện tại. Tuy nhiên, SDK quảng cáo trên thiết bị di động của Google (bản thử nghiệm) bao gồm tất cả các lớp mà bộ chuyển đổi dàn xếp yêu cầu. Để tránh lỗi biên dịch liên quan đến các biểu tượng trùng lặp, bạn cần loại trừ SDK quảng cáo trên thiết bị di động của Google (beta) hiện tại khỏi việc được kéo vào làm phần phụ thuộc của bộ chuyển đổi dàn xếp.
Trong tệp build.gradle
ở cấp ứng dụng, hãy loại trừ cả mô-đun play-services-ads
và play-services-ads-lite
trên toàn cục khỏi tất cả các phần phụ thuộc.
configurations {
all {
exclude(group = "com.google.android.gms", module = "play-services-ads")
exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}
}
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 sẽ ghi nhật ký tên lớp mạng quảng cáo cho quảng cáo biểu ngữ:
Kotlin
BannerAd.load(
BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
Log.d(
"MyApp", "Adapter class name: " +
ad.getResponseInfo().mediationAdapterClassName
)
}
}
)
Java
BannerAd.load(
new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
Log.d("MyApp",
"Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
}
);
Sử dụng quảng cáo biểu ngữ với tính năng Dàn xếp AdMob
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 AdMob. Điều này sẽ giúp tránh xảy ra hiện tượng làm mới hai lần do AdMob 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ữ.
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 chế độ cài đặt theo quy định của tiểu bang ở Hoa Kỳ hoặc chế độ cài đặt theo 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 theo quy định của tiểu bang ở Hoa Kỳ trong mục Quyền riêng tư và thông báo của AdMob. Nếu bạn không làm việc này, 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.
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.