Peristiwa kustom memungkinkan Anda menambahkan mediasi waterfall untuk jaringan iklan yang bukan jaringan iklan yang didukung. Anda ini dengan menerapkan adaptor peristiwa khusus untuk jaringan iklan yang ingin Anda mengintegrasikannya.
Anda dapat menemukan contoh lengkap project peristiwa kustom di halaman GitHub repo Anda.
Prasyarat
Sebelum dapat membuat peristiwa kustom, Anda harus terlebih dahulu mengintegrasikan salah satu format iklan berikut ke aplikasi Anda:
Membuat peristiwa kustom di UI
Peristiwa kustom harus dibuat terlebih dahulu di AdMob UI. Lihat petunjuk di Tambahkan peristiwa kustom.
Anda harus menyediakan hal berikut:
- Nama Kelas
Nama class yang sepenuhnya memenuhi syarat yang menerapkan peristiwa kustom adaptor—misalnya,
SampleCustomEvent
; atau jika kelas Anda diimplementasikan di Swift,MediationExample.SampleCustomEventSwift
.Nama target wajib diisi jika Anda memiliki beberapa target dalam project atau jika nama proyek berbeda dari nama target. Dengan nama target, akan terlihat seperti ini:
appName_targetName.className
. Selain itu, ingatlah untuk mengganti karakter non-alfanumerik seperti tanda hubung dengan garis bawah. Contoh.- Label
Nama unik yang menentukan sumber iklan.
- Parameter
Argumen string opsional yang diteruskan ke adaptor peristiwa kustom Anda.
Menerapkan GADMediationAdapter
Langkah pertama untuk membuat peristiwa kustom adalah menerapkan
Protokol GADMediationAdapter
seperti yang ditunjukkan oleh class SampleCustomEvent
dalam contoh kami.
Class ini bertanggung jawab untuk menerima pesan dari AdMob dan mendelegasikan tanggung jawab untuk membuat format iklan yang benar.
Melakukan inisialisasi adaptor
Saat Google Mobile Ads SDK melakukan inisialisasi,
setUpWithConfiguration:completionHandler:
akan dipanggil pada semua adaptor pihak ketiga yang didukung dan peristiwa khusus yang dikonfigurasi
untuk aplikasi dalam UI AdMob. Gunakan metode ini untuk
melakukan penyiapan atau inisialisasi yang diperlukan pada SDK pihak ketiga yang diperlukan
untuk peristiwa kustom Anda.
Swift
import GoogleMobileAds
class SampleCustomEvent: NSObject, GADMediationAdapter {
static func setUpWith(
_ configuration: GADMediationServerConfiguration,
completionHandler: @escaping GADMediationAdapterSetUpCompletionBlock
) {
// 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.
completionHandler(nil)
}
}
Objective-C
#import "SampleCustomEvent.h"
@implementation SampleCustomEvent
+ (void)setUpWithConfiguration:(nonnull GADMediationServerConfiguration *)configuration
completionHandler:(nonnull GADMediationAdapterSetUpCompletionBlock)completionHandler {
// This is where you initialize the SDK that this custom event is built
// for. Upon finishing the SDK initialization, call the completion handler
// with success.
completionHandler(nil);
}
Nomor versi laporan
Semua peristiwa khusus harus melaporkan ke Google Mobile Ads SDK versi
adaptor peristiwa khusus itu sendiri dan versi SDK pihak ketiga
dengan antarmuka peristiwa kustom. Versi dilaporkan sebagai
GADVersionNumber
objek:
Swift
static func adSDKVersion() -> GADVersionNumber {
let versionComponents = String(SampleSDKVersion).components(
separatedBy: ".")
if versionComponents.count >= 3 {
let majorVersion = Int(versionComponents[0]) ?? 0
let minorVersion = Int(versionComponents[1]) ?? 0
let patchVersion = Int(versionComponents[2]) ?? 0
return GADVersionNumber(
majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
}
return GADVersionNumber()
}
static func adapterVersion() -> GADVersionNumber {
let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
separatedBy: ".")
var version = GADVersionNumber()
if versionComponents.count == 4 {
version.majorVersion = Int(versionComponents[0]) ?? 0
version.minorVersion = Int(versionComponents[1]) ?? 0
version.patchVersion = Int(versionComponents[2]) * 100 + Int(versionComponents[3])
}
return version
}
Objective-C
+ (GADVersionNumber)adSDKVersion {
NSArray *versionComponents =
[SampleSDKVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count >= 3) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue];
}
return version;
}
+ (GADVersionNumber)adapterVersion {
NSArray *versionComponents =
[SampleCustomEventAdapterVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count == 4) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue] * 100 +
[versionComponents[3] integerValue];
}
return version;
}
Minta iklan
Untuk meminta iklan, lihat petunjuk khusus untuk format iklan tersebut: