Configurare eventi personalizzati

Seleziona la piattaforma: Android (beta) Nuovo Android iOS Unity

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 di annunci nella tua app:

Creare un evento personalizzato nell'interfaccia utente

Un evento personalizzato deve essere creato prima 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 evento personalizzato, ad esempio SampleCustomEvent; oppure, 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 dal nome della destinazione. Con il nome della destinazione, il nome della classe sarà simile a questo: appName_targetName.className. Inoltre, ricorda di sostituire tutti i caratteri non alfanumerici, ad esempio i trattini, con 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 passo per creare un evento personalizzato è implementare il GADMediationAdapter protocollo, come mostrato dalla SampleCustomEvent classe in nostro esempio.

È responsabilità di questa classe ricevere i messaggi da Ad Manager e delegare la responsabilità della creazione del formato dell'annuncio corretto.

Inizializzare 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);
}

Segnalare i numeri di versione

Tutti gli eventi personalizzati devono segnalare a Google Mobile Ads SDK sia la versione di l'adattatore evento personalizzato sia la versione dell'SDK di terze parti con cui l' evento personalizzato interagisce. Le versioni vengono 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;
}

Richiedere un annuncio

Per richiedere un annuncio, consulta le istruzioni specifiche per il formato dell'annuncio: