A classe GADMobileAds fornece configurações globais para controlar determinadas
informações coletadas pelo Google Mobile Ads SDK.
Controle de volume do anúncio em vídeo
Se o app tiver controles de volume próprios, como ajustes personalizados de música ou efeitos sonoros, divulgar o volume do app para o Google Mobile Ads SDK permite que os anúncios em vídeo respeitem as configurações dele. 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, intersticial, premiado e intersticial premiado, é possível informar o volume relativo do app para Google Mobile Ads SDK definindo 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.
MobileAds.shared.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, informe Google Mobile Ads SDK que o volume do app foi silenciado definindo a propriedade applicationMuted:
Swift
MobileAds.shared.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 instruções sobre como controlar as configurações de silenciamento. Para anúncios nativos, não há suporte para controle de volume personalizado.
Sessões de áudio
Com as sessões de áudio, você pode expressar ao sistema suas intenções para o comportamento de áudio do app. Para mais informações sobre sessões de áudio, consulte o Guia de programação de sessões de áudio da Apple.
As opções disponíveis para gerenciar o áudio Google Mobile Ads SDK estão na propriedade
audioVideoManager.
Se você não usa áudio no seu app, não precisa usar essas APIs. O Google Mobile Ads SDK gerencia automaticamente a categoria da sessão de áudio quando reproduz áudio. Se você reproduz áudio no seu app e quer ter mais controle sobre como e quando o Google Mobile Ads SDK reproduz áudio, use essas APIs.
No gerenciador de áudio e vídeo, defina a propriedade
audioSessionIsApplicationManaged
como YES se quiser 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 áudio e vídeo para receber notificações de eventos de reprodução
de áudio e vídeo de anúncios. Em seguida, mude a categoria da sessão de áudio para a
relevante de acordo com o Guia de programação de sessões de áudio da
Apple.
Confira um exemplo de código simplificado que mostra a abordagem recomendada se o app reproduz música, usando as APIs acima:
Swift
func setUp() {
MobileAds.shared.audioVideoManager.delegate = self
MobileAds.shared.audioVideoManager.audioSessionIsApplicationManaged = false
}
// MARK: - GADAudioVideoManagerDelegate
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
// The Google Mobile Ads SDK is notifying your app that it will play audio. You
// could optionally pause music depending on your apps design.
MyAppObject.shared.pauseAllMusic()
}
func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
// The Google Mobile Ads SDK is notifying your app that it has stopped playing
// audio. Depending on your design, you could resume music here.
MyAppObject.shared.resumeAllMusic()
}
Objective-C
- (void)setUp {
GADMobileAds.sharedInstance.audioVideoManager.delegate = self;
GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
}
#pragma mark - GADAudioVideoManagerDelegate
- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
// Google 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 {
// Google 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 Google Mobile Ads SDK inspeciona as exceções que ocorrem em um app iOS e as registra se elas foram causadas pelo SDK. Essas exceções são abordadas em versões futuras do SDK.
O relatório de erros está 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 {
MobileAds.shared.disableSDKCrashReporting()
return true
}
}
Objective-C
@import GoogleMobileAds;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GADMobileAds disableSDKCrashReporting];
return YES;
}
@end
Configurações de consentimento para o uso de cookies
Se o app tiver requisitos especiais, defina o
NSUserDefaults
gad_has_consent_for_cookies opcional. O Google Mobile Ads SDK ativa os anúncios limitados (LTD) 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");