GADMobileAds
クラスには、Mobile Ads SDK が収集する特定の情報を制御するための全般設定があります。
動画広告のボリューム調整
アプリに独自の音量調整機能(音楽や効果音のカスタム音量設定など)が備わっている場合、アプリの音量設定を Google Mobile Ads SDK に開示すれば、動画広告の音量にもアプリ側の音量設定を反映できます。これにより、動画広告をユーザーの想定どおりの音量で視聴してもらうことが可能になります。
デバイスの音声出力の音量は、デバイスの音量(音量ボタンまたは OS レベルの音量スライダーで制御)で決まります。アプリでは音声の聞こえ方を独自にコントロールするために、デバイスの設定に対する相対的なボリューム レベルを独自に調節できます。
アプリ起動、バナー、インタースティシャル、リワード、リワード インタースティシャルの各広告フォーマットでは、applicationVolume
プロパティを設定することで、相対的なアプリ ボリュームを Google Mobile Ads 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;
...
}
アプリ起動、バナー、インタースティシャル、リワード、リワード インタースティシャルの広告フォーマットでは、applicationMuted
プロパティを設定することで、アプリの音量がミュートされていることを Google Mobile Ads SDK に通知できます。
Swift
GADMobileAds.sharedInstance().applicationMuted = true
Objective-C
GADMobileAds.sharedInstance.applicationMuted = YES;
デフォルトでは、applicationVolume
は 1
(現在のデバイス ボリューム)に設定され、applicationMuted
は NO
に設定されています。
ネイティブ広告
ミュート設定を制御する手順については、GADVideoOptions
をご覧ください。ネイティブ広告では、カスタム音量調節はサポートされていません。
オーディオ セッション
オーディオ セッションでは、アプリの音声動作について、ご自身の意図をシステムに表明できます。オーディオ セッションについて詳しくは、Apple の Audio Session Programming Guide をご覧ください。Google Mobile Ads SDK のオーディオ管理オプションには、audioVideoManager
プロパティを使用します。
アプリで音声を使用しない場合は、これらの API を使用する必要はありません。その場合はオーディオの再生時に、Google Mobile Ads SDK によってオーディオ セッション カテゴリが自動的に管理されます。アプリ内でオーディオを再生し、Google Mobile Ads SDK によるオーディオ再生の方法とタイミングを厳密に管理したい場合は、これらの API を使用できます。
オーディオ セッション カテゴリをご自身の責任で管理する場合は、オーディオ動画管理で audioSessionIsApplicationManaged
プロパティに YES
を設定します。
オーディオ セッション カテゴリを管理する場合は、GADAudioVideoManagerDelegate
を実装し、オーディオ動画管理で delegate
プロパティを設定して、広告動画イベントとオーディオ再生イベントの通知を有効にできます。Apple の Audio Session Programming Guide に沿って、オーディオ セッション カテゴリを関連するカテゴリに変更します。
上記の 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 Mobile Ads 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
を設定できます。gad_has_consent_for_cookies
がゼロに設定されている場合、Google Mobile Ads SDK により
制限付き広告(LTD)
が有効にされます。
Swift
UserDefaults.standard.set(0, forKey: "gad_has_consent_for_cookies")
Objective-C
NSUserDefaults.standardUserDefaults().setObject(Int(0),
forKey: "gad_has_consent_for_cookies");