Configurazione

Gli eventi personalizzati ti consentono di aggiungere la mediazione con struttura a cascata per una rete pubblicitaria non supportata. A tale scopo, implementa un adattatore eventi personalizzato per la rete pubblicitaria che vuoi integrare.

Puoi trovare un esempio completo di progetto di evento personalizzato nel nostro repository GitHub.

Prerequisiti

Prima di poter creare eventi personalizzati, devi integrare uno dei seguenti formati dell'annuncio nella tua app:

Creare un evento personalizzato nell'interfaccia utente

È necessario prima creare un evento personalizzato nell'interfaccia utente AdMob. Consulta le istruzioni in Aggiungere un evento personalizzato.

Devi fornire quanto segue:

Nome corso

Il nome completo della classe che implementa l'adattatore evento personalizzato, ad esempio SampleCustomEvent; oppure, se la tua classe è implementata in Swift, MediationExample.SampleCustomEventSwift.

Il nome della destinazione è obbligatorio se nel progetto sono presenti più destinazioni o se il nome del progetto è diverso dal nome della destinazione. Con il nome della destinazione, l'aspetto sarebbe simile al seguente: appName_targetName.className. Inoltre, ricordati di sostituire tutti i caratteri non alfanumerici, come i trattini, con i trattini bassi. Esempio.

Etichetta

Un nome univoco che definisce l'origine annuncio.

Parametro

Un argomento stringa facoltativo passato all'adattatore evento personalizzato.

Implementare GADMediationAdapter

Il primo passaggio per creare un evento personalizzato è l'implementazione del 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 viene inizializzato l'SDK Google Mobile Ads, setUpWithConfiguration:completionHandler: viene richiamato su tutti gli adattatori di terze parti supportati e gli eventi personalizzati configurati per l'app all'interno dell' AdMob interfaccia utente. Utilizza questo metodo per eseguire la configurazione o l'inizializzazione necessarie sull'SDK di terze parti necessario 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 dei report

Tutti gli eventi personalizzati devono segnalare all'SDK Google Mobile Ads sia la versione dell'adattatore per eventi personalizzato stesso sia la versione dell'SDK di terze parti con cui si interfaccia l'evento personalizzato. Le versioni sono 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: