전체 설정

GADMobileAds 클래스는 모바일 광고 SDK에서 수집하는 특정 정보를 관리하기 위한 전체 설정을 제공합니다.

동영상 광고 볼륨 조절

앱에 자체적인 볼륨 조절 기능(예: 맞춤 음악 또는 음향효과 볼륨)이 있는 경우, Google 모바일 광고 SDK에 앱 볼륨 정보를 공개하면 동영상 광고에 앱 볼륨 설정을 적용할 수 있습니다. 이를 통해 사용자가 놀라지 않는 범위의 오디오 볼륨으로 동영상 광고가 게재됩니다.

볼륨 버튼 또는 OS 수준 볼륨 슬라이더를 통해 조절되는 기기 볼륨은 기기 오디오 출력 볼륨을 결정합니다. 그러나 앱은 기기 볼륨을 기준으로 자체적인 볼륨 수준을 조절하여 맞춤 오디오 환경을 제공할 수 있습니다.

앱 실행, 배너, 전면 광고, 보상형 광고, 보상형 전면 광고 형식의 경우 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;
  ...
}

앱 실행, 배너, 전면 광고, 보상형 광고, 보상형 전면 광고 형식의 경우 applicationMuted 속성을 설정하여 앱 볼륨이 음소거되었음을 Google 모바일 광고 SDK에 알릴 수 있습니다.

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

기본적으로 applicationVolume1(현재 기기 볼륨)로 설정되고 applicationMutedNO로 설정됩니다.

네이티브 광고

음소거 설정을 제어하는 방법은 GADVideoOptions를 참고하세요. 네이티브 광고의 경우 맞춤 볼륨 설정이 지원되지 않습니다.

오디오 세션

오디오 세션을 통해 앱의 오디오 동작에 대한 개발자의 의도를 시스템에 반영할 수 있습니다. 오디오 세션에 대한 자세한 내용은 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
}

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

앱에 특별한 요구사항이 있다면 NSUserDefaults gad_has_consent_for_cookies(선택사항)을 설정할 수 있습니다. gad_has_consent_for_cookies 환경설정이 0으로 설정된 경우 Google 모바일 광고 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");