광고 응답 기반 설정

아래 가이드에서는 한 게재위치에 여러 광고 형식을 설정하고, 광고 응답에 따라 자동으로 적절한 광고 형식을 표시하는 방법을 설명합니다.

circle-info

v2.9.0 버전에서는 이미지 배너, 프리미엄 배너 광고 상품만 표시할 수 있습니다.

개요

한 게재위치에 여러 광고 형식(예: 이미지 배너 광고, 프리미엄 배너 광고)을 동시에 설정하면, SDK가 광고 응답을 받은 후 응답에 포함된 광고 형식에 맞춰 자동으로 적절한 광고를 표시합니다.

이 방식을 사용하면:

  • 하나의 게재위치에서 배너 형태의 여러 광고 형식을 지원할 수 있습니다

  • 광고 서버에서 반환하는 광고 형식에 따라 자동으로 적절한 UI가 렌더링됩니다

  • 코드를 단순화하고 유지보수를 쉽게 할 수 있습니다


기본 요건

시작 가이드에 따라 필요한 과정을 완료합니다.


광고 표시하기

  1. 배너 광고를 표시할 영역에서 NestAdsDynamicBannerAdView를 생성합니다.

  2. (필수) 게재위치를 설정합니다.

  3. (옵션) 이미지 배너 옵션을 설정합니다.

  4. (옵션) 프리미엄 배너 옵션을 설정합니다.

  5. (옵션) 광고 델리게이트를 설정합니다.

  6. 광고를 로드합니다.

circle-exclamation
circle-info

자동 배너 타입 판별

NestAdsDynamicBannerAdView는 서버 응답의 type 필드를 기반으로 적절한 배너 뷰를 자동으로 생성합니다.

  • 이미지 배너 응답 시: NestAdsImageBannerAdView 생성 및 imageBannerOptions 적용

  • 프리미엄 배너 응답 시: NestAdsPremiumBannerAdView 생성 및 premiumBannerOptions 적용


설정 옵션 요약

공통 설정

속성
타입
기본값
설명

placementCode

String?

nil

게재위치 코드 (필수)

delegate

NestAdsDynamicBannerAdViewDelegate?

nil

광고 로드 이벤트 델리게이트

currentResponseType

String?

nil

현재 로드된 광고 타입 (읽기 전용)

currentAdViewType

CurrentAdViewType

.none

현재 표시 중인 AdView 종류 (읽기 전용)

이미지 배너 설정

속성
타입
기본값
설명

imageBannerBackgroundOptions

NestAdsBannerBackgroundOptions

NestAdsBannerBackgroundOptions()

이미지 배너 배경 옵션

imageBannerLayoutOptions

NestAdsBannerLayoutOptions

NestAdsBannerLayoutOptions()

이미지 배너 레이아웃 옵션

imageBannerEnableOverflow

Bool

false

overflow 허용 여부

imageBannerDelegate

NestAdsImageBannerAdViewDelegate?

nil

이미지 배너 이벤트 델리게이트

프리미엄 배너 설정

속성
타입
기본값
설명

premiumLayoutOptions

NestAdsPremiumBannerLayoutOptions

NestAdsPremiumBannerLayoutOptions()

프리미엄 배너 레이아웃 옵션

premiumDefaultBannerOptions

NestAdsPremiumAdDefaultBannerOptions

NestAdsPremiumAdDefaultBannerOptions()

기본(축소) 상태 배너 옵션

premiumExpandedBannerOptions

NestAdsPremiumAdExpandedBannerOptions

NestAdsPremiumAdExpandedBannerOptions()

확장 상태 배너 옵션

premiumExpandedBannerVideoOptions

NestAdsPremiumAdExpandedBannerVideoOptions

NestAdsPremiumAdExpandedBannerVideoOptions()

확장 상태 비디오 옵션

premiumHintAssetOptions

NestAdsPremiumBannerHintAssetOptions

NestAdsPremiumBannerHintAssetOptions()

힌트 애셋 옵션

premiumCtaButtonOptions

NestAdsPremiumBannerCtaButtonOptions

NestAdsPremiumBannerCtaButtonOptions()

CTA 버튼 옵션

premiumAdvertiserOptions

NestAdsPremiumBannerAdvertiserOptions

NestAdsPremiumBannerAdvertiserOptions()

광고주 문구 옵션

premiumAdTextOptions

NestAdsPremiumBannerAdTextOptions

NestAdsPremiumBannerAdTextOptions()

광고 문구 옵션

premiumBannerDelegate

NestAdsPremiumBannerAdViewDelegate?

nil

프리미엄 배너 이벤트 델리게이트


레이아웃별 구현 가이드

Dynamic Banner가 PremiumBanner로 응답할 경우, 확장/축소 시 레이아웃 갱신이 필요합니다.

1. StackView + ScrollView

가장 기본적인 레이아웃 패턴입니다. SDK가 intrinsicContentSize를 제공하므로 StackView에서 자동으로 크기가 결정됩니다.


2. UICollectionView - FlowLayout

FlowLayout 사용 시 sizeForItemAt 델리게이트를 구현하여 셀 크기를 제공합니다.


3. UICollectionView - CompositionalLayout

CompositionalLayout 사용 시 estimated 높이를 사용하여 Self-Sizing을 활성화합니다.


4. UITableView

TableView 사용 시 automaticDimension을 활용합니다.


핵심 포인트

circle-exclamation
circle-exclamation
circle-info

스크롤 위치 조정

premiumBannerDelegate를 설정하고 premiumAdViewExpandedRectInfoOnScrollView(_:rect:) 메서드를 구현하여 확장된 배너가 화면에 보이도록 스크롤 위치를 조정합니다.

circle-info

Cell 구현 시 주의사항

CollectionView/TableView Cell에서 AdView를 설정할 때:

  • 같은 뷰인지 체크하여 중복 추가 방지 (if adView === view { return })

  • AdView를 contentView에 edge constraints로 추가


광고 델리게이트

NestAdsDynamicBannerAdView에서 지원하는 광고 델리게이트는 다음을 참고하세요.


광고 옵션

NestAdsDynamicBannerAdView에서 지원하는 광고 옵션은 다음을 참고하세요.


Reference

Last updated