전면 광고
전면광고는 화면 전체를 덮는 형태의 광고입니다. 다음을 참고하여 전면광고를 연동합니다.
1. 인스턴스 생성
노출하고자 하는 ViewController.m에 AdPopcornSSPInterstitialAd.h 를 import 하고 인스턴스 변수를 선언합니다.
#import <AdPopcornSSP/AdPopcornSSPInterstitialAd.h>
@interface AdPopcornSSPInterstitialADViewController () <AdPopcornSSPInterstitialAdDelegate>
{
AdPopcornSSPInterstitialAd *_sspInterstitialAd;
}
@end
광고를 노출하고자 하는 ViewController.swift 에 AdPopcornSSPInterstitialAd 인스턴스 변수를 생성합니다.
class ViewController: UIViewController, APSSPInterstitialAdDelegate
{
// Interstitial
var interstitialAd: AdPopcornSSPInterstitialAd!
}
ViewController.m 을 수정하여 생성한 인스턴스를 구현합니다.
@implementation AdPopcornSSPInterstitialADViewController
- (void)viewDidLoad {
[super viewDidLoad];
_sspInterstitialAd = [[AdPopcornSSPInterstitialAd alloc] initWithKey:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_Id" viewController:self];
}
@end
ViewController.swift 을 수정하여 생성한 인스턴스를 구현합니다.
class ViewController: UIViewController, APSSPInterstitialAdDelegate
{
// Interstitial
var interstitialAd: AdPopcornSSPInterstitialAd!
override func viewDidLoad() {
super.viewDidLoad()
interstitialAd = AdPopcornSSPInterstitialAd.init(key: "YOUR_APP_KEY",
placementId: "YOUR_PLACEMENT_Id", viewController: self)
}
}
1) Placement ID 변경
전면 인스턴스 생성 시 사용한 placementID를 변경하고자 할 경우, 아래와 같은 방식으로 변경합니다.
_sspInterstitialAd.placementId = @"변경하고자 할 ID";
interstitialAd.placementId = "변경하고자 할 ID"
2. 광고 요청
loadRequest
API를 호출하여 전면 광고를 불러옵니다.
[_sspInterstitialAd loadRequest];
interstitialAd.loadRequest()
loadRequst 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.
3. 광고 노출
presentFromViewController
API(present API)를 호출하여 전면광고를 노출합니다.
[_sspInterstitialAd presentFromViewController:self];
interstitialAd.present(from: self);
4. 광고 배경색 변경
전면 광고가 나오는 뷰의 빈 공간에 배경색을 채울 수 있습니다.
// default : [UIColor colorWithRed:0 green:0 blue:0 alpha:0.8]
_sspInterstitialAd.backgroundColor = [UIColor redColor];
// default : UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)
interstitialAd.backgroundColor = UIColor.blue
5. 델리게이트
전면광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 델리게이트를 사용하기 위해서는 APSSPInterstitialAdDelegate
를 추가하여야 합니다.
Objective-C 의 경우 _sspInterstitialAd 인스턴스에 delegate를 설정하고 구현하여야 하며,
Swift 의 경우 interstitialAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.
APSSPInterstitialAdLoadSuccess
APSSPInterstitialAdLoadFail
APSSPInterstitialAdShowSuccess
APSSPInterstitialAdShowFail
APSSPInterstitialAdClosed
APSSPInterstitialAdClicked
apsspInterstitialAdLoadSuccess
apsspInterstitialAdLoadFail
apsspInterstitialAdShowSuccess
apsspInterstitialAdShowFail
apsspInterstitialAdClosed
apsspInterstitialAdClicked
_sspInterstitialAd 인스턴스에 delegate를 설정하고 구현합니다.
#import "AdPopcornSSPInterstitialADViewController.h"
@interface AdPopcornSSPInterstitialADViewController() <APSSPInterstitialAdDelegate>
@end
@implementation AdPopcornSSPInterstitialADViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 전면광고 델리게이트 설정
_sspInterstitialAd.delegate = self;
}
//전면광고 델리게이트 구현
-(void)APSSPInterstitialAdLoadSuccess:(AdPopcornSSPInterstitialAd *)interstitialAd
{
}
-(void)APSSPInterstitialAdLoadFail:(AdPopcornSSPInterstitialAd *)interstitialAd error:(AdPopcornSSPError *)error
{
}
-(void)APSSPInterstitialAdClosed:(AdPopcornSSPInterstitialAd *)interstitialAd
{
}
-(void)APSSPInterstitialAdClicked:(AdPopcornSSPInterstitialAd *)interstitialAd
{
}
@end
interstitialAd 인스턴스에 delegate를 설정하고 구현합니다.
class ViewController: UIViewController, APSSPInterstitialAdDelegate
{
// Interstitial
var interstitialAd: AdPopcornSSPInterstitialAd!
override func viewDidLoad() {
super.viewDidLoad()
interstitialAd = AdPopcornSSPInterstitialAd.init(key: "YOUR_APP_KEY",
placementId: "YOUR_PLACEMENT_Id", viewController: self)
interstitialAd.delegate = self
}
// Interstitial Delegate
func apsspInterstitialAdLoadSuccess(_ interstitialAd: AdPopcornSSPInterstitialAd!) {
interstitialAd.present(from: self);
}
func apsspInterstitialAdLoadFail(_ interstitialAd: AdPopcornSSPInterstitialAd!, error: AdPopcornSSPError!) {
}
func apsspInterstitialAdShowSuccess(_ interstitialAd: AdPopcornSSPInterstitialAd!) {
}
func apsspInterstitialAdShowFail(_ interstitialAd: AdPopcornSSPInterstitialAd!, error: AdPopcornSSPError!) {
}
func apsspInterstitialAdClosed(_ interstitialAd: AdPopcornSSPInterstitialAd!) {
}
func apsspInterstitialAdClicked(_ interstitialAd: AdPopcornSSPInterstitialAd!) {
}
}
Last updated