全般設定

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;

デフォルトでは、applicationVolume1(デバイスの現在の音量)に、applicationMutedNO に設定されています。

ネイティブ広告

ミュート設定を制御する手順については、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

アプリに特別な要件がある場合は、オプションの NSUserDefaults gad_has_consent_for_cookies を設定できます。Google Mobile Ads SDK により、gad_has_consent_for_cookies 設定がゼロに設定されている場合、 制限付き広告(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");