Gli eventi personalizzati ti consentono di aggiungere la mediazione con struttura a cascata per una rete pubblicitaria non supportata. A tal fine, implementa un adattatore evento personalizzato per la rete pubblicitaria da integrare.
Puoi trovare un progetto di evento personalizzato di esempio completo nel nostro repo GitHub.
Prerequisiti
Prima di poter creare eventi personalizzati, devi integrare nella tua app uno dei seguenti formati degli annunci:
Creare un evento personalizzato nell'interfaccia utente
Per prima cosa, devi creare un evento personalizzato nell'UI di AdMob. Consulta le istruzioni riportate in Aggiungere un evento personalizzato.
Devi fornire quanto segue:
- Nome corso
Il nome completo della classe che implementa l'adattatore di eventi personalizzati, ad esempio
SampleCustomEvent
; oppure, se la classe è implementata in Swift,MediationExample.SampleCustomEventSwift
.Il nome target è obbligatorio se il progetto ha più target o se il nome del progetto è diverso dal nome del target. Con il nome target, avrebbe il seguente aspetto:
appName_targetName.className
. Inoltre, ricordati di sostituire i caratteri non alfanumerici, come i trattini, con i trattini bassi. Esempio.- Etichetta
Un nome univoco che definisce l'origine dell'annuncio.
- Parametro
Un argomento stringa facoltativo passato all'adattatore di eventi personalizzati.
Implementa GADMediationAdapter
Il primo passaggio per creare un evento personalizzato è implementare il protocollo GADMediationAdapter
, come mostrato dalla classe SampleCustomEvent
nel nostro esempio.
È responsabilità di questa classe ricevere messaggi da AdMob e delegare la responsabilità di creare il formato dell'annuncio corretto.
Inizializza l'adattatore
Quando l'SDK Google Mobile Ads viene inizializzato,
setUpWithConfiguration:completionHandler:
viene invocato su tutti gli adattatori di terze parti supportati e sugli eventi personalizzati configurati
per l'app all'interno dell'interfaccia utente di AdMob. Utilizza questo metodo per eseguire eventuali operazioni di configurazione o inizializzazione necessarie sull'SDK di terze parti richiesto per l'evento personalizzato.
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);
}
Numeri di versione del report
Tutti gli eventi personalizzati devono segnalare all'SDK Google Mobile Ads sia la versione dell'adattatore evento personalizzato sia la versione dell'SDK di terze parti con cui l'evento personalizzato si interfaccia. Le versioni vengono registrate come
GADVersionNumber
oggetti:
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;
}
Richiedi annuncio
Per richiedere un annuncio, consulta le istruzioni specifiche per il formato dell'annuncio: