Configurações globais

A classe GADMobileAds fornece configurações globais para controlar determinados informações coletadas pelo SDK dos anúncios para dispositivos móveis.

Controle de volume de anúncios em vídeo

Se o app tem controles de volume próprios, como música ou efeitos sonoros personalizados a divulgação do volume do app para o SDK dos anúncios para dispositivos móveis do Google permite a exibição de anúncios em vídeo para respeitar as configurações de volume do app. Isso garante que os usuários recebam anúncios em vídeo com o volume de áudio esperado.

O volume do dispositivo, controlado por botões de volume ou pelo controle deslizante de volume no nível do SO, determina o volume da saída de áudio do dispositivo. No entanto, os apps podem fazer isso Ajustar os níveis de volume em relação ao volume do dispositivo para personalizar o áudio do usuário.

Para anúncios de abertura do app, banner, intersticial, premiado e intersticial premiado é possível informar o volume relativo do app ao SDK dos anúncios para dispositivos móveis do Google ao definindo a propriedade applicationVolume. Os valores válidos de volume de anúncios variam de 0.0 (silencioso) para 1.0 (volume atual do dispositivo). Aqui está um exemplo Informe o volume relativo do app ao 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;
  ...
}

Para anúncios de abertura do app, banner, intersticial, premiado e intersticial premiado você pode informar ao SDK dos anúncios para dispositivos móveis do Google que o volume do app foi silenciado pela configuração da propriedade applicationMuted:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

Por padrão, applicationVolume é definido como 1 (o volume atual do dispositivo) e applicationMuted é definido como NO.

Anúncios nativos

Consulte GADVideoOptions para mais instruções sobre como controlar as configurações de desativação do som. Para anúncios nativos, não há suporte ao controle de volume personalizado.

Sessões de áudio

As sessões de áudio permitem expressar ao sistema suas intenções para o comportamento comportamento de áudio. Informações adicionais sobre sessões de áudio podem ser encontradas em Audio Session Programming Guia. As opções disponíveis para gerenciar o áudio do SDK dos anúncios para dispositivos móveis do Google são as audioVideoManager .

Se você não usa áudio no app, não é necessário usar essas APIs. A página O SDK dos anúncios para dispositivos móveis gerencia automaticamente a categoria da sessão de áudio quando ela toca áudio. Se você reproduzir áudio em seu aplicativo e quiser ter mais controle sobre como e quando o SDK dos anúncios para dispositivos móveis do Google reproduz áudio, você pode usar essas APIs.

No Gerenciador de vídeos de áudio, você pode definir audioSessionIsApplicationManaged para YES se quiser assumir a responsabilidade pelo gerenciamento do áudio categoria de sessão.

Se quiser gerenciar a categoria da sessão de áudio, implemente GADAudioVideoManagerDelegate e defina o delegate no gerenciador de vídeo de áudio para ser notificado sobre anúncios de vídeo e áudio eventos de reprodução. Em seguida, você deve alterar a categoria da sessão de áudio para o categoria relevante de acordo com o Relatório de Programação de Sessão de Áudio da Apple Guia.

Aqui está um exemplo de código simplificado que mostra a abordagem recomendada caso seu o aplicativo reproduz música usando as APIs acima:

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

O SDK dos anúncios para dispositivos móveis do Google inspeciona exceções que ocorrem em um app iOS e as registra se tiverem sido causados pelo SDK. Essas exceções são então abordadas em versões futuras do SDK.

O Crash reporting está ativado por padrão. Se você não quiser exceções relacionadas a SDKs sejam gravadas, é possível desativar esse recurso chamando o disableSDKCrashReporting. O melhor momento para chamar esse método é o app é iniciado:

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

Caso seu app tenha requisitos especiais, é possível definir o NSUserDefaults gad_has_consent_for_cookies. O SDK dos anúncios para dispositivos móveis do Google permite anúncios limitados (LTDs) se a preferência gad_has_consent_for_cookies estiver definida como zero.

Swift

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

Objective-C

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