스플래시 뷰컨트롤러 연동
앱 기동 시 최초 실행되는 뷰컨트롤러를 에이드랍의 스플래시 뷰컨트롤러로 대체함으로써 간단하게 스플래시 광고를 연동할 수 있는 방법입니다.
0단계. 규격 확인하기
스플래시 광고가 게재되는 스플래시 화면은 로고와 광고 유닛으로 구성됩니다. 로고가 너무 클 경우, 광고에 로고가 가려지는 경우가 발생할 수 있으니 아래의 가이드를 꼭 확인해 주세요.
로고 영역 : 로고 이미지가 들어가는 영역의 높이가 180px 입니다.
광고 영역 : 영역 자체 사이즈는 360dp X 270dp 입니다. 광고 소재 이미지 사이즈는 실제 노출 시 화질의 손상을 막기 위해 영역의 3배 사이즈인 1080dp x 810dp를 권장합니다.

1단계. LaunchScreen.storyboard
를 다음 파일로 교체해주세요.
LaunchScreen.storyboard
를 다음 파일로 교체해주세요.2단계. 앱이 기동 할 때, AdropSplashAdViewController
를 보여주세요.
AdropSplashAdViewController
를 보여주세요.1. UIWindowSceneDelegate
를 사용하는 경우
UIWindowSceneDelegate
를 사용하는 경우개발용 광고 Unit Id 는 PUBLIC_TEST_UNIT_ID_SPLASH
입니다.
Ad type
Ad unit ID
Splash
PUBLIC_TEST_UNIT_ID_SPLASH
import UIKit
import AdropAds
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
// production 배포 시, 'true'를 사용하세요.
// 특정 국가에서 이 SDK를 사용하고 있다면,
// ISO 3166 alpha-2 국가 코드 array를 전달하세요.
// 타겟 링크가 열리는 브라우저 설정이 필요하다면, useInAppBrowser 값을 바꿔주세요.
Adrop.initialize(production: false, targetCountries: [], useInAppBrowser: false);
self.window = UIWindow(windowScene: windowScene)
let splashViewController = AdropSplashAdViewController(unitId: "PUBLIC_TEST_UNIT_ID_SPLASH")
splashViewController.backgroundColor = .systemBackground
splashViewController.logoImage = UIImage(named: "your_logo_name")
splashViewController.mainViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
splashViewController.displayDuration = 1
splashViewController.delegate = self
self.window?.rootViewController = splashViewController
self.window?.makeKeyAndVisible()
}
}
extension SceneDelegate: AdropSplashAdDelegate {
func onAdReceived(_ ad: AdropAds.AdropSplashAd) {
print("onAdReceived \(ad.unitId) \(ad.creativeId)")
}
func onAdFailedToReceive(_ ad: AdropAds.AdropSplashAd, _ errorCode: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive: \(ad.unitId) error: \(AdropErrorCodeToString(code: errorCode))")
}
func onAdImpression(_ ad: AdropSplashAd) {
print("onAdImpression: \(ad.unitId)")
}
}
2. UIApplicationDelegate
를 사용하는 경우
UIApplicationDelegate
를 사용하는 경우import UIKit
import AdropAds
class AppDelegate: UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// ...
let splashViewController = AdropSplashAdViewController(unitId: "PUBLIC_TEST_UNIT_ID_SPLASH")
splashViewController.backgroundColor = .systemBackground
splashViewController.logoImage = UIImage(named: "img_logo_splash")
splashViewController.mainViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
splashViewController.displayDuration = 1
splashViewController.delegate = self
self.window?.rootViewController = splashViewController
self.window?.makeKeyAndVisible()
// ...
return result
}
extension AppDelegate: AdropSplashAdDelegate {
func onAdReceived(_ ad: AdropAds.AdropSplashAd) {
print("onAdReceived \(ad.unitId)")
}
func onAdFailedToReceive(_ ad: AdropAds.AdropSplashAd, _ errorCode: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive: \(ad.unitId) error: \(AdropErrorCodeToString(code: errorCode))")
}
func onAdImpression(_ ad: AdropSplashAd) {
print("onAdImpression: \(ad.unitId)")
}
}
console에서 발급받은 unitId가 한 번이라도 request 가 들어가면 성공적으로 연결됩니다.

Last updated