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ą widzieć reklamy wideo z oczekiwanym 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 dostosować dźwięk.
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 applicationVolume jest ustawiona na 1 (bieżąca głośność urządzenia), a applicationMuted 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. Więcej informacji 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 nie używasz dźwięku w aplikacji, 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ę, 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 zostaną uwzględnione w przyszłych wersjach pakietu SDK.
Raportowanie awarii jest domyślnie włączone. 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 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");