메인 콘텐츠로 건너뛰기

개요

팝업 광고(Popup Ad)는 특정 순간에 화면에 나타나는 광고 포맷입니다. 앱 실행 시, 콘텐츠 로드 완료 시, 특정 이벤트 발생 시 등 원하는 타이밍에 표시할 수 있으며, 사용자가 닫기 버튼을 누르거나 “오늘 하루 보지 않기”를 선택하여 종료할 수 있습니다.

특징

  • 화면 중앙 또는 하단에 표시되는 팝업 형태
  • 이미지 및 동영상 광고 지원
  • 닫기, 딤(배경) 클릭, “오늘 하루 보지 않기” 옵션 제공
  • 배경색, 텍스트 색상 등 커스터마이징 가능
  • 사용자 경험을 해치지 않으면서도 효과적인 광고 경험
개발 환경에서는 테스트 유닛 ID를 사용하세요. 테스트 유닛 ID 섹션을 참고하세요.

구현 단계

팝업 광고는 다음 4단계로 구현합니다:
  1. 초기화 - AdropPopupAd 인스턴스 생성
  2. Delegate 설정 - 광고 및 닫기 이벤트 수신을 위한 Delegate 설정
  3. 광고 로드 - 광고 요청 및 수신
  4. 광고 표시 - 화면에 광고 표시

UIKit 구현

기본 구현

Delegate 구현


SwiftUI 구현

SwiftUI에서는 UIViewControllerRepresentable을 사용하거나, UIWindow에서 rootViewController를 가져와 표시할 수 있습니다.

ViewModel 패턴


커스터마이징

팝업 광고의 외형을 커스터마이징할 수 있습니다.

배경색 및 텍스트 색상 설정

커스터마이징 옵션


Delegate 메서드

AdropPopupAdDelegate (광고 이벤트)

필수 메서드

onAdReceived
(AdropPopupAd) -> Void
광고 수신 성공 시 호출됩니다. 이 시점에서 show()를 호출하여 광고를 표시할 수 있습니다.
onAdFailedToReceive
(AdropPopupAd, AdropErrorCode) -> Void
광고 수신 실패 시 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.

선택 메서드

onAdImpression
(AdropPopupAd) -> Void
광고 노출이 기록되었을 때 호출됩니다.
onAdClicked
(AdropPopupAd) -> Void
사용자가 광고를 클릭했을 때 호출됩니다.
onAdWillPresentFullScreen
(AdropPopupAd) -> Void
팝업 광고가 표시되기 직전에 호출됩니다.
onAdDidPresentFullScreen
(AdropPopupAd) -> Void
팝업 광고가 화면에 표시된 직후 호출됩니다.
onAdWillDismissFullScreen
(AdropPopupAd) -> Void
팝업 광고가 닫히기 직전에 호출됩니다.
onAdDidDismissFullScreen
(AdropPopupAd) -> Void
팝업 광고가 닫힌 직후 호출됩니다. 다음 광고를 미리 로드하기 좋은 시점입니다.
onAdFailedToShowFullScreen
(AdropPopupAd, AdropErrorCode) -> Void
광고 표시 실패 시 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.
onAdVideoStart
(AdropPopupAd) -> Void
동영상 광고가 재생을 시작했을 때 호출됩니다.
onAdVideoEnd
(AdropPopupAd) -> Void
동영상 광고 재생이 완료되었을 때 호출됩니다.

AdropPopupAdCloseDelegate (닫기 이벤트)

모든 메서드가 선택사항입니다.
onClosed
(AdropPopupAd) -> Void
사용자가 닫기 버튼을 클릭했을 때 호출됩니다.
onDimClicked
(AdropPopupAd) -> Void
사용자가 팝업 외부(딤 영역)를 클릭했을 때 호출됩니다.
onTodayOffClicked
(AdropPopupAd) -> Void
사용자가 “오늘 하루 보지 않기”를 선택했을 때 호출됩니다. 이 콜백에서 날짜를 저장하여 하루 동안 광고를 표시하지 않도록 구현할 수 있습니다.

커스텀 클릭 처리

useCustomClick을 사용하여 광고 클릭 동작을 직접 제어할 수 있습니다. 활성화하면 SDK가 클릭 시 자동으로 URL을 열지 않으며, 직접 처리할 수 있습니다.

useCustomClick

useCustomClicktrue이면, SDK는 광고 클릭 시 자동으로 URL을 열지 않습니다. onAdClicked delegate 콜백은 계속 호출되며, open() 메서드를 사용하거나 직접 네비게이션을 처리할 수 있습니다.

open()

광고의 목적지 URL을 엽니다. 커스텀 URL을 전달할 수도 있습니다.

close()

프로그래밍 방식으로 팝업 광고를 닫습니다.

프로퍼티


클로저 기반 콜백

Delegate 외에 클로저 기반 콜백도 사용할 수 있습니다. 전체 delegate 패턴을 구현하고 싶지 않을 때 편리합니다.
Delegate 콜백과 클로저 기반 콜백은 동시에 사용할 수 있습니다. 둘 다 호출됩니다.

”오늘 하루 보지 않기” 구현

사용자가 “오늘 하루 보지 않기”를 선택했을 때 적절히 처리하는 방법입니다.
SDK가 “오늘 하루 보지 않기” 상태를 자동으로 관리합니다. 다음 예제는 기본 처리 외에 커스텀 동작을 추가하는 방법을 보여줍니다.

구현

SDK가 “오늘 하루 보지 않기”를 선택한 경우 load() 시 자동으로 로드를 건너뜁니다. 별도의 수동 체크 없이 load()만 호출하면 됩니다.

모범 사례

1. 적절한 표시 시점

팝업 광고는 다음 시점에 표시하는 것이 효과적입니다:

2. “오늘 하루 보지 않기” 존중

사용자가 “오늘 하루 보지 않기”를 선택했다면 반드시 준수하세요.

3. 빈도 제한

팝업 광고를 너무 자주 표시하지 마세요.

테스트 유닛 ID

개발 및 테스트 시 다음 테스트 유닛 ID를 사용하세요.
실제 배포 시에는 반드시 애드컨트롤 콘솔에서 생성한 실제 유닛 ID를 사용하세요.

관련 문서

시작하기

SDK 설치 및 초기화

전면 광고

전면 광고 구현하기

보상형 광고

보상형 광고 구현하기

배너 광고

배너 광고 구현하기