맞춤 렌더링 네이티브 광고와 배너 광고 요청 결합

코드를 약간만 변경하면 광고 요청에서 네이티브 광고와 배너 광고를 결합할 수 있습니다.

기본 요건

광고 로드

맞춤 렌더링된 네이티브 광고는 GADAdLoader 객체를 통해 로드됩니다. GADAdLoader 객체를 구성하여 배너 광고 또는 네이티브 광고를 생성할 수 있는 광고 요청을 할 수도 있습니다. GADAdLoaderAdTypeGAMBanner를 adTypes 배열 매개변수에 추가하면 GADAdLoaderAdTypeNative와 같은 네이티브 광고 유형과 함께 GADAdLoader 객체를 만들 때 배너 광고가 네이티브 광고와 경쟁하여 요청을 처리해야 함을 지정합니다.

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

GADAdLoader를 통해 배너 광고를 요청할 때 광고 로더 대리자는 GAMBannerAdLoaderDelegate 프로토콜을 준수해야 합니다. 이 프로토콜에는 배너 광고가 로드될 때 전송되는 메시지가 포함됩니다.

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

또한 광고 로더 대리자는 아래와 같이 validBannerSizesForAdLoader 메시지에 응답하여 요청해야 하는 배너 광고 크기를 지정해야 합니다.

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

기기 화면 크기 이하의 광고 크기를 설정합니다. iOS 26 이상에서 최대 화면 크기를 확인하려면 UIWindowScene.effectiveGeometry.coordinateSpace 속성을 사용합니다. iOS 18 이하에서는 UIWindowScene.coordinateSpace 속성을 사용합니다. 크기 제약조건에 관한 자세한 내용은 Ad Manager에서 잔여 노출수 문제 해결을 참고하세요.

노출수 수동 집계

GADAdLoader를 통해 로드된 배너 광고에서 노출수 수동 집계 를 사용 설정하려면 GADAdLoader를 초기화할 때 enableManualImpressions가 YES로 설정된 GAMBannerViewOptions 를 설정합니다.

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/21775744923/example/native-and-banner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

배너 광고가 로드되면 광고가 반환되어 화면에 표시된 것이 확인될 때 recordManualImpression을 호출하여 수동으로 노출을 실행할 수 있습니다.

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];