Ustawienia globalne

Klasa GADMobileAds zawiera ustawienia globalne, które pozwalają kontrolować niektóre informacje zbierane przez Google Mobile Ads SDK.

Sterowanie głośnością reklam wideo

Jeśli Twoja aplikacja ma własne elementy sterujące głośnością, np. niestandardową głośność muzyki lub efektów dźwiękowych ujawnienie głośności aplikacji pakietowi Google Mobile Ads SDK umożliwi reklamom wideo uwzględnianie ustawień głośności aplikacji. Dzięki temu użytkownicy będą mogli oglądać reklamy wideo z oczekiwaną głośnością.

Głośność wyjścia audio urządzenia jest określana przez głośność urządzenia kontrolowaną za pomocą przycisków głośności lub suwaka głośności na poziomie systemu operacyjnego. Aplikacje mogą jednak niezależnie dostosowywać poziomy głośności względem głośności urządzenia, aby dostosować wrażenia dźwiękowe.

W przypadku formatów reklam przy otwarciu aplikacji, banerowych, pełnoekranowych, z nagrodą i pełnoekranowych z nagrodą możesz zgłaszać względną głośność aplikacji do Google Mobile Ads SDK przez ustawienie właściwości applicationVolume. Prawidłowe wartości głośności reklamy mieszczą się w zakresie od 0.0 (cisza) do 1.0 (bieżąca głośność urządzenia). Oto przykład zgłaszania względnej głośności aplikacji do pakietu 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;
  ...
}

W przypadku formatów reklam przy otwarciu aplikacji, banerowych, pełnoekranowych, z nagrodą i pełnoekranowych z nagrodą ad możesz poinformować Google Mobile Ads SDK, że głośność aplikacji została wyciszona, ustawiając właściwość applicationMuted:

Swift

MobileAds.shared.applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

Domyślnie właściwość applicationVolume jest ustawiona na 1 (bieżąca głośność urządzenia), a właściwość applicationMuted na NO.

Reklamy natywne

Instrukcje dotyczące sterowania ustawieniami wyciszenia znajdziesz w artykule GADVideoOptions. W przypadku reklam natywnych niestandardowe sterowanie głośnością nie jest obsługiwane.

Sesje audio

Sesje audio pozwalają poinformować system o intencjach dotyczących zachowania dźwięku w aplikacji. Dodatkowe informacje o sesjach audio znajdziesz w przewodniku programowania sesji audio firmy Apple. Dostępne opcje zarządzania Google Mobile Ads SDK dźwiękiem są dostępne za pomocą właściwości audioVideoManager.

Jeśli w aplikacji nie używasz dźwięku, nie musisz korzystać z tych interfejsów API. Google Mobile Ads SDK automatycznie zarządza kategorią sesji audio podczas odtwarzania dźwięku. Jeśli odtwarzasz dźwięk w aplikacji i chcesz mieć większą kontrolę nad tym, jak i kiedy Google Mobile Ads SDK odtwarza dźwięk, możesz skorzystać z tych interfejsów API.

Jeśli chcesz samodzielnie zarządzać kategorią sesji audio, możesz ustawić właściwość audioSessionIsApplicationManaged w menedżerze audio i wideo na YES.

Jeśli chcesz zarządzać kategorią sesji audio, możesz zaimplementować GADAudioVideoManagerDelegate i ustawić właściwość delegate w menedżerze audio i wideo, aby otrzymywać powiadomienia o zdarzeniach odtwarzania wideo i audio w reklamach. Następnie zmień kategorię sesji audio na odpowiednią kategorię zgodnie z przewodnikiem programowania sesji audio firmy Apple Guide.

Oto uproszczony przykład kodu, który pokazuje zalecane podejście, jeśli aplikacja odtwarza muzykę, korzystając z powyższych interfejsów API:

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

Zgłaszanie awarii

Google Mobile Ads SDK sprawdza wyjątki występujące w aplikacji na iOS i rejestruje je, jeśli zostały spowodowane przez pakiet SDK. Te wyjątki są następnie rozwiązywane w przyszłych wersjach pakietu SDK.

Zgłaszanie awarii jest domyślnie włączone. Jeśli nie chcesz, aby wyjątki związane z pakietem SDK były rejestrowane, możesz wyłączyć tę funkcję, wywołując metodę disableSDKCrashReporting. Najlepszy moment na wywołanie tej metody to uruchomienie aplikacji:

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

Jeśli Twoja aplikacja ma specjalne wymagania, możesz ustawić opcjonalną wartość NSUserDefaults gad_has_consent_for_cookies. Google Mobile Ads SDK włącza ograniczone wyświetlanie reklam (LTD) jeśli preferencja gad_has_consent_for_cookies jest ustawiona na 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");