iOS 배너 광고 배너는 SSP의 가장 일반적인 광고 형태로 앱의 하단이나 상단에 노출되는 띠 형태의 광고입니다.
1. 배너 뷰 인스턴스 생성
배너 광고를 노출하기 위해 뷰를 생성 및 추가합니다. 광고를 노출하고자 하는 ViewController.m 을 수정하여 AdPopcornSSPBannerView.h, AdPopcornSSPAdSize.h
를 import 하여 AdPopcornSSPBannerView 인스턴스 변수를 생성해주세요.
Objective-C Swift
Copy #import <AdPopcornSSP/AdPopcornSSPBannerView.h>
#import <AdPopcornSSP/AdPopcornSSPAdSize.h>
@interface AdPopcornSSPBannerViewController () <AdPopcornSSPBannerViewDelegate>
{
AdPopcornSSPBannerView *_bannerView;
}
@end
Copy class ViewController : UIViewController , APSSPBannerViewDelegate
{
// Banner
var bannerView: AdPopcornSSPBannerView !
}
배너 인스턴스를 구현합니다.
Objective-C Swift
Copy //ViewController.m을 수정하여 생성한 인스턴스를 구현합니다.
@implementation AdPopcornSSPBannerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// case1. viewController에 bannerView를 add 할 경우.
_bannerView = [[AdPopcornSSPBannerView alloc] initWithBannerViewSize:SSPBannerViewSize320x50 origin:CGPointMake
(X 좌표, Y 좌표) appKey:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_Id" viewController:self];
// case2. viewController 내 특정 view(bannerParentView) 영역에 bannerView를 add 할 경우
_bannerView = [[AdPopcornSSPBannerView alloc] initWithBannerViewSize:SSPBannerViewSize320x50 origin:CGPointMake
(X 좌표, Y 좌표) appKey:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_Id" view:bannerParentView rootViewController:self];
}
@end
Copy class ViewController : UIViewController , APSSPBannerViewDelegate
{
// Banner
var bannerView: AdPopcornSSPBannerView !
override func viewDidLoad () {
super. viewDidLoad ()
bannerView = AdPopcornSSPBannerView. init ( bannerViewSize : SSPBannerViewSize320x50,
origin : CGPoint ( x : 0.0 , y : self. view .frame. size .height - 50.0 - AdPopcornSSPAdSize.adSize ( SSPBannerViewSize320x50 ) .height ) ,
appKey : "YOUR_APP_KEY" , placementId : "YOUR_PLACEMENT_ID" , viewController : self )
}
}
1) Placement ID 변경
배너 광고인스턴스 생성 시 사용한 placementID를 변경하고자 할 경우, 아래와 같은 방식으로 변경합니다.
Objective-C Swift
Copy _bannerView.placementId = @"변경하고자 할 ID";
Copy bannerView.placementId = "변경하고자 할 ID"
2. 배너 광고 요청
배너 인스턴스 구현 후 loadRequest API 를 호출하여 배너 광고를 요청합니다.
Objective-C Swift
Copy [_bannerView loadRequest];
Copy bannerView. loadRequest ()
loadRequst 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.
3. 배너 크기
애드팝콘 SSP 배너는 현재 아래의 사이즈를 AdPopcornSSPAdSize.h 에 선언하여 지원하고 있습니다.
SSPBannerViewSizeAdaptive(NAM 전용)
4. 광고 전환 주기
adRefreshRate API를 이용하여 수신한 광고의 전환 주기를 설정합니다. 최소 30초에서 최대 300초로 설정할 수 있습니다. adRefreshRate 를 -1로 설정 시 애드팝콘 광고가 로드 된 후, 자동 refresh 가 되지 않습니다.
단, 미디에이션 네트워크 광고는 해당 기능을 제공하는 업체에 대해서만 설정이 적용됩니다.
Objective-C Swift
Copy //adRefreshRate = (NSInteger)seconds
_bannerView.adRefreshRate = 35;
Copy bannerView.adRefreshRate = 35 ;
5. 배너 광고 애니메이션
애드팝콘 에서 제공하는 배너 광고는 총 6가지의 애니메이션을 추가할 수 있습니다.
Default 값은 SSPBannerViewAnimNONE 입니다.
SSPBannerViewAnimFlipFromLeft
SSPBannerViewAnimFlipFromRight
SSPBannerViewAnimCurlDown
Objective-C Swift
Copy [_bannerView setAnimType:SSPBannerViewAnimFlipFromLeft];
Copy bannerView. setAnimType ( SSPBannerViewAnimFlipFromIn )
6. 배너 배경색 채우기
애드팝콘 에서 제공하는 배너 광고는 배너 광고가 나오는 뷰의 빈 공간에 배경색을 채울 수 있습니다.
Default 값은 true (=배경 채우기) 입니다.
Objective-C Swift
Copy [_bannerView setAutoBgColor:false]; // Defaults 'true'
Copy bannerView. setAutoBgColor ( false ) // Defaults 'true'
7. 광고 중단
stopAd
API를 호출하여 해당 배너 뷰의 사용하지 않도록 설정 합니다.
Objective-C Swift
Copy [_bannerView stopAd];
8. 델리게이트
배너광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 델리게이트를 사용하기 위해서는 APSSPBannerViewDelegate
를 추가하여야 합니다.
bannerView 인스턴스에 delegate를 설정하고 구현하여야 합니다.
Objective-C Swift
APSSPBannerViewLoadSuccess
APSSPBannerViewLoadFail, error
apsspBannerViewLoadSuccess
apsspBannerViewLoadFail(error)
Objective-C Swift
Copy #import "AdPopcornSSPBannerViewController.h"
@interface AdPopcornSSPBannerViewController () <APSSPBannerViewDelegate>
@end
@implementation AdPopcornSSPBannerViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 배너 델리게이트 설정
_bannerView.delegate = self;
}
// 배너 델리게이트 구현
- (void)APSSPBannerViewLoadSuccess:(AdPopcornSSPBannerView *)bannerView
{
NSLog(@"BannerAd Loading Success");
}
- (void)APSSPBannerViewLoadFail:(AdPopcornSSPBannerView *)bannerView error:(AdPopcornSSPError *)error
{
NSLog(@"BannerAd Laoding Failed, ErrorCode : %@", error);
}
- (void)APSSPBannerViewClicked:(AdPopcornSSPBannerView *)bannerView
{
NSLog(@"BannerAd Clicked");
}
@end
Copy class ViewController : UIViewController , APSSPBannerViewDelegate
{
// Banner
var bannerView: AdPopcornSSPBannerView !
override func viewDidLoad () {
super. viewDidLoad ()
bannerView = AdPopcornSSPBannerView. init ( bannerViewSize : SSPBannerViewSize320x50,
origin : CGPoint ( x : 0.0 , y : self. view .frame. size .height - 50.0 - AdPopcornSSPAdSize.adSize ( SSPBannerViewSize320x50 ) .height ) ,
appKey : "YOUR_APP_KEY" , placementId : "YOUR_PLACEMENT_Id" , viewController : self )
bannerView.delegate = self
}
// Banner Delegate
func apsspBannerViewLoadSuccess ( _ bannerView : AdPopcornSSPBannerView ! ) {
}
func apsspBannerViewLoadFail ( _ bannerView : AdPopcornSSPBannerView ! , error : AdPopcornSSPError ! ) {
}
func apsspBannerViewClicked ( _ bannerView : AdPopcornSSPBannerView ! ) {
}
}
Last updated 7 months ago