개요
팝업 광고(Popup Ad)는 특정 순간에 화면에 나타나는 광고 포맷입니다. 앱 실행 시, 콘텐츠 로드 완료 시, 특정 이벤트 발생 시 등 원하는 타이밍에 표시할 수 있으며, 사용자가 닫기 버튼을 누르거나 “오늘 하루 보지 않기”를 선택하여 종료할 수 있습니다.특징
- 화면 중앙 또는 하단에 표시되는 팝업 형태
- 이미지 및 동영상 광고 지원
- 닫기, 딤(배경) 클릭, “오늘 하루 보지 않기” 옵션 제공
- 배경색, 텍스트 색상 등 커스터마이징 가능
- 사용자 경험을 해치지 않으면서도 효과적인 광고 경험
개발 환경에서는 테스트 유닛 ID를 사용하세요. 테스트 유닛 ID 섹션을 참고하세요.
구현 단계
팝업 광고는 다음 4단계로 구현합니다:- 초기화 - AdropPopupAd 인스턴스 생성
- Delegate 설정 - 광고 및 닫기 이벤트 수신을 위한 Delegate 설정
- 광고 로드 - 광고 요청 및 수신
- 광고 표시 - 화면에 광고 표시
UIKit 구현
기본 구현
Delegate 구현
SwiftUI 구현
SwiftUI에서는UIViewControllerRepresentable을 사용하거나, UIWindow에서 rootViewController를 가져와 표시할 수 있습니다.
ViewModel 패턴
커스터마이징
팝업 광고의 외형을 커스터마이징할 수 있습니다.배경색 및 텍스트 색상 설정
커스터마이징 옵션
Delegate 메서드
AdropPopupAdDelegate (광고 이벤트)
필수 메서드
광고 수신 성공 시 호출됩니다. 이 시점에서
show()를 호출하여 광고를 표시할 수 있습니다.광고 수신 실패 시 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.
선택 메서드
광고 노출이 기록되었을 때 호출됩니다.
사용자가 광고를 클릭했을 때 호출됩니다.
팝업 광고가 표시되기 직전에 호출됩니다.
팝업 광고가 화면에 표시된 직후 호출됩니다.
팝업 광고가 닫히기 직전에 호출됩니다.
팝업 광고가 닫힌 직후 호출됩니다. 다음 광고를 미리 로드하기 좋은 시점입니다.
광고 표시 실패 시 호출됩니다. 에러 코드를 통해 실패 원인을 확인할 수 있습니다.
동영상 광고가 재생을 시작했을 때 호출됩니다.
동영상 광고 재생이 완료되었을 때 호출됩니다.
AdropPopupAdCloseDelegate (닫기 이벤트)
모든 메서드가 선택사항입니다.사용자가 닫기 버튼을 클릭했을 때 호출됩니다.
사용자가 팝업 외부(딤 영역)를 클릭했을 때 호출됩니다.
사용자가 “오늘 하루 보지 않기”를 선택했을 때 호출됩니다. 이 콜백에서 날짜를 저장하여 하루 동안 광고를 표시하지 않도록 구현할 수 있습니다.
커스텀 클릭 처리
useCustomClick을 사용하여 광고 클릭 동작을 직접 제어할 수 있습니다. 활성화하면 SDK가 클릭 시 자동으로 URL을 열지 않으며, 직접 처리할 수 있습니다.
useCustomClick
useCustomClick이 true이면, SDK는 광고 클릭 시 자동으로 URL을 열지 않습니다. onAdClicked delegate 콜백은 계속 호출되며, open() 메서드를 사용하거나 직접 네비게이션을 처리할 수 있습니다.
open()
광고의 목적지 URL을 엽니다. 커스텀 URL을 전달할 수도 있습니다.close()
프로그래밍 방식으로 팝업 광고를 닫습니다.프로퍼티
클로저 기반 콜백
Delegate 외에 클로저 기반 콜백도 사용할 수 있습니다. 전체 delegate 패턴을 구현하고 싶지 않을 때 편리합니다.Delegate 콜백과 클로저 기반 콜백은 동시에 사용할 수 있습니다. 둘 다 호출됩니다.
”오늘 하루 보지 않기” 구현
사용자가 “오늘 하루 보지 않기”를 선택했을 때 적절히 처리하는 방법입니다.SDK가 “오늘 하루 보지 않기” 상태를 자동으로 관리합니다. 다음 예제는 기본 처리 외에 커스텀 동작을 추가하는 방법을 보여줍니다.
구현
SDK가 “오늘 하루 보지 않기”를 선택한 경우load() 시 자동으로 로드를 건너뜁니다. 별도의 수동 체크 없이 load()만 호출하면 됩니다.
모범 사례
1. 적절한 표시 시점
팝업 광고는 다음 시점에 표시하는 것이 효과적입니다:2. “오늘 하루 보지 않기” 존중
사용자가 “오늘 하루 보지 않기”를 선택했다면 반드시 준수하세요.3. 빈도 제한
팝업 광고를 너무 자주 표시하지 마세요.테스트 유닛 ID
개발 및 테스트 시 다음 테스트 유닛 ID를 사용하세요.관련 문서
시작하기
SDK 설치 및 초기화
전면 광고
전면 광고 구현하기
보상형 광고
보상형 광고 구현하기
배너 광고
배너 광고 구현하기