Klasa GADMobileAds udostępnia globalne ustawienia, które umożliwiają kontrolowanie niektórych informacji zbieranych przez Google Mobile Ads SDK.
Kontrolowanie głośności reklam wideo
Jeśli aplikacja ma własną regulację głośności, np. głośność niestandardowej muzyki lub efektów dźwiękowych, udostępnienie informacji o głośności aplikacji usłudze Google Mobile Ads SDK umożliwia reklamom wideo dostosowanie się do ustawień głośności aplikacji. Dzięki temu użytkownicy będą mogli oglądać reklamy wideo z zamierzonym poziomem głośności.
Głośność urządzenia kontrolowana za pomocą przycisków głośności lub suwaka głośności na poziomie systemu operacyjnego określa głośność wyjścia audio urządzenia. Aplikacje mogą jednak niezależnie dostosowywać poziomy głośności względem głośności urządzenia, aby dopasować dźwięk do potrzeb użytkownika.
W przypadku reklam wyświetlanych przy otwarciu aplikacji, banerów, reklam pełnoekranowych, reklam z nagrodą i reklam pełnoekranowych z nagrodą możesz zgłaszać względną liczbę wyświetleń w aplikacji do Google Mobile Ads SDK, ustawiając właściwość 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 sposobu zgłaszania względnej liczby wyświetleń 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 reklam wyświetlanych przy otwarciu aplikacji, banerów, reklam pełnoekranowych, reklam z nagrodą i reklam pełnoekranowych z nagrodą 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 wartość applicationVolume jest ustawiona na 1 (bieżąca głośność urządzenia), a wartość applicationMuted jest ustawiona na NO.
Reklamy natywne
Instrukcje dotyczące sterowania ustawieniami wyciszania znajdziesz w sekcji
GADVideoOptions. W przypadku reklam natywnych nie ma obsługi niestandardowego sterowania głośnością.
Sesje audio
Sesje audio pozwalają określić systemowi, jak ma się zachowywać dźwięk w aplikacji. Dodatkowe informacje o sesjach audio znajdziesz w przewodniku po programowaniu sesji audio firmy Apple.
Dostępne opcje zarządzania dźwiękiem Google Mobile Ads SDK to właściwość 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, gdy odtwarza dźwięk. 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.
W menedżerze audio i wideo możesz ustawić właściwość
audioSessionIsApplicationManaged
na YES, jeśli chcesz samodzielnie zarządzać kategorią sesji audio.
Jeśli chcesz zarządzać kategorią sesji audio, możesz wdrożyć
GADAudioVideoManagerDelegate
i ustawić właściwość delegate
w menedżerze audio i wideo, aby otrzymywać powiadomienia o zdarzeniach odtwarzania reklam wideo i audio. Następnie zmień kategorię sesji audio na odpowiednią kategorię zgodnie z przewodnikiem Apple dotyczącym programowania sesji audio.
Oto uproszczony przykładowy kod, który pokazuje zalecane podejście, jeśli Twoja aplikacja odtwarza muzykę, przy użyciu 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 zostaną uwzględnione w przyszłych wersjach pakietu SDK.
Funkcja zgłaszania awarii jest domyślnie włączona. Jeśli nie chcesz rejestrować wyjątków związanych z pakietem SDK, 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
Ustawienia zgody na stosowanie plików cookie
Jeśli Twoja aplikacja ma specjalne wymagania, możesz ustawić opcjonalny element
NSUserDefaults
gad_has_consent_for_cookies. Google Mobile Ads SDK włącza ograniczone wyświetlanie reklam (LTD), jeśli wartość preferencji gad_has_consent_for_cookies wynosi 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");