전체 설정

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의 오디오 세션 프로그래밍 가이드를 참고하세요. Google 모바일 광고 SDK 오디오를 관리하는 데 사용할 수 있는 옵션은 audioVideoManager 속성을 사용하는 것입니다.

앱에서 오디오를 사용하지 않는다면 이러한 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를 설정할 수 있습니다. Google 모바일 광고 SDK는 gad_has_consent_for_cookies 환경설정이 0으로 설정된 경우 제한적인 광고 (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");