Gli eventi personalizzati ti consentono di aggiungere la mediazione con struttura a cascata per una rete pubblicitaria non supportata. A questo scopo, implementa un adattatore evento personalizzato per la rete pubblicitaria che vuoi integrare.
Prerequisiti
Prima di poter creare eventi personalizzati, devi integrare uno dei seguenti formati annuncio nella tua app:
Creare un evento personalizzato nell'interfaccia utente
Un evento personalizzato deve prima essere creato nell'interfaccia utente di Ad Manager. Consulta le istruzioni in Creare e gestire gruppi di rendimento.
Devi fornire quanto segue:
- Nome corso
Il nome completo della classe che implementa l'adattatore di eventi personalizzati, ad esempio
SampleCustomEvent
; o se la tua classe è implementata in Swift,MediationExample.SampleCustomEventSwift
.Il nome del target è obbligatorio se hai più target nel progetto o se il nome del progetto è diverso dal nome del target. Con il nome della destinazione, l'URL avrà questo aspetto:
appName_targetName.className
. Inoltre, ricorda di sostituire qualsiasi carattere non alfanumerico, come i trattini, con trattini bassi. Esempio.- Etichetta
Un nome univoco che definisce l'origine annuncio.
- Parametro
Un argomento stringa facoltativo passato all'adattatore dell'evento personalizzato.
Implementare GADMediationAdapter
Il primo passaggio per creare un evento personalizzato consiste nell'implementare il protocollo
GADMediationAdapter
come mostrato dalla classe SampleCustomEvent
nel nostro esempio.
È responsabilità di questa classe ricevere messaggi da Ad Manager e delegare la responsabilità di creare il formato dell'annuncio corretto.
Inizializzare l'adattatore
Quando l'SDK Google Mobile Ads viene inizializzato, viene richiamato setUpWithConfiguration:completionHandler:
su tutti gli adattatori di terze parti e gli eventi personalizzati supportati configurati per l'app nell'interfaccia utente di Ad Manager. Utilizza questo metodo per
eseguire la configurazione o l'inizializzazione necessarie sull'SDK di terze parti richiesto
per l'evento personalizzato.
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);
}
Numeri di versione del report
Tutti gli eventi personalizzati devono essere segnalati all'SDK Google Mobile Ads, sia la versione dell'adattatore di eventi personalizzati sia la versione dell'SDK di terze parti con cui interagiscono le interfacce di eventi personalizzati. Le versioni sono segnalate come
GADVersionNumber
oggetti:
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;
}
Richiedi annuncio
Per richiedere un annuncio, consulta le istruzioni specifiche per il formato dell'annuncio: