스플래시 뷰 연동

앱 자체적으로 이미 스플래시 화면이 있고, 앱 기동 시간 중 스플래시 광고를 보여주고 싶을 경우 기존 화면에 스플래시 뷰를 연동할 수 있는 방법입니다.

0단계. 구성요소 확인하기

스플래시 광고가 게재되는 스플래시 화면은 로고와 광고 유닛으로 구성됩니다. 로고가 너무 클 경우, 광고에 로고가 가려지는 경우가 발생할 수 있으니 아래의 가이드를 꼭 확인해 주세요.

  • 로고 영역 : 스플래시 화면에 표시될 로고 이미지는 배경을 포함한 로고 이미지 사이즈는 288dp x 288dp, 가운데 로고 128dp x 128dp를 권장합니다.

  • 광고 영역 : 영역 자체 사이즈는 360dp X 270dp 입니다. 광고 소재 이미지 사이즈는 실제 노출 시 화질의 손상을 막기 위해 영역의 3배 사이즈인 1080dp x 810dp를 권장합니다.

스플래시 광고 규격

1단계. 소스코드 추가하기

로컬 환경에서 배너 노출을 확인하고 싶다면, 아래의 TEST_UNIT_ID를 사용해주세요.

자세한 예시는 Github에서 확인하실 수 있습니다.

개발용 광고 Unit Id 는 PUBLIC_TEST_UNIT_ID_SPLASH 입니다.

Ad type
Ad unit ID

Splash

PUBLIC_TEST_UNIT_ID_SPLASH

import UIKit
import AdropAds

class TestSplashViewController: UIViewController {
    // 1. 스플래시 광고가 노출될 영역을 컨테이너로 지정해 줍니다.
    @IBOutlet weak var adContainer: UIView!
    private var adView: AdropSplashAdView?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // production 배포 시, 'true'를 사용하세요.
        // 특정 국가에서 이 SDK를 사용하고 있다면, 
        // ISO 3166 alpha-2 국가 코드 array를 전달하세요.
        // 타겟 링크가 열리는 브라우저 설정이 필요하다면, useInAppBrowser 값을 바꿔주세요.
        Adrop.initialize(production: false, targetCountries: [], useInAppBrowser: false);
        
        // 2. 광고 플랫폼 콘솔에서 스플래시 광고 유닛 아이디를 확인하여 스플래시 광고 유닛을 정의해 줍니다.
        adView = AdropSplashAdView(unitId: "YOUR_UNIT_ID or PUBLIC_TEST_UNIT_ID_SPLASH")
        adView?.delegate = self
        
        // 3. 1번에서 정의한 광고 노출영역 컨테이너에, 2번에서 정의한 스플래시 광고 유닛을 넣어줍니다.
        adContainer.addSubview(adView!)
        
        // * 앱에서 필요한 로딩이 로직이 필요하다면, 추가해 주세요.
        loadApplication()
    }
    
}

extension TestSplashViewController: AdropSplashAdViewDelegate {
    // 1. 광고 요청이 들어가고, 진행중인 캠페인의 광고 정보를 반환합니다.
    func onAdReceived(_ adView: AdropSplashAdView) {
        print("onAdReceived")
    }
    
    // 2. 광고 요청을 했으나, 캠페인이 없어 반환할 광고가 없을 때 호출 됩니다.
    func onAdFailedToReceive(_ adView: AdropSplashAdView, _ errorCode: AdropErrorCode) {
        print("onAdFailedToReceive, error: \(errorCode.keyString)")
    }
    
    // 3. 광고 요청의 응답을 받으면, impression 추적을 위해 호출 됩니다.
    func onAdImpression(_ adView: AdropSplashAdView) {
        print("onAdImpression")
    }
    
    // 4. 광고 노출이 끝나고, 원하시는 동작을 진행하기 위해 호출됩니다.
    func onAdClose(_ adView: AdropAds.AdropSplashAdView, impressed: Bool) {
        print("onAdClose impressed: \(impressed)")
        
        // * 광고 노출이 끝난 후의 로직이 필요하다면, 추가해 주세요.
        goToMain()
    }
    
    
    

}

1) 광고 request 에 광고가 들어오는 경우.

onAdReceived -> onAdImpression -> onAdClose

2) 광고 request 에 광고가 없는 경우.

onAdFailedToReceive -> onAdClose

console에서 발급받은 unitId가 한 번이라도 request 가 들어가면 성공적으로 연결됩니다.

광고 유닛에 연결된 광고가 없다면, 배너가 랜더링 되지 않습니다. 따라서 배너가 정상적으로 랜더링 되는지 확인하고 싶으면, TEST_UNIT_ID 를 사용해 주세요.

TEST_UNIT_ID 를 사용하면 배너 랜더링 확인은 할 수 있지만, console과 연결되지는 않습니다. 따라서 성공적인 연결을 확인하려면 콘솔에 등록한 광고 유닛의 아이디를 적용해 주시고, 하단 이미지 처럼 콘솔을 확인해 주세요.

Last updated