iOS 스플래시 광고

스플래시 광고는 앱이 최초 실행될 때, 앱의 로고와 함께 화면 하단에 1초 내외의 짧은 시간동안 보여지는 광고를 말합니다. 앱 기동 시 Adrop SDK의 스플래시 광고 스크린이 가장 먼저 표시되도록 구현하여 자연스럽게 광고를 노출한 후 앱의 메인 화면으로 넘어갑니다.

1단계. LaunchScreen.storyboard 를 다음 파일로 교체해주세요.

로고 이미지를 추가하고, 스플래시 배경색상을 변경해주세요.

단, 로고 이미지의 레이아웃(위치)은 수정하지 않아야 SDK에서 컨트롤하는 스플래시 광고 뷰에서 로고의 위치가 자연스럽게 노출됩니다.

2단계. 앱이 기동 할 때, AdropSplashAdViewController 를 보여주세요.

1. UIWindowSceneDelegate 를 사용하는 경우

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 }
        
        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.timeout = 1
        splashViewController.delegate = self
        
        self.window?.rootViewController = splashViewController
        self.window?.makeKeyAndVisible()
    }
}

extension SceneDelegate: 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)")
    }
}

2. 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.timeout = 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)")
    }
}

Last updated