Gli eventi personalizzati ti consentono di aggiungere la mediazione a cascata per una rete pubblicitaria non supportata. Per farlo, devi implementare un adattatore evento personalizzato per la rete pubblicitaria da integrare.
Prerequisiti
Prima di poter creare eventi personalizzati, devi integrare uno dei seguenti formati degli annunci nella tua app:
Crea un evento personalizzato nella UI
Un evento personalizzato deve prima essere creato nell'interfaccia utente di Ad Manager. Consulta le istruzioni riportate in Crea e gestisci gruppi di rendimento.
Devi fornire quanto segue:
- Nome corso
Il nome completo della classe che implementa l'adattatore di eventi personalizzati, ad esempio
SampleCustomEvento, se la classe è implementata in Swift,MediationExample.SampleCustomEventSwift.Il nome della destinazione è obbligatorio se hai più destinazioni nel progetto o se il nome del progetto è diverso da quello della destinazione. Con il nome del target, l'aspetto sarà il seguente:
appName_targetName.className. Inoltre, ricorda di sostituire i caratteri non alfanumerici, come i trattini, con i trattini bassi. Esempio.- Etichetta
Un nome univoco che definisce l'origine annuncio.
- Parametro
Un argomento facoltativo di tipo stringa 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.
Questa classe ha il compito di ricevere i messaggi da Ad Manager e delegare la responsabilità di creare il formato dell'annuncio corretto.
Inizializza l'adattatore
Quando Google Mobile Ads SDK viene inizializzato,
setUpWithConfiguration:completionHandler:
viene richiamato su tutti gli adattatori di terze parti supportati e sugli eventi personalizzati configurati
per l'app nell'interfaccia utente di Ad Manager. Utilizza questo metodo per eseguire qualsiasi configurazione o inizializzazione necessaria 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 dei report
Tutti gli eventi personalizzati devono segnalare a Google Mobile Ads SDK sia la versione dell'adattatore di eventi personalizzati sia la versione dell'SDK di terze parti con cui l'evento personalizzato interagisce. Le versioni vengono riportate come oggetti GADVersionNumber:
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: