全局設置

GADMobileAds類提供用於控制移動廣告 SDK 收集的某些信息的全局設置。

相同的應用程序密鑰

Google 移動廣告 SDK 版本 8.3.0 引入了相同的應用密鑰,以幫助您使用從應用中收集的數據投放更具相關性和個性化的廣告。

默認情況下啟用相同的應用程序密鑰,但您可以使用以下 API 禁用它。

迅速

@import GoogleMobileAds

// Disables the same app key.
GADMobileAds.sharedInstance().requestConfiguration.setSameAppKeyEnabled(false)

Objective-C

@import GoogleMobileAds;

// Disables the same app key.
[GADMobileAds.sharedInstance.requestConfiguration setSameAppKeyEnabled:NO];

視頻廣告音量控制

如果您的應用有自己的音量控制(例如自定義音樂或音效音量),向 Google 移動廣告 SDK 披露應用音量可以讓視頻廣告遵守應用音量設置。這可確保用戶收到具有預期音量的視頻廣告。

通過音量按鈕或操作系統級別的音量滑塊控制的設備音量決定了設備音頻輸出的音量。但是,應用程序可以相對於設備音量獨立調整音量級別,以定制音頻體驗。您可以通過設置applicationVolume屬性向 Google Mobile Ads SDK 報告相對應用量。有效的廣告音量值範圍從 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
  ...
}

Objective-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

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

默認情況下, applicationVolume設置為1 (當前設備音量), applicationMuted設置為NO

更改音頻會話

音頻會話允許您向系統表達您對應用程序音頻行為的意圖。有關音頻會話的更多信息,請參閱 Apple 的音頻會話編程指南。管理 Google Mobile Ads SDK 音頻的可用選項是通過audioVideoManager屬性。

如果您的應用程序中不使用音頻,則不需要使用這些 API。 Google 移動廣告 SDK 在播放音頻時會自動管理音頻會話類別。如果您確實在應用中播放音頻,並且希望更嚴格地控制 Google 移動廣告 SDK 播放音頻的方式和時間,這些 API 可以提供幫助。

在音頻視頻管理器上,如果您想自己負責管理音頻會話類別,可以將audioSessionIsApplicationManaged屬性設置為YES

如果您要管理音頻會話類別,您應該實現GADAudioVideoManagerDelegate並在音頻視頻管理器上設置delegate屬性,以便通知廣告視頻和音頻播放事件。然後,您應該按照上面鏈接的 Apple 音頻會話編程指南將音頻會話類別更改為相關類別。

這是一個簡化的代碼示例,它顯示瞭如果您的應用使用上述 API 播放音樂時推薦的方法。

迅速

func setUp() {
    GADMobileAds.sharedInstance().audioVideoManager.delegate = self
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
}
func myAppWillStartPlayingMusic() {
    // Mutes all Google video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = true
    GADMobileAds.sharedInstance().applicationMuted = true
}
func myAppDidStopPlayingMusic() {
    // Un-mutes all of our video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
    GADMobileAds.sharedInstance().applicationMuted = 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;
}

- (void)myAppWillStartPlayingMusic {
  // Mutes all Google video ads.
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = YES;
  GADMobileAds.sharedInstance.applicationMuted = YES;
}
- (void)myAppDidStopPlayingMusic {
  // Un-mutes all of our video ads.
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
  GADMobileAds.sharedInstance.applicationMuted = 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];
}

崩潰報告

移動廣告 SDK 會檢查 iOS 應用程序中發生的異常,並記錄它們是否是由 SDK 引起的。收集這些異常,以便我們可以在未來的 SDK 版本中阻止它們。

默認情況下啟用崩潰報告。如果您不希望記錄 SDK 相關的異常,可以通過調用disableSDKCrashReporting方法禁用此功能。調用此方法的最佳位置是應用程序啟動時:

迅速

AppDelegate.swift

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  GADMobileAds.disableSDKCrashReporting()
  return true
}

Objective-C

AppDelegate.m
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GADMobileAds disableSDKCrashReporting];
  return YES;
}