Peristiwa kustom memungkinkan Anda menambahkan mediasi waterfall untuk jaringan iklan yang bukan jaringan iklan yang didukung. Anda dapat melakukannya dengan menerapkan adaptor peristiwa kustom untuk jaringan iklan yang ingin diintegrasikan.
Prasyarat
Sebelum dapat membuat peristiwa kustom, Anda harus mengintegrasikan salah satu format iklan berikut ke dalam aplikasi:
Membuat peristiwa kustom di UI
Peristiwa kustom harus dibuat terlebih dahulu di UI Ad Manager. Lihat petunjuk di Membuat dan mengelola grup hasil.
Anda harus memberikan hal berikut:
- Nama Kelas
Nama lengkap class yang menerapkan adaptor peristiwa kustom—misalnya,
SampleCustomEvent; atau jika class Anda diterapkan di Swift,MediationExample.SampleCustomEventSwift.Nama target diperlukan jika Anda memiliki beberapa target dalam project atau jika nama project berbeda dengan nama target. Dengan nama target, nama class 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.
Mengimplementasikan GADMediationAdapter
Langkah pertama untuk membuat peristiwa kustom adalah mengimplementasikan protokol
GADMediationAdapter seperti yang ditunjukkan oleh class SampleCustomEvent dalam contoh kami.
Class ini bertanggung jawab untuk menerima pesan dari Ad Manager dan mendelegasikan tanggung jawab untuk membuat format iklan yang benar.
Menginisialisasi adaptor
Saat Google Mobile Ads SDK diinisialisasi,
setUpWithConfiguration:completionHandler:
akan dipanggil di semua adaptor pihak ketiga yang didukung dan peristiwa kustom yang dikonfigurasi
untuk aplikasi dalam UI Ad Manager. 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, MediationAdapter {
static func setUpWith(
_ configuration: MediationServerConfiguration,
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);
}
Melaporkan nomor versi
Semua peristiwa kustom harus melaporkan ke Google Mobile Ads SDK versi
adaptor peristiwa kustom itu sendiri dan versi SDK pihak ketiga yang digunakan oleh
peristiwa kustom. Versi dilaporkan sebagai
GADVersionNumber
objek:
Swift
static func adSDKVersion() -> VersionNumber {
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 VersionNumber(
majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
}
return VersionNumber()
}
static func adapterVersion() -> VersionNumber {
let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
separatedBy: ".")
var version = VersionNumber()
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;
}
Meminta iklan
Untuk meminta iklan, lihat petunjuk khusus untuk format iklan: