Paramètres globaux

La classe GADMobileAds fournit des paramètres généraux permettant de contrôler certaines informations collectées par le SDK Mobile Ads.

Contrôle du volume des annonces vidéo

Si votre application dispose de ses propres commandes de volume, telles que des volumes musicaux ou d'effets sonores personnalisés, le fait de communiquer le volume de l'application au SDK Google Mobile Ads permet aux annonces vidéo de respecter les paramètres de volume de l'application. Cela permet de s'assurer que les utilisateurs voient les annonces vidéo avec le volume audio prévu.

Le volume de l'appareil, contrôlé à l'aide des boutons de volume ou du curseur de volume au niveau du système d'exploitation, détermine le volume de la sortie audio de l'appareil. Toutefois, les applications peuvent ajuster indépendamment les niveaux de volume par rapport au volume de l'appareil pour adapter l'expérience audio.

Pour les annonces à l'ouverture, les bannières, les annonces interstitielles, les annonces avec récompense et les annonces interstitielles avec récompense, vous pouvez signaler le volume relatif de l'application au SDK Google Mobile Ads en définissant la propriété applicationVolume. Les valeurs de volume de l'annonce valides sont comprises entre 0.0 (silencieux) et 1.0 (volume actuel de l'appareil). Voici un exemple de signalement du volume relatif de l'application au 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;
  ...
}

Pour les formats d'annonces "Ouverture de l'application", "Bannière", "Interstitiel", "Annonce avec récompense" et "Interstitiel avec récompense", vous pouvez informer le SDK Google Mobile Ads que le volume de l'application a été coupé en définissant la propriété applicationMuted :

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

Par défaut, applicationVolume est défini sur 1 (volume actuel de l'appareil) et applicationMuted sur NO.

Annonces natives

Pour savoir comment contrôler les paramètres de masquage, consultez GADVideoOptions. Pour les annonces natives, le contrôle du volume personnalisé n'est pas pris en charge.

Sessions audio

Les sessions audio vous permettent d'indiquer au système vos intentions concernant le comportement audio de votre application. Pour en savoir plus sur les sessions audio, consultez le guide de programmation des sessions audio d'Apple. Les options disponibles pour gérer l'audio du SDK Google Mobile Ads sont disponibles via la propriété audioVideoManager.

Si vous n'utilisez pas de contenu audio dans votre application, vous n'avez pas besoin d'utiliser ces API. Le SDK Google Mobile Ads gère automatiquement la catégorie de session audio lorsqu'il lit du contenu audio. Si vous diffusez du contenu audio dans votre application et que vous souhaitez contrôler plus précisément comment et quand le SDK Google Mobile Ads diffuse du contenu audio, vous pouvez utiliser ces API.

Dans le gestionnaire audio-vidéo, vous pouvez définir la propriété audioSessionIsApplicationManaged sur YES si vous souhaitez gérer vous-même la catégorie de session audio.

Si vous souhaitez gérer la catégorie de session audio, vous pouvez implémenter GADAudioVideoManagerDelegate et définir la propriété delegate sur le gestionnaire audio/vidéo pour être informé des événements de lecture audio et vidéo des annonces. Vous devez ensuite remplacer la catégorie de session audio par la catégorie appropriée, conformément au guide de programmation de session audio d'Apple.

Voici un exemple de code simplifié qui montre l'approche recommandée si votre application diffuse de la musique à l'aide des API ci-dessus :

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

Création de rapports d'erreur

Le SDK Google Mobile Ads inspecte les exceptions qui se produisent dans une application iOS et les enregistre si elles sont causées par le SDK. Ces exceptions sont ensuite traitées dans les prochaines versions du SDK.

L'envoi de rapports d'erreur est activé par défaut. Si vous ne souhaitez pas que les exceptions liées au SDK soient enregistrées, vous pouvez désactiver cette fonctionnalité en appelant la méthode disableSDKCrashReporting. Le meilleur moment pour appeler cette méthode est lorsque l'application démarre :

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

Si votre application présente des exigences particulières, vous pouvez définir l'gad_has_consent_for_cookies NSUserDefaults facultatif. Le SDK Google Mobile Ads active les annonces limitées (LTD) si la préférence gad_has_consent_for_cookies est définie sur zéro.

Swift

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

Objective-C

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