Sự kiện tùy chỉnh cho phép bạn thêm quy trình dàn xếp kiểu thác nước cho một mạng quảng cáo không phải là mạng quảng cáo được hỗ trợ. Bạn có thể bằng cách triển khai bộ chuyển đổi sự kiện tuỳ chỉnh cho mạng quảng cáo mà bạn muốn tích hợp.
Bạn có thể tìm thấy một dự án sự kiện tuỳ chỉnh mẫu đầy đủ trong GitHub kho lưu trữ.
Điều kiện tiên quyết
Để có thể tạo sự kiện tuỳ chỉnh, trước tiên, bạn phải tích hợp một trong sau đây vào ứng dụng của bạn:
Tạo sự kiện tuỳ chỉnh trong giao diện người dùng
Trước tiên, bạn phải tạo một sự kiện tuỳ chỉnh trong AdMob Giao diện người dùng. Xem hướng dẫn trong Thêm sự kiện tuỳ chỉnh.
Bạn cần phải cung cấp các thông tin sau:
- Tên lớp
Tên đủ điều kiện của lớp triển khai sự kiện tuỳ chỉnh bộ chuyển đổi—ví dụ:
com.google.ads.mediation.sample.customevent.SampleCustomEvent
. Tốt nhất bạn nên sử dụng một lớp bộ chuyển đổi duy nhất cho tất cả quảng cáo sự kiện tuỳ chỉnh .- Hãng nhạc
Tên duy nhất để xác định nguồn quảng cáo.
- Thông số
Một đối số chuỗi không bắt buộc được chuyển đến bộ chuyển đổi sự kiện tuỳ chỉnh.
Khởi chạy bộ chuyển đổi
Khi SDK quảng cáo trên thiết bị di động của Google khởi chạy,
initialize()
được gọi trên tất cả các bộ chuyển đổi của bên thứ ba được hỗ trợ và sự kiện tuỳ chỉnh đã định cấu hình
cho ứng dụng trong giao diện người dùng AdMob. Sử dụng phương thức này để
thực hiện mọi thao tác thiết lập hoặc khởi chạy cần thiết trên SDK bắt buộc của bên thứ ba
cho sự kiện tùy chỉnh của mình.
Java
package com.google.ads.mediation.sample.customevent;
import com.google.android.gms.ads.AdFormat;
import com.google.android.gms.ads.mediation.Adapter;
import com.google.android.gms.ads.mediation.InitializationCompleteCallback;
import com.google.android.gms.ads.mediation.MediationConfiguration;
public class SampleAdNetworkCustomEvent extends Adapter {
private static final String SAMPLE_AD_UNIT_KEY = "parameter";
@Override
public void initialize(Context context,
InitializationCompleteCallback initializationCompleteCallback,
List<MediationConfiguration> mediationConfigurations) {
// This is where you will initialize the SDK that this custom
// event is built for. Upon finishing the SDK initialization,
// call the completion handler with success.
initializationCompleteCallback.onInitializationSucceeded();
}
}
Kotlin
package com.google.ads.mediation.sample.customevent
import com.google.android.gms.ads.AdFormat
import com.google.android.gms.ads.mediation.Adapter
import com.google.android.gms.ads.mediation.InitializationCompleteCallback
import com.google.android.gms.ads.mediation.MediationConfiguration
class SampleCustomEvent : Adapter() {
private val SAMPLE_AD_UNIT_KEY = "parameter"
override fun initialize(
context: Context,
initializationCompleteCallback: InitializationCompleteCallback,
mediationConfigurations: List<MediationConfiguration>
) {
// This is where you will initialize the SDK that this custom
// event is built for. Upon finishing the SDK initialization,
// call the completion handler with success.
initializationCompleteCallback.onInitializationSucceeded()
}
}
Số phiên bản báo cáo
Tất cả sự kiện tuỳ chỉnh phải báo cáo cho SDK quảng cáo trên thiết bị di động của Google cả phiên bản
chính bộ chuyển đổi sự kiện tuỳ chỉnh và phiên bản SDK của bên thứ ba
sự kiện tuỳ chỉnh giao diện với. Các phiên bản được báo cáo là
VersionInfo
đối tượng:
Java
package com.google.ads.mediation.sample.customevent;
public class SampleCustomEvent extends Adapter {
@Override
public VersionInfo getVersionInfo() {
String versionString = new VersionInfo(1, 2, 3);
String[] splits = versionString.split("\\.");
if (splits.length >= 4) {
int major = Integer.parseInt(splits[0]);
int minor = Integer.parseInt(splits[1]);
int micro = Integer.parseInt(splits[2]) * 100 + Integer.parseInt(splits[3]);
return new VersionInfo(major, minor, micro);
}
return new VersionInfo(0, 0, 0);
}
@Override
public VersionInfo getSDKVersionInfo() {
String versionString = SampleAdRequest.getSDKVersion();
String[] splits = versionString.split("\\.");
if (splits.length >= 3) {
int major = Integer.parseInt(splits[0]);
int minor = Integer.parseInt(splits[1]);
int micro = Integer.parseInt(splits[2]);
return new VersionInfo(major, minor, micro);
}
return new VersionInfo(0, 0, 0);
}
}
Kotlin
package com.google.ads.mediation.sample.customevent
class SampleCustomEvent : Adapter() {
override fun getVersionInfo(): VersionInfo {
val versionString = VersionInfo(1,2,3).toString()
val splits: List<String> = versionString.split("\\.")
if (splits.count() >= 4) {
val major = splits[0].toInt()
val minor = splits[1].toInt()
val micro = (splits[2].toInt() * 100) + splits[3].toInt()
return VersionInfo(major, minor, micro)
}
return VersionInfo(0, 0, 0)
}
override fun getSDKVersionInfo(): VersionInfo {
val versionString = VersionInfo(1,2,3).toString()
val splits: List<String> = versionString.split("\\.")
if (splits.count() >= 3) {
val major = splits[0].toInt()
val minor = splits[1].toInt()
val micro = splits[2].toInt()
return VersionInfo(major, minor, micro)
}
return VersionInfo(0, 0, 0)
}
}
Yêu cầu quảng cáo
Để yêu cầu một quảng cáo, hãy tham khảo hướng dẫn cụ thể cho định dạng quảng cáo này: