Impostazioni globali

La classe GADMobileAds fornisce impostazioni globali per il controllo di determinate informazioni raccolte dall'SDK Mobile Ads.

Controllo del volume degli annunci video

Se la tua app dispone di propri controlli del volume, ad esempio volumi di musica o effetti sonori personalizzati, la comunicazione del volume dell'app all'SDK Google Mobile Ads consente agli annunci video di rispettare le impostazioni di volume dell'app. In questo modo, gli utenti ricevono annunci video con il volume audio previsto.

Il volume del dispositivo, controllato tramite i pulsanti del volume o il cursore del volume a livello di sistema operativo, determina il volume dell'uscita audio del dispositivo. Tuttavia, le app possono regolare in modo indipendente i livelli del volume rispetto a quello del dispositivo per personalizzare l'esperienza audio.

Per i formati di annunci apertura app, banner, interstitial, con premio e interstitial con premio, puoi segnalare il volume relativo dell'app all'SDK Google Mobile Ads impostando la proprietà applicationVolume. I valori validi per il volume degli annunci sono compresi tra 0.0 (silenzioso) e 1.0 (volume attuale del dispositivo). Ecco un esempio di come segnalare il volume relativo dell'app all'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;
  ...
}

Per i formati degli annunci apertura app, banner, interstitial, con premio e interstitial con premio, puoi comunicare all'SDK Google Mobile Ads che il volume dell'app è stato disattivato impostando la proprietà applicationMuted:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

Per impostazione predefinita, applicationVolume è impostato su 1 (il volume attuale del dispositivo) e applicationMuted su NO.

Annunci nativi

Consulta la pagina GADVideoOptions per istruzioni su come controllare le impostazioni di disattivazione dell'audio. Per gli annunci nativi, il controllo del volume personalizzato non è supportato.

Sessioni audio

Le sessioni audio ti consentono di esprimere al sistema le tue intenzioni in merito al comportamento audio della tua app. Ulteriori informazioni sulle sessioni audio sono disponibili nella Guida alla programmazione delle sessioni audio di Apple. Le opzioni disponibili per gestire l'audio dell'SDK Google Mobile Ads sono tramite la proprietà audioVideoManager.

Se non utilizzi l'audio nella tua app, non è necessario utilizzare queste API. L'SDK Google Mobile Ads gestisce automaticamente la categoria della sessione audio quando viene riprodotto l'audio. Se riproduci l'audio nella tua app e vuoi un maggiore controllo su come e quando l'SDK Google Mobile Ads riproduce l'audio, puoi utilizzare queste API.

In Gestione audio video, puoi impostare la proprietà audioSessionIsApplicationManaged su YES se vuoi assumerti la responsabilità della categoria della sessione audio.

Se vuoi gestire la categoria delle sessioni audio, puoi implementare GADAudioVideoManagerDelegate e impostare la proprietà delegate in Gestione audio video per ricevere notifiche relative agli eventi di riproduzione, video e audio degli annunci. Dovresti quindi modificare la categoria della sessione audio nella categoria pertinente secondo la Guida alla programmazione delle sessioni audio di Apple.

Ecco un esempio di codice semplificato che mostra l'approccio consigliato se la tua app riproduce musica utilizzando le API riportate sopra:

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];
}

Report sugli arresti anomali

L'SDK Google Mobile Ads controlla le eccezioni che si verificano in un'app per iOS e le registra se sono state causate dall'SDK. Queste eccezioni verranno quindi risolte nelle future versioni dell'SDK.

I report sugli arresti anomali sono attivati per impostazione predefinita. Se non vuoi che vengano registrate eccezioni relative all'SDK, puoi disattivare questa funzionalità chiamando il metodo disableSDKCrashReporting. Il momento migliore per chiamare questo metodo è quando viene avviata l'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

Se la tua app ha requisiti speciali, puoi impostare il valore facoltativo NSUserDefaults gad_has_consent_for_cookies. L'SDK Google Mobile Ads attiva annunci con limitazioni (LTD) se la preferenza gad_has_consent_for_cookies è impostata su 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");