스플래시 광고가 게재되는 스플래시 화면은 로고와 광고 유닛으로 구성됩니다.
로고가 너무 클 경우, 광고에 로고가 가려지는 경우가 발생할 수 있으니 아래의 가이드를 꼭 확인해 주세요.
로고 영역 : 로고 이미지가 들어가는 영역의 높이가 180px 입니다.
광고 영역 : 영역 자체 사이즈는 360dp X 270dp 입니다. 광고 소재 이미지 사이즈는 실제 노출 시 화질의 손상을 막기 위해 영역의 3배 사이즈인 1080dp x 810dp를 권장합니다.
1단계. AdropSplashAdViewController 를 SwiftUI에서 사용할 수 있도록 다음과 같이 SplashAdView를 만들어주세요.
앱이 기동될 때, (광고 요청 전에) 반드시 Adrop.initialize를 진행해 주세요.
// production 배포 시, 'true'를 사용하세요.
// 특정 국가에서 이 SDK를 사용하고 있다면,
// ISO 3166 alpha-2 국가 코드 array를 전달하세요.
// 타겟 링크가 열리는 브라우저 설정이 필요하다면, useInAppBrowser 값을 바꿔주세요.
Adrop.initialize(production: false, targetCountries: [], useInAppBrowser: false)
import SwiftUI
import AdropAds
struct SplashAdView: UIViewRepresentable {
static let unitId = "PUBLIC_TEST_UNIT_ID_SPLASH"
fileprivate let completion: () -> Void
fileprivate let splashVC: AdropSplashAdViewController
init(completion: @escaping() -> Void) {
self.completion = completion
self.splashVC = AdropSplashAdViewController(unitId: Self.unitId);
}
func makeUIView(context: Context) -> UIView {
splashVC.backgroundColor = .white
splashVC.logoImage = UIImage(named: "splash_logo")
splashVC.displayDuration = 1 // 스플래시 광고 노출시간 입니다. 0.5~3 사이의 값을 입력하실 수 있습니다.
splashVC.delegate = context.coordinator
return splashVC.view
}
func updateUIView(_ uiView: UIViewType, context: Context) {
}
func makeCoordinator() -> SplashAdCoordinator {
SplashAdCoordinator(splashAdView: self)
}
}
class SplashAdCoordinator: NSObject, AdropSplashAdDelegate {
let splashAdView: SplashAdView
init(splashAdView: SplashAdView) {
self.splashAdView = splashAdView
}
// 스플래시 광고가 종료되었을 때, 호출되는 콜백함수 입니다.
// impressed 가 true 일 경우, 스플래시 광고가 노출되었음을 의미합니다.
func onAdClose(_ ad: AdropSplashAd, impressed: Bool) {
UIView.animate(withDuration: impressed ? 0.3 : 0) {
self.splashAdView.splashVC.view.alpha = 0
} completion: { _ in
self.splashAdView.completion()
}
}
}
위 샘플 코드에서 "splash_logo" 이미지(로고)의 사이즈는 80x80 을 권장합니다.