Configuración global

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

Control del 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. Eso se hace para adaptar la experiencia de audio. Para informar al SDK de anuncios de Google para móviles del volumen relativo de la aplicación, configura 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 que el volumen de la aplicación se ha silenciado:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective‑C

[GADMobileAds sharedInstance].applicationMuted = YES;

Al volver a activar el volumen de la aplicación, se regresa al nivel configurado previamente. De forma predeterminada, el volumen de la aplicación para el SDK de anuncios de Google para móviles es 1 (el volumen actual del dispositivo).

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 (en inglés). 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 API. 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 estricto sobre cómo y cuándo lo reproduce el SDK de anuncios de Google para móviles, estas API pueden servirte de ayuda.

En el administrador de audio y vídeo, asigna a la propiedad audioSessionIsApplicationManaged el valor YES 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 API 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 de compra en la aplicación

Para ayudarte a ganar más dinero con las compras en la aplicación (IAP) y maximizar los ingresos generados con tu aplicación, el SDK de anuncios para móviles recoge automáticamente la información general de IAP, como el precio de compra de los artículos y la moneda. Ya no tendrás que implementar otro programa para rastrear las conversiones de dicha función. Si eres desarrollador de AdMob, te recomendamos que aproveches esta nueva prestación para disfrutar de las ventajas de la monetización inteligente de dicha plataforma. Si ejecutas anuncios internos de IAP (una función que actualmente está en versión beta limitada), los informes de esta función deben estar siempre habilitados. Eso es necesario para que se informe de las conversiones de anuncios internos de IAP.

En nuestra última versión del SDK, los informes de compras en la aplicación están habilitados de forma predeterminada. Si lo prefieres, puedes inhabilitarlos con el método disableAutomatedInAppPurchaseReporting (a no ser que estés publicando anuncios internos de IAP, como hemos comentado antes). 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.disableAutomatedInAppPurchaseReporting()
  return true
}

Objective‑C

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

Informes sobre fallos

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

En nuestra última versión 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;
}