Configuración global

La clase GADMobileAds proporciona una configuración global para controlar cierta información que recopila el SDK de anuncios para dispositivos móviles.

Control de volumen para anuncios de video

Si tu app tiene sus propios controles de volumen, como volúmenes personalizados de música o efectos de sonido, divulgar el volumen de la app al SDK de anuncios de Google para dispositivos móviles permite que los anuncios de video respeten la configuración de volumen de la app. De esta manera, se garantiza que los usuarios reciban anuncios de video con el volumen de audio esperado.

El volumen del dispositivo, controlado por medio de los botones de volumen o el control deslizante de volumen del sistema operativo, determina el volumen de la salida de audio del dispositivo. Sin embargo, las apps pueden ajustar de forma independiente los niveles de volumen en relación con el volumen del dispositivo para adaptar la experiencia de audio.

En el caso de los formatos de anuncios de aplicación abierta, banner, intersticial, recompensados y intersticiales recompensados, puedes informar el volumen relativo de la app al SDK de anuncios de Google para dispositivos móviles si configuras la propiedad applicationVolume. Los valores válidos del volumen del anuncio varían de 0.0 (silencioso) a 1.0 (volumen actual del dispositivo). Este es un ejemplo de cómo informar el volumen relativo de la app al SDK:

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;
  ...
}

En el caso de los formatos de anuncios de apertura de aplicación, banner, intersticial, recompensado y recompensado intersticial, puedes informar al SDK de anuncios de Google para dispositivos móviles que se silenció el volumen de la app configurando la propiedad applicationMuted:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

De forma predeterminada, applicationVolume se establece en 1 (el volumen actual del dispositivo) y applicationMuted se establece en NO.

Anuncios nativos

Consulta GADVideoOptions para obtener instrucciones sobre cómo controlar la configuración de silenciamiento. En el caso de los anuncios nativos, no se admite el control de volumen personalizado.

Sesiones de audio

Las sesiones de audio te permiten expresar al sistema tus intenciones con respecto al comportamiento de audio de tu app. Puedes encontrar información adicional sobre las sesiones de audio en la Guía de programación de sesiones de audio de Apple. Las opciones disponibles para administrar el audio del SDK de Google Mobile Ads son a través de la propiedad audioVideoManager.

Si no usas audio en tu app, no necesitas usar estas APIs. El SDK de anuncios de Google para dispositivos móviles administra automáticamente la categoría de sesión de audio cuando reproduce audio. Si reproduces audio en tu app y deseas un control más estricto sobre cómo y cuándo el SDK de anuncios de Google para dispositivos móviles reproduce audio, puedes usar estas APIs.

En el administrador de audio y video, puedes establecer la propiedad audioSessionIsApplicationManaged en YES si quieres asumir la responsabilidad de administrar la categoría de sesión de audio por tu cuenta.

Si deseas administrar la categoría de la sesión de audio, puedes implementar GADAudioVideoManagerDelegate y configurar la propiedad delegate en el Administrador de audio y video para recibir notificaciones de anuncios de eventos de reproducción de audio y video. Luego, debes cambiar la categoría de la sesión de audio a la categoría relevante según la Guía de programación de sesiones de audio de Apple.

Este es un ejemplo de código simplificado que muestra el enfoque recomendado si tu app reproduce música con las APIs anteriores:

Swift

func setUp() {
  GADMobileAds.sharedInstance().audioVideoManager.delegate = self
  GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = 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;
}

#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];
}

Crash Reporting

El SDK de anuncios de Google para dispositivos móviles inspecciona las excepciones que se producen en una app para iOS y las registra si las ocasiona el SDK. Estas excepciones se abordan en versiones futuras del SDK.

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

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.disableSDKCrashReporting()
    return true
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds disableSDKCrashReporting];
  return YES;
}

@end

Si tu app tiene requisitos especiales, puedes configurar el gad_has_consent_for_cookies de NSUserDefaults opcional. El SDK de anuncios de Google para dispositivos móviles habilita anuncios limitados (LTD) si la preferencia gad_has_consent_for_cookies se establece en cero.

Swift

UserDefaults.standard.set(0, forKey: "gad_has_consent_for_cookies")

Objective-C

NSUserDefaults.standardUserDefaults().setObject(Int(0),
    forKey: "gad_has_consent_for_cookies");