Глобальные настройки

Класс GADMobileAds предоставляет глобальные настройки для управления определенной информацией, собираемой Mobile Ads SDK.

Регулятор громкости видеорекламы

Если в вашем приложении есть собственные элементы управления громкостью, например громкость музыки или звуковых эффектов, раскрытие громкости приложения Google Mobile Ads SDK позволяет видеорекламе учитывать настройки громкости приложения. Это гарантирует, что пользователи будут получать видеорекламу с ожидаемой громкостью звука.

Громкость устройства, управляемая с помощью кнопок громкости или ползунка громкости на уровне ОС, определяет громкость вывода звука устройства. Однако приложения могут независимо регулировать уровни громкости относительно громкости устройства, чтобы адаптировать качество звука.

Для форматов рекламы при открытии приложения, баннерной, межстраничной, с вознаграждением и межстраничной рекламы с вознаграждением вы можете сообщить об относительном объеме приложения в Google Mobile Ads SDK, установив свойство applicationVolume . Допустимые значения громкости рекламы варьируются от 0.0 (без звука) до 1.0 (громкость текущего устройства). Вот пример того, как сообщить об относительном объеме приложения в SDK:

Быстрый

func viewDidLoad() {
  super.viewDidLoad()
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance().applicationVolume = 0.5
  ...
}

Цель-C

- (void)viewDidLoad {
  [super viewDidLoad];
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance.applicationVolume = 0.5;
  ...
}

Для форматов объявлений с открытием приложения, баннеров, межстраничных объявлений, объявлений с вознаграждением и межстраничных объявлений с вознаграждением вы можете сообщить Google Mobile Ads SDK о том, что звук в приложении отключен, установив свойство applicationMuted :

Быстрый

GADMobileAds.sharedInstance().applicationMuted = true

Цель-C

GADMobileAds.sharedInstance.applicationMuted = YES;

По умолчанию applicationVolume установлено значение 1 (текущая громкость устройства), а для applicationMuted установлено значение NO .

Нативная реклама

См. GADVideoOptions для получения инструкций по управлению настройками отключения звука. Для нативной рекламы не поддерживается настраиваемая регулировка громкости.

Аудиосессии

Аудиосессии позволяют вам сообщить системе о своих намерениях относительно поведения звука вашего приложения. Дополнительную информацию об аудиосессиях можно найти в Руководстве по программированию аудиосессий Apple. Доступные параметры управления звуком Google Mobile Ads SDK доступны через свойство audioVideoManager .

Если вы не используете аудио в своем приложении, вам не нужно использовать эти API. Google Mobile Ads SDK автоматически управляет категорией аудиосеанса при воспроизведении аудио. Если вы воспроизводите звук в своем приложении и хотите более точно контролировать, как и когда Google Mobile Ads SDK воспроизводит звук, вы можете использовать эти API.

В диспетчере аудио-видео вы можете установить для свойства audioSessionIsApplicationManaged значение YES , если хотите взять на себя ответственность за управление категорией аудиосеанса самостоятельно.

Если вы хотите управлять категорией аудиосеанса, вы можете реализовать GADAudioVideoManagerDelegate и установить свойство delegate в диспетчере аудио-видео, чтобы получать уведомления о событиях воспроизведения рекламного видео и аудио. Затем вам следует изменить категорию аудиосеанса на соответствующую категорию в соответствии с Руководством по программированию аудиосеанса Apple .

Ниже приведен упрощенный пример кода, показывающий рекомендуемый подход, если ваше приложение воспроизводит музыку с использованием вышеуказанных API:

Быстрый

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()
}

Цель-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];
}

Отчеты о сбоях

Google Mobile Ads SDK проверяет исключения, возникающие в приложении iOS, и записывает их, если они вызваны SDK. Эти исключения затем устраняются в будущих версиях SDK.

Отчеты о сбоях включены по умолчанию. Если вы не хотите, чтобы исключения, связанные с SDK, записывались, вы можете отключить эту функцию, вызвав метод disableSDKCrashReporting . Лучшее время для вызова этого метода — при запуске приложения:

Быстрый

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.disableSDKCrashReporting()
    return true
  }
}

Цель-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds disableSDKCrashReporting];
  return YES;
}

@end

Если у вашего приложения есть особые требования, вы можете установить необязательный NSUserDefaults gad_has_consent_for_cookies . Google Mobile Ads SDK включает ограниченное количество объявлений(LTD), если для параметра gad_has_consent_for_cookies установлено нулевое значение.

Быстрый

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

Цель-C

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