Configurazione

Gli eventi personalizzati ti consentono di aggiungere la mediazione a cascata per una rete pubblicitaria diversa rete pubblicitaria supportata. Per farlo, implementi un adattatore evento personalizzato per la rete pubblicitaria da integrare.

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

Prerequisiti

Prima di poter creare eventi personalizzati, devi integrare nella tua app uno dei seguenti formati degli annunci:

Creare un evento personalizzato nella UI

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'evento personalizzato dell'adattatore, ad esempio SampleCustomEvent; o se il corso è implementato in Swift, MediationExample.SampleCustomEventSwift.

Il nome destinazione è obbligatorio se hai più destinazioni nel progetto o se il nome del progetto sia diverso da quello della destinazione. Con il nome target, avrebbe il seguente aspetto: appName_targetName.className. Inoltre, ricorda che al posto di eventuali caratteri non alfanumerici, come trattini e 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 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

All'inizializzazione dell'SDK Google Mobile Ads, setUpWithConfiguration:completionHandler: viene richiamato su tutti gli adattatori di terze parti supportati e gli eventi personalizzati configurati per l'app nell'interfaccia utente di AdMob. Utilizza questo metodo per eseguire eventuali configurazioni o inizializzazioni 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 di l'adattatore eventi personalizzati e la versione dell'SDK di terze parti con cui si interfacciano gli eventi personalizzati. 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: