Ad Exchange 직접 액세스 설정

Google 모바일 광고 SDK를 사용하면 Ad Exchange 속성을 통해 앱에서 수익을 창출할 수 있습니다. 이 가이드에는 Ad Exchange에서 지원하는 모든 광고 형식에 맞게 앱을 구성하는 방법이 나와 있습니다.

기본 요건

Ad Exchange에 액세스할 수 있도록 앱 구성

앱의 Info.plist 파일을 업데이트하여 GADApplicationIdentifier 키를 Ad Manager 앱 ID (Ad Manager UI에서 식별됨)의 문자열 값으로 설정합니다.

또한 위와 같이 info.plist 파일에서 GADApplicationIdentifier 키를 설정하지 않으면 다음과 같은 메시지가 비정상 종료됩니다.

Terminating app due to uncaught exception 'GADInvalidInitializationException',
reason: 'The Google Mobile Ads SDK was initialized without an application ID.
Google AdMob publishers, follow instructions at
https://googlemobileadssdk.page.link/admob-ios-update-plist to set a valid
application ID. Google Ad Manager publishers, follow instructions at
https://googlemobileadssdk.page.link/ad-manager-ios-update-plist.'

이제 표시할 광고 형식을 선택할 수 있습니다. 이 가이드의 나머지 부분에서는 배너 형식을 구현하여 Ad Exchange에서 광고를 로드하는 방법을 보여줍니다. Google 모바일 광고 SDK에서 지원하는 모든 광고 형식에도 동일한 단계가 적용됩니다.

Ad Exchange에서 광고 로드

앱에서 광고 단위 ID 대신 끝에 슬래시가 있는 Ad Exchange 웹 속성 코드를 사용할 수 있습니다.

배너 광고를 로드하고 표시하려면 GAMBannerViewadUnitID가 필요합니다. 이 속성을 다음과 같이 Ad Exchange 웹 속성 ID로 설정할 수 있습니다.

override func viewDidLoad() {
  super.viewDidLoad()
  ...

  bannerView.adUnitID = "ca-mb-app-pub-5629679302779023/"
  bannerView.rootViewController = self
}

위와 같이 Ad Exchange 웹 속성 코드에 후행 슬래시를 추가하지 않으면 다음과 같은 메시지와 함께 광고 요청 오류가 발생합니다.

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Ad Exchange 웹 서비스 코드를 광고 단위로 변환할 수도 있습니다. 그런 다음 Ad Manager UI를 사용하여 Ad Exchange 태그를 생성하고 앱에 복사할 수 있습니다. 생성된 태그에는 Ad Exchange 웹 속성 코드가 있어야 하며 그 뒤에 슬래시 없이 하위 광고 단위 ID가 있어야 합니다. 예를 들면 다음과 같습니다. ca-mb-app-pub-5629679302779023/banner

GAMBannerView를 배치하고 속성을 구성한 후 광고를 로드하고 광고 이벤트를 사용하여 광고의 동작을 맞춤설정할 수 있습니다.

이제 완료됐습니다. 이제 앱에서 Ad Exchange의 배너 광고를 로드하고 표시할 수 있습니다.

또한 Ad Exchange 웹 속성을 사용하여 Ad Exchange에서 다른 광고 형식을 로드 및 게재할 수 있으며, 다음 중 해당하는 가이드를 따르세요.

(승인된 유럽 게시자만 해당) 최저 가격 추가

'최저 가격' 기능에 대한 요청을 제출할 수 있습니다.

승인되면 pubfpvtf 매개변수를 각각 사용하여 광고 요청에 공개 하한선 또는 비공개 하한선을 포함할 수 있습니다. 다음 코드 예에서 '123'을 마이크로 단위의 가격 하한선과 네트워크의 기본 통화로 바꿉니다. 마이크로가 적용되는 방법의 예: 기본 통화가 USD인 경우 '6000000'을 입력하면 $6.00에 해당합니다.

Swift

let extras = GADAdNetworkExtras()
extras.additionalParameters = ["pubf": "123", "pvtf": "123"]

let request = GAMRequest()
request.register(extras)

Objective-C

GADAdNetworkExtras *extras = [[GADAdNetworkExtras alloc] init];
extras.additionalParameters = @{@"pubf": @"123", @"pvtf": @"123"};

GAMRequest *request = [GAMRequest request];
[request registerAdNetworkExtras:extras];