Penyiapan

Peristiwa kustom memungkinkan Anda menambahkan mediasi waterfall untuk jaringan iklan yang bukan jaringan iklan yang didukung. Anda melakukannya dengan menerapkan adaptor peristiwa khusus untuk jaringan iklan yang ingin Anda integrasikan.

Prasyarat

Sebelum dapat membuat peristiwa kustom, Anda harus mengintegrasikan salah satu format iklan berikut ke dalam aplikasi terlebih dahulu:

Membuat peristiwa kustom di UI

Peristiwa kustom harus dibuat terlebih dahulu di Ad Manager UI. Lihat petunjuk di Membuat dan mengelola grup hasil.

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 diperlukan jika Anda memiliki beberapa target dalam project atau jika nama project berbeda dengan nama target. Dengan nama target, akan terlihat seperti ini: appName_targetName.className. Selain itu, jangan lupa 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 menerapkan 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 pembuatan 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 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, 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 kustom harus melaporkan ke Google Mobile Ads SDK versi adaptor peristiwa kustom itu sendiri dan versi SDK pihak ketiga yang digunakan peristiwa kustom. Versi dilaporkan sebagai objek GADVersionNumber:

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: