Configurações globais

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

Controle de volume do anúncio em vídeo

Caso seu app tenha controles de volume próprios, como volumes personalizados de música ou de efeitos sonoros, a divulgação do volume do app para o SDK dos anúncios para dispositivos móveis do Google permite que os anúncios em vídeo respeitem 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 pelos 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 ajustar de forma independente os níveis de volume em relação ao volume do dispositivo para personalizar a experiência de áudio.

Para os formatos de anúncio de abertura do app, banner, intersticiais, premiado e intersticiais premiados, é possível informar o volume relativo do app ao SDK dos anúncios para dispositivos móveis do Google, configurando a propriedade applicationVolume. Os valores válidos de volume de anúncios variam de 0.0 (silencioso) a 1.0 (volume atual do dispositivo). Confira um exemplo de como informar 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 os formatos de anúncio 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 desativado definindo a 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 ver instruções sobre como controlar as configurações de desativação do som. Para anúncios nativos, não há suporte para controle de volume personalizado.

Sessões de áudio

As sessões de áudio permitem expressar para o sistema suas intenções para o comportamento de áudio do app. Outras informações sobre sessões de áudio podem ser encontradas no Guia de programação de sessão de áudio da Apple. As opções disponíveis para gerenciar o áudio do SDK dos anúncios para dispositivos móveis do Google são feitas pela propriedade audioVideoManager.

Se você não usa áudio no app, não é necessário usar essas APIs. O SDK de anúncios para dispositivos móveis do Google gerencia automaticamente a categoria da sessão de áudio quando a reproduz. Se você toca áudio no seu app e quer ter um controle maior de como e quando o SDK dos anúncios para dispositivos móveis do Google reproduz áudio, use essas APIs.

No Gerenciador de vídeos de áudio, você pode definir a propriedade audioSessionIsApplicationManaged como YES se quiser assumir a responsabilidade de gerenciar a categoria da sessão de áudio por conta própria.

Se quiser gerenciar a categoria da sessão de áudio, implemente GADAudioVideoManagerDelegate e defina a propriedade delegate no Gerenciador de vídeos de áudio para receber notificações sobre eventos de reprodução de áudio e vídeo de anúncios. Em seguida, altere a categoria da sessão de áudio para a categoria relevante de acordo com o Guia de programação de sessão de áudio da Apple.

Confira um exemplo de código simplificado que mostra a abordagem recomendada para apps que tocam 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 as exceções que ocorrem em um app iOS e as registra se elas tiverem sido causadas pelo SDK. Essas exceções serão resolvidas em versões futuras do SDK.

O relatório de erros é ativado por padrão. Se você não quiser que exceções relacionadas ao SDK sejam registradas, desative esse recurso chamando o método disableSDKCrashReporting. O melhor momento para chamar esse método é quando 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, você pode definir o gad_has_consent_for_cookies NSUserDefaults opcional. O SDK dos anúncios para dispositivos móveis do Google permite anúncios limitados (LTD) se a preferência gad_has_consent_for_cookies for 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");