Configuración global

La clase GADMobileAds proporciona la configuración global para controlar cierta información recogida por el SDK de anuncios para móviles.

Opción para usar la misma clave de aplicación (SameAppKey)

La versión 8.3.0 del SDK de anuncios de Google para móviles incluye la opción para usar la misma clave de aplicación (SameAppKey) , que permite mostrar anuncios más relevantes y personalizados a partir de los datos recogidos por las aplicaciones que utilizan los usuarios.

La función para usar la misma clave de aplicación se habilita de forma predeterminada, pero puedes inhabilitarla con la siguiente API.

Swift

@import GoogleMobileAds

// Disables the same app key.
GADMobileAds.sharedInstance().requestConfiguration.setSameAppKeyEnabled(false)

Objective‑C

@import GoogleMobileAds;

// Disables the same app key.
[GADMobileAds.sharedInstance.requestConfiguration setSameAppKeyEnabled:NO];

Control de volumen de los anuncios de vídeo

Si tu aplicación tiene sus propios controles de volumen (como volúmenes personalizados para la música o los efectos de sonido), haz que informe de dichos ajustes al SDK de anuncios de Google para móviles, de forma que los anuncios de vídeo respeten el volumen configurado en la aplicación. De esta forma, los usuarios verán los anuncios de vídeo con el volumen esperado.

El volumen del dispositivo se controla mediante botones físicos o el control deslizante de volumen del sistema operativo. Sin embargo, las aplicaciones pueden ajustar los niveles, independientemente de cuál sea el volumen configurado en el dispositivo, para adaptar la experiencia de audio. Si quieres informar al SDK de anuncios de Google para móviles del volumen relativo de la aplicación, utiliza la propiedad applicationVolume. Los valores válidos de volumen para los anuncios van desde 0.0 (silencio) a 1.0 (volumen del dispositivo). A continuación, te mostramos un ejemplo de cómo informar al SDK del volumen relativo de la aplicación:

Swift

func viewDidLoad() {
  super.viewDidLoad()
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance().applicationVolume = 0.5
  ...
}

Objective‑C

- (void)viewDidLoad {
  [super viewDidLoad];
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance.applicationVolume = 0.5;
  ...
}

Configura la propiedad applicationMuted de la siguiente manera para informar al SDK de anuncios de Google para móviles de que el volumen de la aplicación se ha silenciado:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective‑C

GADMobileAds.sharedInstance.applicationMuted = YES;

De forma predeterminada, a applicationVolume se le asigna el valor 1 (el volumen actual del dispositivo) y a applicationMuted el valor NO.

Cambiar la sesión de audio

Las sesiones de audio te permiten indicar al sistema cómo quieres que se comporte el audio de la aplicación. Si necesitas más información sobre las sesiones de audio, consulta la guía de programación de sesiones de audio de Apple. Puedes utilizar la propiedad audioVideoManager para gestionar el audio del SDK de anuncios de Google para móviles.

Si tu aplicación no tiene audio, no necesitas usar estas APIs. Mientras se reproduzca el audio, el SDK de anuncios de Google para móviles gestionará automáticamente la categoría de la sesión de audio. Si tu aplicación contiene audio y quieres tener un control más preciso sobre cómo y cuándo lo reproduce el SDK de anuncios de Google para móviles, estas APIs pueden servirte de ayuda.

En el administrador de audio y vídeo, asigna el valor YES a la propiedad audioSessionIsApplicationManaged si quieres gestionar personalmente la categoría de sesión de audio.

Si vas a gestionar la categoría de sesión de audio, debes implementar GADAudioVideoManagerDelegate y configurar la propiedad delegate en el administrador de audio y vídeo para recibir notificaciones de los eventos de reproducción de audio y vídeo de los anuncios. Después, cambia la categoría de la sesión de audio por la categoría correspondiente según lo indicado en la guía de programación de sesiones de audio de Apple a la que hemos hecho referencia anteriormente.

A continuación, puedes ver un ejemplo de código simplificado basado en las APIs anteriores, en el que se muestra la estrategia que recomendamos seguir cuando la aplicación reproduce música.

Swift

func setUp() {
    GADMobileAds.sharedInstance().audioVideoManager.delegate = self
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
}
func myAppWillStartPlayingMusic() {
    // Mutes all Google video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = true
    GADMobileAds.sharedInstance().applicationMuted = true
}
func myAppDidStopPlayingMusic() {
    // Un-mutes all of our video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
    GADMobileAds.sharedInstance().applicationMuted = false
}

// MARK: - GADAudioVideoManagerDelegate
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
    // The mobile ads SDK is notifying your app that it will play audio. You
    // could optionally pause music depending on your apps design.
    MyAppObject.sharedInstance().pauseAllMusic()
}

func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
    // The mobile ads SDK is notifying your app that it has stopped playing
    // audio. Depending on your design, you could resume music here.
    MyAppObject.sharedInstance().resumeAllMusic()
}

Objective‑C

- (void)setUp {
  GADMobileAds.sharedInstance.audioVideoManager.delegate = self;
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
}

- (void)myAppWillStartPlayingMusic {
  // Mutes all Google video ads.
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = YES;
  GADMobileAds.sharedInstance.applicationMuted = YES;
}
- (void)myAppDidStopPlayingMusic {
  // Un-mutes all of our video ads.
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
  GADMobileAds.sharedInstance.applicationMuted = NO;
}

#pragma mark - GADAudioVideoManagerDelegate

- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
  // The mobile ads SDK is notifying your app that it will play audio. You
  // could optionally pause music depending on your apps design.
  [MyAppObject.sharedInstance pauseAllMusic];
}

- (void)audioVideoManagerDidStopPlayingAudio:(GADAudioVideoManager *)audioVideoManager {
    // The mobile ads SDK is notifying your app that it has stopped playing
    // audio. Depending on your design, you could resume music here.
  [MyAppObject.sharedInstance resumeAllMusic];
}

Informes sobre fallos

El SDK de anuncios para móviles inspecciona las excepciones que se producen en una aplicación iOS y las registra si las ha causado el propio SDK. Así, podremos evitar que vuelvan a producirse en futuras versiones del SDK.

Los informes sobre fallos están habilitados de forma predeterminada. Si no quieres que se registren las excepciones relacionadas con el SDK, puedes llamar al método disableSDKCrashReporting para inhabilitar esta función. El mejor momento para llamar a este método es al iniciar la aplicación:

Swift

AppDelegate.swift

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  GADMobileAds.disableSDKCrashReporting()
  return true
}

Objective‑C

AppDelegate.m
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GADMobileAds disableSDKCrashReporting];
  return YES;
}