메인 콘텐츠로 건너뛰기

개요

스플래시 광고(Splash Ad)는 앱 실행 시 스플래시 화면에 표시되는 광고입니다. 앱의 로고와 함께 광고가 표시되어 자연스러운 사용자 경험을 제공합니다.

특징

  • 앱 시작 시 자연스러운 광고 노출
  • 앱 로고와 함께 브랜드 이미지 유지
  • 360px × 270px 고정 크기
  • 이미지 광고 지원
개발 환경에서는 테스트 유닛 ID를 사용하세요: PUBLIC_TEST_UNIT_ID_SPLASH

캐싱 동작

스플래시 광고는 앱 실행과 동시에 즉시 노출되어야 하므로, SDK가 광고를 디바이스에 미리 캐싱하는 구조로 동작합니다. 다음 실행 시점에는 캐싱된 소재가 먼저 노출되고, 동시에 새 광고를 백그라운드로 요청하여 다음 실행에 사용할 캐시를 갱신합니다.
이 캐싱 구조 때문에, 애드컨트롤 콘솔에서 소재를 일시정지하더라도 각 사용자 디바이스의 캐시가 갱신되기 전까지는 이미 캐싱된 소재가 노출될 수 있습니다. 소재 일시정지나 교체가 사용자에게 반영되기까지 시간이 소요될 수 있다는 점을 운영 계획에 반영하세요.

광고 크기

스플래시 광고는 고정된 크기를 사용합니다:
  • 크기: 360px × 270px (가로 × 세로)
  • 광고는 화면 하단에 표시되며, 상단에는 앱 로고가 배치됩니다

구현 방법

스플래시 광고는 앱의 요구사항에 따라 세 가지 방법으로 구현할 수 있습니다:
  1. AdropSplashAdViewController 사용 - 가장 간단한 방법
  2. AdropSplashAdView 사용 - 커스텀 스플래시 화면 구성
  3. SwiftUI 구현 - SwiftUI 앱에서 사용

방법 1: AdropSplashAdViewController 사용

가장 간단한 구현 방법입니다. AdropSplashAdViewController가 스플래시 화면을 자동으로 관리합니다.

UIKit 구현

SceneDelegate에서 스플래시 광고 표시

초기화 파라미터

프로퍼티

Delegate 구현

AdropSplashAdViewController는 광고 로드, 표시, 타이머 관리를 자동으로 처리합니다. 광고가 로드되지 않더라도 자동으로 onAdClose가 호출되어 메인 화면으로 전환됩니다.

LaunchScreen과 연동

스플래시 광고를 표시하기 전에 시스템 LaunchScreen이 먼저 표시됩니다. 자연스러운 사용자 경험을 위해 LaunchScreen과 스플래시 광고 화면의 스타일을 일치시키는 것이 좋습니다.

LaunchScreen.storyboard 설정

  1. LaunchScreen.storyboard 파일을 열고 배경색을 스플래시 광고 화면과 동일하게 설정
  2. 앱 로고를 중앙에 배치 (스플래시 광고의 로고 위치와 일치)
  3. Info.plist에서 UILaunchStoryboardNameLaunchScreen으로 설정되어 있는지 확인
Info.plist
LaunchScreen과 스플래시 광고 화면의 배경색과 로고 위치가 일치하면 앱 시작 시 자연스러운 전환이 가능합니다.

방법 2: AdropSplashAdView 사용

커스텀 스플래시 화면을 직접 구성하고 싶을 때 사용합니다.
AdropSplashAdView를 사용할 때는 AdropSplashAdViewDelegate를 구현해야 합니다. onAdClose(impressed:) 메서드는 필수로 구현해야 합니다.

방법 3: SwiftUI 구현

SwiftUI 앱에서 스플래시 광고를 구현하는 방법입니다.

SwiftUI Wrapper

SwiftUI App에서 사용


Delegate 메서드

AdropSplashAdDelegate

AdropSplashAd를 사용할 때의 Delegate입니다.

AdropSplashAdViewDelegate

AdropSplashAdView를 사용할 때의 Delegate입니다.

클로저 콜백

Delegate 대신 AdropSplashAd에서 클로저 기반 콜백을 사용할 수 있습니다.
Delegate와 클로저를 동시에 설정하면 두 가지 모두 호출됩니다.

impressed 파라미터

onAdClose(impressed:) 메서드의 impressed 파라미터는 광고가 실제로 노출되었는지 여부를 나타냅니다.

impressed가 false인 경우

  • 광고 로드 실패
  • 네트워크 오류
  • 사용자가 광고를 보기 전에 스킵
  • 광고 인벤토리 부족

모범 사례

1. 적절한 타이머 설정

스플래시 광고는 너무 짧거나 길지 않게 표시해야 합니다.

2. 로고 이미지 최적화

앱 로고는 적절한 크기로 준비하여 로딩 시간을 최소화하세요.

3. 실패 처리

광고 로드 실패 시에도 앱이 정상적으로 시작되도록 처리하세요.

4. 부드러운 화면 전환

메인 화면으로 전환 시 자연스러운 애니메이션을 사용하세요.

5. 테스트 환경 구분

개발과 배포 환경을 구분하여 테스트하세요.

완전한 SceneDelegate 예제


테스트

테스트 유닛 ID

개발 중에는 테스트 유닛 ID를 사용하세요.
실제 배포 시에는 반드시 애드컨트롤 콘솔에서 생성한 실제 유닛 ID를 사용하세요. 테스트 유닛 ID로 배포하면 광고 수익이 발생하지 않습니다.

디버깅

광고 이벤트를 로그로 확인하세요.

문제 해결

  • window.rootViewController가 올바르게 설정되었는지 확인
  • SceneDelegate가 활성화되어 있는지 확인 (Info.plist)
  • SDK 초기화가 완료되었는지 확인
  • 네트워크 연결 상태 확인
  • 유닛 ID가 올바른지 확인
  • 테스트 환경에서는 production: false 설정 확인
  • onAdFailedToReceive 에러 코드 확인
  • onAdClose(impressed:) Delegate가 구현되었는지 확인
  • 화면 전환 코드가 메인 스레드에서 실행되는지 확인
  • AdropSplashAdViewDelegate를 구현했는지 확인
  • splashAdView.delegate = self 설정 확인
  • onAdClose(impressed:) 메서드가 필수로 구현되어야 함

다음 단계

전면 광고

화면 전환 시 전면 광고 표시하기

배너 광고

배너 광고 구현하기

네이티브 광고

커스텀 디자인 네이티브 광고

보상형 광고

사용자 리워드 제공하기