全局设置

GADMobileAds 类提供了全局设置,可用于控制移动广告 SDK 收集的特定信息。

视频广告音量控制

如果您的应用有自己的音量控制,例如自定义的音乐或音效音量,那么向 Google 移动广告 SDK 报告应用的音量后,视频广告会遵循相关的应用音量设置。这可确保用户收到符合预期的视频广告音量。

设备音量由音量按钮或操作系统级的音量滑块控制,以此确定设备的音频输出音量。但是,应用可相对于该设备音量独立调节自己的音量水平,从而定制音频体验。您可以通过设置 applicationVolume 属性向 Google 移动广告 SDK 报告相对的应用音量。广告音量的有效值范围为 0.0(静音)至 1.0(当前设备音量)。以下示例展示了如何将相对的应用音量报告给 SDK:

Swift

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 移动广告 SDK 应用已静音,请按如下所示代码设置 applicationMuted 属性:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

[GADMobileAds sharedInstance].applicationMuted = YES;

取消应用静音会将音量还原至先前设置的音量级别。默认情况下,Google 移动广告 SDK 的应用音量设置是 1(即当前设备音量)。

更改音频会话

通过使用音频会话,您可以向系统告知自己的应用音频行为要求。如需了解音频会话的更多信息,请参阅 Apple 的音频会话编程指南。您可以通过 audioVideoManager 属性获取管理 Google 移动广告 SDK 音频的各种可用选项。

如果您不在应用中使用音频,则无需使用这些 API。Google 移动广告 SDK 会在播放音频时自动管理音频会话类别。如果您要在应用中播放音频,并希望更严格地控制 Google 移动广告 SDK 播放音频的方式和时间,则这些 API 可为您提供帮助。

如果您想自己负责管理音频会话的类别,则可以在音视频管理器上将 audioSessionIsApplicationManaged 属性设置为 YES

如果您要管理音频会话的类别,则应实现 GADAudioVideoManagerDelegate 并在音视频管理器上设置 delegate 属性,以便接收广告视频和音频播放事件的通知。然后,您应该根据前述“Apple 的音频会话编程指南”中的规定,将音频会话类别更改为相关类别。

以下是一个简化的代码示例,显示了上述 API 在应用播放音乐条件下的推荐使用做法。

Swift

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 现在会自动收集常规的应用内购买信息,例如商品购买价格和使用的货币。现在,您不需要自行实现额外的逻辑来跟踪应用内购买转化。如果您是 AdMob 开发者,我们建议您利用这项新功能,以享受 AdMob 智能获利方案的优势。如果您要投放自家应用内购买广告(目前只在小范围内测试),则必须始终启用此应用内购买报告设置。如要报告自家应用内购买广告转化情况,就必须执行此项操作。

在我们的最新版 SDK 中,应用内购买报告在默认情况下处于启用状态。不过,如果您意愿,您也可以使用 disableAutomatedInAppPurchaseReporting 方法停用此功能(除非您要如上所述投放自家应用内购买广告)。此方法的最佳调用时机是在应用启动时:

Swift

AppDelegate.swift

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

Objective-C

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

崩溃报告

移动广告 SDK 会检查 iOS 应用中发生的异常,并会记录 SDK 所引发的异常。我们会收集这些异常,以便在将来的 SDK 版本中加以避免。

在我们的最新版 SDK 中,崩溃报告在默认情况下处于启用状态。如果您不想记录与 SDK 有关的异常,则可以通过调用 disableSDKCrashReporting 方法停用此功能。此方法的最佳调用时机是在应用启动时:

Swift

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

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面