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 efectos de sonido o música, 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. Esto garantiza que los usuarios reciban anuncios de video con el volumen de audio esperado.

El volumen del dispositivo, que se controla mediante los botones de volumen o el control deslizante de volumen del nivel del SO, determina el volumen de la salida de audio del dispositivo. Sin embargo, las apps pueden ajustar de manera independiente los niveles de volumen en relación con el volumen del dispositivo para personalizar la experiencia de audio.

En el caso de los formatos de anuncios de aplicación abierta, banner, intersticial, recompensado e intersticial recompensado, 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 para el volumen de un anuncio varían entre 0.0 (silencio) y 1.0 (volumen actual del dispositivo). A continuación, se muestra 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 aplicación abierta, banner, intersticial, recompensado e intersticial recompensado, puedes informar al SDK de anuncios de Google para dispositivos móviles que se silenció el volumen de la app mediante la configuración de 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, en NO.

Anuncios nativos

Si deseas obtener instrucciones para controlar la configuración de silencio, consulta GADVideoOptions. 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 respecto del 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 anuncios de Google para dispositivos móviles son a través de la propiedad audioVideoManager.

Si no usas audio en tu app, no necesitas usar estas APIs. El SDK de Google Mobile Ads administra automáticamente la categoría de la sesión de audio cuando reproduce audio. Si reproduces audio en tu app y quieres tener un mayor control de 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 deseas 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 eventos de reproducción de audio y video de anuncios. Luego, debes cambiar la categoría de la sesión de audio a la categoría correspondiente según la Guía de programación de sesiones de audio de Apple.

A continuación, se incluye una muestra de código simplificada que indica 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 ocurren en una app para iOS y las registra si las causa el SDK. Luego, estas excepciones se abordarán en versiones futuras del SDK.

Los informes de fallas están habilitados de forma predeterminada. Si no quieres que se registren las 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");