이 가이드에서는 미디에이션 어댑터를 iOS 앱과 통합하는 방법을 설명합니다.
기본 요건
광고 형식에 적합한 미디에이션 기능을 통합하기 전에 해당 광고 형식을 앱에 통합해야 합니다.
미디에이션을 처음 사용하시나요? 미디에이션 소개를 읽어보세요.
입찰: Google 모바일 광고 SDK 7.53.1 이상
모바일 광고 SDK 초기화
빠른 시작 가이드에는 모바일 광고 SDK를 초기화하는 방법이 나와 있습니다. 초기화 호출 중에는 미디에이션 어댑터도 초기화됩니다. 첫 번째 광고 요청에 모든 광고 네트워크가 참여할 수 있도록 하려면 광고를 로드하기 전에 초기화가 완료될 때까지 기다려야 합니다.
다음 샘플 코드는 광고 요청을 하기 전에 각 어댑터의 초기화 상태를 확인하는 방법을 보여줍니다.
Swift
import GoogleMobileAds
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let ads = GADMobileAds.sharedInstance()
ads.start { status in
// Optional: Log each adapter's initialization latency.
let adapterStatuses = status.adapterStatusesByClassName
for adapter in adapterStatuses {
let adapterStatus = adapter.value
NSLog("Adapter Name: %@, Description: %@, Latency: %f", adapter.key,
adapterStatus.description, adapterStatus.latency)
}
// Start loading ads here...
}
return true
}
}
Objective-C
@import GoogleMobileAds;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
GADMobileAds *ads = [GADMobileAds sharedInstance];
[ads startWithCompletionHandler:^(GADInitializationStatus *status) {
// Optional: Log each adapter's initialization latency.
NSDictionary *adapterStatuses = [status adapterStatusesByClassName];
for (NSString *adapter in adapterStatuses) {
GADAdapterStatus *adapterStatus = adapterStatuses[adapter];
NSLog(@"Adapter Name: %@, Description: %@, Latency: %f", adapter,
adapterStatus.description, adapterStatus.latency);
}
// Start loading ads here...
}];
return YES;
}
@end
낙찰된 광고 네트워크 확인
각 광고 형식 클래스에는 현재 광고의 광고 네트워크 클래스 이름을 반환하는 adNetworkClassName
를 포함하는 GADResponseInfo
속성이 있습니다. adNetworkClassName
는 광고가 성공적으로 로드된 후에만
값을 가집니다. 다음 코드는 배너 광고의 정보를 가져오는 방법을 보여줍니다.
Swift
func adViewDidReceiveAd(_ bannerView: GAMBannerView) {
print("Banner adapter class name: \(bannerView.responseInfo.adNetworkClassName)")
}
Objective-C
- (void)adViewDidReceiveAd:(GAMBannerView *)bannerView {
NSLog(@"Banner adapter class name: %@", bannerView.responseInfo.adNetworkClassName);
}
자세한 내용은 광고 응답에 관한 정보 가져오기를 참고하세요.
미디에이션을 사용한 배너 광고
모든 서드 파티 광고 소스 UI에서 미디에이션에 사용되는 배너 광고 단위의 새로고침을 중지해야 합니다. 배너 광고 단위의 새로고침 빈도에 따라 Ad Manager에서도 새로고침을 실행하므로 이렇게 하면 이중 새로고침을 방지할 수 있습니다.
미디에이션으로 네이티브 광고 사용
다음은 네이티브 광고 미디에이션을 구현할 때 고려해야 하는 몇 가지 권장사항입니다.
- 네이티브 광고 표시 정책
- 광고 네트워크마다 자체 정책이 있습니다. 미디에이션을 사용할 때는 앱에 광고를 제공한 미디에이션 대상 네트워크의 정책도 준수해야 함을 잊지 마시기 바랍니다.
- 요청할 때
GADMultipleAdsAdLoaderOptions
클래스를 사용하지 마세요. - 여러 네이티브 광고를 요청하면 Google 광고만 게재됩니다. 여러 네이티브 광고를 요청할 때는 미디에이션이 지원되지 않습니다.
미국 주 개인 정보 보호법 및 GDPR
미국 주 개인 정보 보호법 또는 개인 정보 보호법(GDPR)을 준수해야 하는 경우 미국 주 규정 설정 또는 GDPR 설정의 단계에 따라 Ad Manager 개인 정보 보호 및 메시지의 미국 주 또는 GDPR 광고 파트너 목록에 미디에이션 파트너를 추가하세요. 이렇게 하지 않으면 파트너가 앱에 광고를 게재하지 못할 수 있습니다.
제한적인 데이터 처리(RDP)를 사용 설정하고 Google 사용자 메시지 플랫폼(UMP) SDK를 사용하여 GDPR 동의를 얻는 방법을 자세히 알아보세요.