스플래시 광고
모바일 앱의 스플래시 화면(Splash Screen) 내 광고를 송출하는 형태입니다.
스플래시 화면이 되는 ViewController 를 생성한 뒤 MainStory 보드에서 맨 처음 시작하는 ViewController로 세팅해 줍니다.
1. 인스턴스 생성
SplashViewController.m에 AdPopcornSSPSplashAd.h 를 import 하고 인스턴스 변수를 선언합니다.
#import <AdPopcornSSP/AdPopcornSSPSplashAd.h>
@interface SplashViewController() <APSSPSplashAdDelegate>
{
AdPopcornSSPSplashAd *_sspSplashAd;
}
@end
SplashViewController.swift 에 AdPopcornSSPSplashAd 인스턴스 변수를 생성합니다.
class SplashViewController: UIViewController, APSSPSplashAdDelegate
{
// AdPopcornSSPSplashAd
var splashAd: AdPopcornSSPSplashAd!
}
SplashViewController.m 을 수정하여 생성한 인스턴스를 구현합니다.
@implementation SplashViewController
- (void)viewDidLoad {
[super viewDidLoad];
_sspSplashAd = [[AdPopcornSSPSplashAd alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) Key:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_ID" viewController:self];
[self.view addSubView:_sspSplashAd];
}
@end
ViewController.swift 을 수정하여 생성한 인스턴스를 구현합니다.
class SplashViewController: UIViewController, APSSPSplashAdDelegate
{
// AdPopcornSSPSplashAd
var splashAd: AdPopcornSSPSplashAd!
override func viewDidLoad() {
super.viewDidLoad()
splashAd = AdPopcornSSPSplashAd.init(frame: CGRect(x: 0, y: 0, width: 300, height: 300),
key: "YOUR_APP_KEY", placementId: "YOUR_PLACEMENT_ID", viewController: self)
}
}
2. 광고 타입 설정
아래 코드를 추가하여 스플래시 광고의 타입을 설정 합니다.
[_sspSplashAd setFullScreenSplash:YES]; // 기본값 : 일반모드(NO)
splashAd.setFullScreenSplash(false) // 기본값 : 일반모드(false)
지원 하는 형태의 광고는 총 2가지 이며, 아래 예시와 같이 노출됩니다.
정사각형 형태의 광고가 노출됩니다. 이에 로고 하단에 노출시켜줍니다.
전체 화면을 채우는 형태의 광고가 노출됩니다.
3. 스플래시 광고 요청
loadRequest
API를 호출하여 스플래시 광고를 요청합니다.
[_sspSplashAd loadRequest];
splashAd.loadRequest()
4. 델리게이트 설정
스플래시 광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다.
델리게이트를 사용하기 위해서는 APSSPSplashAdDelegate
를 추가하여야 합니다.
_sspSplashAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.
APSSPSplashAdLoadFail, error
splashAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.
apsspSplashAdLoadFail(error)
#import <AdPopcornSSP/AdPopcornSSPSplashAd.h>
@interface SplashViewController () <APSSPSplashAdDelegate>
{
}
@end
@implementation SplashViewController
- (void)viewDidLoad {
[super viewDidLoad];
_sspSplashAd = [[AdPopcornSSPSplashAd alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) Key:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_ID" viewController:self];
_sspSplashAd.delegate = self;
[_sspSplashAd setFullScreenSplash:YES];
[self.view addSubView:_sspSplashAd];
[_sspSplashAd loadRequest];
}
#pragma APSSPSplashAdDelegate
- (void)APSSPSplashAdLoadSuccess:(AdPopcornSSPSplashAd *)splashAd
{
// 로드 성공, 원하는 시간 만큼 대기 후, 다음 ViewController를 호출한다.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
// 다음 ViewController 호출
NextViewController *next = [[NextViewController alloc] init];
[self presentViewController:next animated:YES completion:nil];
});
}
- (void)APSSPSplashAdLoadFail:(AdPopcornSSPSplashAd *)splashAd error:(AdPopcornSSPError *)error;
{
// 로드 실패, 바로 다음 ViewController를 호출한다
NextViewController *next = [[NextViewController alloc] init];
[self presentViewController:next animated:YES completion:nil];
}
- (void)APSSPSplashAdImpression:(AdPopcornSSPSplashAd *)splashAd
{
}
@end
class SplashViewController: UIViewController, APSSPSplashAdDelegate
{
// SplashAd
var splashAd: AdPopcornSSPSplashAd!
override func viewDidLoad() {
super.viewDidLoad()
splashAd = AdPopcornSSPSplashAd.init(frame: CGRect(x: 0, y: 0, width: 300, height: 300),
key: "YOUR_APP_KEY", placementId: "YOUR_PLACEMENT_ID", viewController: self)
splashAd.delegate = self
splashAd.loadRequest()
}
// Splash Delegate
func apsspSplashAdLoadSuccess(_ splashAd: AdPopcornSSPSplashAd!) {
}
func apsspSplashAdLoadFail(_ splashAd: AdPopcornSSPSplashAd!, error: AdPopcornSSPError!) {
}
func apsspSplashAdImpression(_ splashAd: AdPopcornSSPSplashAd!) {
}
}
Last updated