개요
스플래시 광고는 앱이 시작될 때 스플래시 화면에 표시되는 광고입니다. 앱 로고와 함께 광고가 표시되어 자연스러운 사용자 경험을 제공합니다.특징
- 앱 시작 시 자연스러운 광고 노출
- 앱 로고와 함께 브랜드 이미지 유지
- 고정 광고 크기: 360dp × 270dp (Android), 360px × 270px (iOS)
- 이미지 광고 지원
개발 중에는 테스트 유닛 ID를 사용하세요:
PUBLIC_TEST_UNIT_ID_SPLASH캐싱 동작
스플래시 광고는 앱 실행과 동시에 즉시 노출되어야 하므로, SDK가 광고를 디바이스에 미리 캐싱하는 구조로 동작합니다. 다음 실행 시점에는 캐싱된 소재가 먼저 노출되고, 동시에 새 광고를 백그라운드로 요청하여 다음 실행에 사용할 캐시를 갱신합니다.구현 방법
React Native 앱의 스플래시 광고는 네이티브 플랫폼 설정을 통해 구현됩니다. 스플래시 광고는 React Native 브릿지가 완전히 초기화되기 전에 표시되므로, Android와 iOS 네이티브 레벨에서 설정해야 합니다.React Native 앱은 JavaScript 번들이 로드되기 전에 표시되는 네이티브 스플래시 화면을 사용합니다. Adrop 스플래시 광고는 이 네이티브 스플래시 흐름과 통합됩니다.
Android 설정
1단계: strings.xml 설정
android/app/src/main/res/values/strings.xml에 다음 설정을 추가합니다.
android/app/src/main/res/values/strings.xml
테스트 시에는
YOUR_SPLASH_UNIT_ID 대신 PUBLIC_TEST_UNIT_ID_SPLASH를 사용하세요.2단계: 스플래시 로고 이미지 추가
앱 로고를android/app/src/main/res/drawable/ 폴더에 추가합니다.
3단계: AndroidManifest.xml 설정
AdropSplashAdActivity를 런처 액티비티로 설정합니다.
android/app/src/main/AndroidManifest.xml
4단계: 스플래시 테마 설정
android/app/src/main/res/values/styles.xml에 스플래시 테마를 추가하거나 업데이트합니다.
android/app/src/main/res/values/styles.xml
androidx.core:core-splashscreen 의존성은 Adrop SDK에 포함되어 있습니다. 별도로 추가하지 않아도 됩니다.5단계: 레이아웃 커스터마이징 (선택사항)
커스텀 레이아웃을 사용하려면android/app/src/main/res/layout/에 activity_adrop_splash_ad.xml을 생성합니다.
android/app/src/main/res/layout/activity_adrop_splash_ad.xml
6단계: 표시 시간 설정 (선택사항)
기본 표시 시간을 변경하려면android/app/src/main/res/values/integers.xml을 생성합니다.
android/app/src/main/res/values/integers.xml
7단계: AdropSplashAd 리스너 구현 (선택사항)
스플래시 광고 이벤트를 수신하려면Application 클래스에서 리스너를 설정합니다.
shouldSkip이 true를 반환하면 광고가 로드되지 않고 바로 메인 화면으로 이동합니다.8단계: 앱 실행
React Native CLI로 Android 앱을 실행할 때 main activity를 지정해야 합니다:MainActivity 대신 AdropSplashAdActivity가 런처 액티비티로 설정되어 있기 때문에 이 옵션이 필요합니다.iOS 설정
1단계: AppDelegate 설정
ios/YourApp/AppDelegate.mm (또는 AppDelegate.swift)를 업데이트하여 스플래시 광고를 표시합니다.
2단계: SceneDelegate 설정 (iOS 13+)
SceneDelegate를 사용하는 앱의 경우ios/YourApp/SceneDelegate.swift를 생성하거나 업데이트합니다.
ios/YourApp/SceneDelegate.swift
3단계: 로고 이미지 추가
iOS 에셋에 앱 로고를 추가합니다:- Xcode를 열고
YourApp/Images.xcassets로 이동 splash_logo라는 이름의 새 Image Set 추가- 로고 이미지 추가 (@1x, @2x, @3x)
4단계: Info.plist 설정
SceneDelegate를 사용하는 경우Info.plist에 scene 설정이 있는지 확인합니다:
ios/YourApp/Info.plist
AdropSplashAdDelegate
모범 사례
1. 적절한 타이머 설정
더 나은 사용자 경험을 위해 합리적인 타임아웃 값을 설정합니다.iOS에서는 스플래시 광고 표시 시간이 Adrop 콘솔의 광고 유닛 설정에서 구성됩니다.
2. 로고 이미지 최적화
로딩 시간을 최소화하기 위해 적절한 크기로 앱 로고를 준비합니다. Android:3. 실패 처리
광고 로딩이 실패해도 앱이 정상적으로 시작되도록 합니다.4. 테스트/프로덕션 환경 구분
테스트
테스트 유닛 ID
개발 중에는 테스트 유닛 ID를 사용합니다.문제 해결
스플래시 화면이 표시되지 않음 (Android)
스플래시 화면이 표시되지 않음 (Android)
- AndroidManifest.xml에서
AdropSplashAdActivity가 LAUNCHER로 설정되어 있는지 확인 android:exported="true"설정 확인- SDK 초기화가 완료되었는지 확인
adrop_service.json이android/app/src/main/assets폴더에 있는지 확인
스플래시 화면이 표시되지 않음 (iOS)
스플래시 화면이 표시되지 않음 (iOS)
window.rootViewController가 올바르게 설정되어 있는지 확인- Info.plist에 SceneDelegate가 설정되어 있는지 확인
- SDK 초기화가 완료되었는지 확인
adrop_service.json이 Xcode 프로젝트에 추가되어 있는지 확인
광고가 로딩되지 않음
광고가 로딩되지 않음
- 네트워크 연결 상태 확인
- 유닛 ID가 올바른지 확인
- 테스트 환경에서
production: false설정 확인 onAdFailedToReceive의 에러 코드 확인
React Native 앱으로 전환되지 않음
React Native 앱으로 전환되지 않음
adrop_splash_ad_next_activity가 올바르게 설정되어 있는지 확인 (Android)onAdCloseDelegate 구현 확인 (iOS)- RCTBridge와 RCTRootView가 제대로 생성되었는지 확인
커스텀 레이아웃이 적용되지 않음 (Android)
커스텀 레이아웃이 적용되지 않음 (Android)
- 파일 이름이 정확히
activity_adrop_splash_ad.xml인지 확인 @+id/adrop_splash_ad_imageID가 있는 ImageView가 있는지 확인- 클린 빌드 후 다시 실행
다음 단계
전면 광고
화면 전환 시 전체 화면 광고 표시
배너 광고
배너 광고 구현
네이티브 광고
커스텀 디자인 네이티브 광고
보상형 광고
사용자 보상 제공