GADMobileAds
类提供了全局设置,用于控制
移动广告 SDK 收集的信息。
视频广告音量控制
如果您的应用有自己的音量控制,例如自定义音乐或音效 向 Google 移动广告 SDK 披露应用音量信息可启用视频广告 确保遵循应用音量设置这样可确保用户收到 预期音量。
设备音量,通过音量按钮或操作系统级别的音量滑块控制; 确定设备音频输出的音量。不过,应用可以独立地 相对于设备音量调节音量,以定制音频 体验。
对于开屏广告、横幅广告、插页式广告、激励广告和插页式激励广告
您可以向 Google 移动广告 SDK 报告相对的应用音量,方法是:
设置 applicationVolume
属性。广告音量的有效值范围为
从 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;
默认情况下,applicationVolume
设置为 1
(当前设备音量)
且 applicationMuted
设置为 NO
。
原生广告
请参阅
GADVideoOptions
了解有关控制静音设置的说明。对于原生广告
支持自定义音量控制。
音频会话
通过音频会话,您可以向系统传达您对应用优化的意图
音频行为。有关音频会话的更多信息,请参阅
Apple 的音频会话编程
导视面板。
管理 Google 移动广告 SDK 音频的可用选项为
该
audioVideoManager
属性。
如果您不在应用中使用音频,则无需使用这些 API。Google 在加载和播放音频会话时,移动广告 SDK 会自动管理音频会话类别。 播放音频。如果您需要在应用中播放音频,并且想要更严格地控制 Google 移动广告 SDK 播放音频的方式和时间,您可以利用这些 API。
在音频视频管理器中,您可以
audioSessionIsApplicationManaged
属性设置为 YES
(如果您希望负责管理音频)
会话类别。
如果您想管理音频会话类别,可以实现
GADAudioVideoManagerDelegate
并将 delegate
设置为
媒体资源,以便接收广告视频和音频广告的通知
播放事件。然后,您应将音频会话类别更改为
相关类别(根据 Apple 的 Audio Session Programming
导视面板。
下面是一个简化的代码示例,显示了 应用使用上述 API 播放音乐:
Swift
func setUp() {
GADMobileAds.sharedInstance().audioVideoManager.delegate = self
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = 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;
}
#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];
}
崩溃报告
Google 移动广告 SDK 会检查 iOS 应用中发生的异常,并 如果它们是由 SDK 导致的,则记录它们。然后, 在未来的 SDK 版本中会得到解决。
崩溃报告默认处于启用状态。如果您不想看到与 SDK 相关的异常
进行录制,您可以调用
disableSDKCrashReporting
方法结合使用。调用此方法的最佳时机是
应用会启动:
Swift
import GoogleMobileAds
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.disableSDKCrashReporting()
return true
}
}
Objective-C
@import GoogleMobileAds;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GADMobileAds disableSDKCrashReporting];
return YES;
}
@end
Cookie 意见征求设置
如果您的应用有特殊要求,则可将可选的
NSUserDefaults
gad_has_consent_for_cookies
。Google 移动广告 SDK 支持
受限广告 (LTD)
如果 gad_has_consent_for_cookies
偏好设置设为 0。
Swift
UserDefaults.standard.set(0, forKey: "gad_has_consent_for_cookies")
Objective-C
NSUserDefaults.standardUserDefaults().setObject(Int(0),
forKey: "gad_has_consent_for_cookies");