미디에이션 테스트 모음

AdMob 미디에이션 테스트 모음을 이용하면 AdMob 미디에이션을 통해 제3자 네트워크의 광고를 게재하기 위해 앱과 광고 단위가 제대로 구성되었는지 테스트할 수 있습니다.

본 가이드에는 iOS 앱에서 AdMob 미디에이션 테스트 모음을 이용하는 방법이 설명되어 있습니다. 첫 번째 단계는 도구를 앱에 연결하는 것입니다.

기본 요건

  • Xcode 11 이상 사용

  • iOS 8.0 이상 타겟팅

설치

미디에이션 테스트 모음은 CocoaPods를 이용해 설치합니다. 이를 위해 Podfile에 다음 행을 추가합니다.

pod 'GoogleMobileAdsMediationTestSuite'

이렇게 하면 테스트 모음과 필수 Material Components 종속 항목이 구성됩니다. pod install을(를) 실행하여 설치를 완료합니다.

미디에이션 테스트 모음 실행

설정

도구를 표시하려면 먼저 프레임워크를 가져오세요.

Swift

import GoogleMobileAdsMediationTestSuite

Objective-C

@import GoogleMobileAdsMediationTestSuite;

그런 다음 뷰가 표시된 후 다음과 같이 테스트 모음을 표시합니다.

Swift

GoogleMobileAdsMediationTestSuite.present(on:self, delegate:nil)

Objective-C

[GoogleMobileAdsMediationTestSuite presentOnViewController:self delegate:nil];

이렇게 하려면 Info.plistAdMob 앱 ID를 올바르게 입력해야 합니다.

대리자는 선택사항이며 도구를 닫을 때 알림을 받으려는 경우에만 제공됩니다. 대리자 콜백을 구현하려면 GMTSMediationTestSuiteDelegate 프로토콜을 준수하고 mediationTestSuiteWasDismissed 메서드를 구현합니다.

테스트 모음 실행

도구가 열리고 다음과 같은 면책조항이 표시됩니다.

체크박스를 선택하고 동의를 누르면 다음 단계로 넘어갑니다.

그런 다음 계정의 광고 단위가 오류가 있는 광고 단위 탭과 정상 작동하는 광고 단위 탭에 표시됩니다.

오류가 있는 광고 단위 목록은 누락된 구성요소구성 오류로 구분됩니다.

광고 단위 네트워크가 모두 정상적으로 테스트되면 광고 단위가 작동하지 않는 광고 단위 탭에서 작동 중인 광고 단위 탭으로 이동합니다. 광고 단위 목록이 표시되지 않으면 네트워크 호출에 실패했거나 광고 단위를 찾을 수 없기 때문입니다.

광고 단위 목록을 검색하려면 상단의 검색 아이콘을 누르고 광고 단위 ID 문자열을 입력합니다. 네트워크 이름 또는 광고 형식을 검색할 수도 있습니다.

각 광고 단위에 대해 다음에 해당하는 경우 이 화면에 경고가 표시됩니다.

  • 광고 소스 SDK가 설치되지 않은 경우
  • 광고 소스 어댑터가 설치되지 않은 경우

테스트가 가능한 경우 화면에 모든 광고 소스의 전반적인 테스트 결과 상태도 표시됩니다.

광고 단위 세부정보 화면으로 이동할 광고 단위를 선택합니다.

광고 단위 세부정보

이 화면에는 광고 단위 ID, 광고 형식, 광고 단위에 구성된 미디에이션 폭포식 구조 등의 광고 단위 관련 세부정보가 표시됩니다.

이 화면에서 표시되는 다음 정보를 확인합니다.

광고 소스 요약

광고 소스별로 SDK와 어댑터의 설치 여부를 나타내는 표시기가 나타나고이 세션에서 이 구성의 마지막 테스트 결과가 제공됩니다.

맞춤 이벤트의 경우 맞춤 이벤트: custom event 라벨이 사용됩니다. 맞춤 이벤트에 대해 지정된 클래스가 있으면 맞춤 이벤트에 대한 어댑터 상태가 양수로 표시됩니다. 다른 네트워크와 동일한 방법으로 맞춤 이벤트에 대한 광고를 로드 및 조회할 수 있습니다.

검색

검색 아이콘을 누르면 이름에 따라 광고 소스를 검색할 수 있는 검색 화면이 표시됩니다.

배치 테스트

광고 소스 이름의 왼쪽에 있는 체크박스를 선택하여 각 광고 소스를 일괄적으로 테스트하도록 선택할 수 있습니다. 이렇게 하면 새 옵션이 탐색 메뉴에 나타납니다.

선택한 광고 소스의 광고를 순차적으로 로드하려면 오른쪽 상단의 광고 로드 버튼을 누릅니다. 테스트가 진행되는 동안 진행률 표시기가 표시됩니다. 왼쪽 상단의 뒤로 아이콘을 누르면 선택 사항이 삭제됩니다.

광고 로드 및 게재

광고 소스 세부정보 화면을 보려면 광고 소스 항목을 탭합니다.

화면에는 다음과 같은 광고 소스 관련 정보가 표시됩니다.

  • SDK 설치 여부 및 SDK 버전(해당하는 경우)
  • 어댑터 설치 여부 및 어댑터 버전(해당하는 경우)
  • 어댑터 초기화 상태(해당하는 경우)
  • AdMob 콘솔에 입력된 구성의 매개변수

필요한 모든 구성요소를 설치하면 광고 로드 테스트 단계로 넘어갈 수 있습니다. 광고 로드를 탭하면 광고 소스 SDK로 광고 요청이 전송됩니다. 광고 요청이 완료되면 요청의 성공 여부를 나타내는 업데이트 정보가 제공됩니다.

요청에 실패하면 콘솔 로그에서 테스트 중인 SDK의 메시지를 확인합니다.

요청에 성공한 경우

  • 배너 광고의 경우 광고가 인라인으로 표시됩니다.
  • 전면 광고 또는 보상형 광고의 경우 광고 표시를 탭하여 광고를 표시할 수 있습니다.

    다음 예시와 같이 광고가 새 화면에서 열립니다.

광고 단위 세부정보 화면으로 돌아가면 마지막으로 광고 단위 목록 화면의 광고를 테스트한 결과가 표시됩니다. 성공적으로 로드된 광고 소스는 추가 테스트가 필요한 광고 소스 목록의 맨 아래에 표시됩니다. 이 결과는 모든 세션에서 동일하게 나타나지 않을 수 있습니다.

프로덕션 단계에서 테스트 사용 설정

기본적으로 미디에이션 테스트 모음은 개발, 임시, 엔터프라이즈 빌드에서만 실행됩니다. 이는 최종 사용자가 실수로 테스트 모음을 실행하지 못하도록 방지하기 위한 것입니다.

앱이 프로덕션 단계에 들어간 후 기기에서 미디에이션 테스트 모음을 실행해야 하는 경우 SDK를 사용하여 해당 기기를 테스트 기기로 등록해야 합니다.

프로덕션 앱에 미디에이션 테스트 모음을 추가할 때는 미디에이션 테스트 모음(예: 숨겨진 동작 또는 숨겨진 디버그 메뉴)을 실행하는 숨겨진 방법이 필요합니다. 그러면 빌드의 허용 목록에 추가된 모든 기기에서 테스트 모음을 실행할 수 있습니다.

네트워크 추가 기능으로 광고 요청 구성(선택사항)

Vungle과 같은 일부 미디에이션 대상 네트워크에서는 네트워크에 대한 요청에 추가 정보를 제공하기 위해 맞춤 네트워크 추가 객체 요청하거나 제공하는 옵션이 있습니다. 미디에이션 요청에 네트워크 추가 기능을 제공해야 하는 경우 [GoogleAdsMediationTestSuite setAdRequest:] 정적 메서드를 통해 사용할 테스트 모음에 대한 광고 요청을 설정할 수 있습니다.

Swift

let request = GADRequest()
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras object, call
// 'request.register(<network extras>)'
...
GoogleAdsMediationTestSuite.setAdRequest(request);

Objective-C

GADRequest request = [GADRequest request];
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras object, call
// '[request registerAdNetworkExtras:<network extras>];'
...
[GoogleAdsMediationTestSuite setAdRequest:request];

미디에이션 테스트 모음을 실행하기 전에 다음 작업을 처리해야 합니다.

이를 통해 테스트 모음이 미디에이션된 네트워크에 대한 요청에서 사용할 수 있는 모든 추가 기능으로 광고 요청을 인스턴스화하고 구성할 수 있습니다.

고급 CocoaPods 구성(선택사항, 디버그만 해당)

앱의 디버그 버전에만 포드를 포함하려면 이를 Podfile에서 Debug 빌드 구성 전용 포드로 지정합니다. 또한 #ifdef DEBUG 구문 또는 유사 구문을 이용해 도구를 호출하는 모든 코드를 보호해야 합니다.

디버그 구성에만 포드를 포함시키려면 다음 행을 사용합니다.

pod 'GoogleMobileAdsMediationTestSuite', :configurations => ['Debug'], :path => '/path/to/GoogleMobileAdsMediationTestSuite/'

#ifdef DEBUG을(를) 사용하여 프레임워크 및 해당 클래스에 대한 모든 참조를 래핑합니다.

Swift

import UIKit
#if DEBUG
import GoogleMobileAdsMediationTestSuite
#endif
import GoogleMobileAds

let APP_ID = "ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"

class ViewController: UIViewController {

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

  @IBAction func presentMediationController(_ sender: AnyObject) {
      #if DEBUG
        GoogleMobileAdsMediationTestSuite.present(withAppId:APP_ID, on:self, delegate:nil)
      #endif
    }

Objective-C

#import "ViewController.h"
#ifdef DEBUG
@import GoogleMobileAdsMediationTestSuite;
#endif
#import <GoogleMobileAds/GoogleMobileAds.h>

static NSString *APP_ID = @"ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy";

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
}

- (IBAction)presentMediationController:(id)sender {
#ifdef DEBUG
    [GoogleMobileAdsMediationTestSuite presentWithAppId:APP_ID
                                       onViewController:self
                                               delegate:nil];
  }
#endif
}

자주 묻는 질문

면책조항이 매번 표시되나요?
예. Google에서는 미디에이션 광고 소스를 테스트 모드로 사용해야 한다는 점을 상기시키기 위해 매번 면책조항을 표시합니다.
광고 단위 세부정보 페이지에 AdMob이 여러 번 표시되는 이유가 무엇인가요?
여러 개의 미디에이션 그룹에서 동일한 광고 단위를 타겟팅하는 경우 모든 그룹을 결합합니다. 예를 들어 광고 소스가 다른 여러 개의 AdMob 항목이 표시될 수 있습니다. 동일한 미디에이션 그룹 내에서도 미디에이션 파트너를 최대 3번까지 정의할 수 있습니다.
미디에이션 테스트 모음에서 어떤 네트워크/광고 소스를 지원하나요?
테스트 모음은 모든 오픈소스 및 버전이 명시된 어댑터는 물론 맞춤 이벤트 어댑터에서도 작동합니다. Google 오픈소스 이니셔티브의 광고 네트워크는 미디에이션 페이지에 나와 있습니다.