커스텀 타입(iOS)

본 문서는 비공개 문서이며 iOS 환경에서 커스텀 타입 광고용 API 가이드 입니다.

아래 가이드에는 커스텀 타입 광고 타입에 대해 설명 하고 있으며, 기본적인 연동은 애드팝콘 SSP 정식 가이드 사이트에서 확인하시기 바랍니다.

커스텀 광고?

SDK를 통해 자동으로 광고를 노출하지 않고 광고 노출에 필요한 정보를 받아 직접 광고를 노출 시켜주는 수동 광고 타입

1. 기본 연동

애드팝콘 SSP SDK iOS 기본 설정을 참고하시고 아래 사항 SSP SDK 기본 연동 진행이 필요합니다.

  • SDK 다운로드 및 설치

  • 코드 연동

2. 인스턴스 생성

커스텀 광고를 요청하기 위해 인스턴스 생성 및 추가합니다.

광고를 노출하고자 하는 ViewController.m 을 수정하여 AdPopcornSSPCustomAd.h를 import 하여 AdPopcornSSPCustomAd 인스턴스 변수를 생성합니다.

#import <AdPopcornSSP/AdPopcornSSPCustomAd.h>

@interface AdPopcornSSPCustomAdViewController () <APSSPCustomAdDelegate> 
{	
	AdPopcornSSPCustomAd *_customAd;
}

@end

@implementation AdPopcornSSPCustomAdViewController 

	- (void)viewDidLoad { 
		[super viewDidLoad]; 		
		_customAd = [[AdPopcornSSPCustomAd alloc] initWithAppKey:@"YOUR_APP_KEY"
		    placementId:@"YOUR_PLACEMENT_ID" adType:SSPCustomAdNativeAd];			
	}

@end

커스텀 광고 인스턴스 생성 시, appKey, placementId, adType을 넘겨주어야 하며 지원 하는 adType은 아래와 같습니다.

adType
설명

SSPCustomAd320x50

배너 광고 320x50 사이즈

SSPCustomAd300x250

배너 광고 300x250 사이즈

SSPCustomAd320x100

배너 광고 320x100 사이즈

SSPCustomAdInterstitial

전면 광고

SSPCustomAdNativeAd

네이티브 광고

3. 델리게이트 설정

커스텀 광고 요청에 대한 결과를 전달 받을 delegate를 설정합니다.

delegate
설명

APSSPCustomAdLoadSuccess

광고 요청에 성공한 경우. adData에 광고 정보가 넘어옵니다.

APSSPCustomAdLoadFail

광고 요청에 실패한 경우

#import <AdPopcornSSP/AdPopcornSSPCustomAd.h>

@interface AdPopcornSSPCustomAdViewController () <APSSPCustomAdDelegate> 
{	
	AdPopcornSSPCustomAd *_customAd;
}

@end

@implementation AdPopcornSSPCustomAdViewController 

	- (void)viewDidLoad { 
		[super viewDidLoad]; 		
		_customAd = [[AdPopcornSSPCustomAd alloc] initWithAppKey:@"YOUR_APP_KEY"
			 placementId:@"YOUR_PLACEMENT_ID" adType:SSPCustomAdNativeAd];
		_customAd.delegate = self;
	}
	
	#pragma mark - APSSPCustomAdDelegate
	- (void)APSSPCustomAdLoadSuccess:(AdPopcornSSPCustomAd *)customAd adData:(NSString *)adData
	{
		  NSLog(@"APSSPCustomAdLoadSuccess : %@", adData);
		  if(_customAd != nil)
		  {
					// 네이티브 타입
			    NSData *jsonData = [adData dataUsingEncoding:NSUTF8StringEncoding];
			    id json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
			    NSString *title = [json valueForKey:@"Title"];
			    NSString *landingURL = [json valueForKey:@"LandingURL"];
		  }
	}

	- (void)APSSPCustomAdLoadFail:(AdPopcornSSPCustomAd *)customAd error:(AdPopcornSSPError *)error
	{
		  NSLog(@"APSSPCustomAdLoadFail : %@", error);
	}
@end

  • 각 광고 타입별 성공 시 adData 예시는 아래와 같습니다.

<html><head><style>html,body{overflow:hidden;position:relative;width:100%;heigh
t:100%;margin:0;padding:0}</style></head>><body>
<a href="https://partners.igaworks.com/"target="_blank">
<img src="https://adpopcorn-ssp/test_campaign/300x250.JPG" width="300"
height="250" /></a></body></html><style>
html,body{overflow:hidden;position:relative;width:100%;height:100%;margin:0;paddin
g:0}</style>

4. 광고 요청

광고 요청 시점에 load API 호출하여 서버에 광고를 요청합니다.

#import <AdPopcornSSP/AdPopcornSSPCustomAd.h>

@interface AdPopcornSSPCustomAdViewController () <APSSPCustomAdDelegate> 
{	
	AdPopcornSSPCustomAd *_customAd;
}

@end
@implementation AdPopcornSSPCustomAdViewController 

	- (void)viewDidLoad { 
		[super viewDidLoad]; 		
		_customAd = [[AdPopcornSSPCustomAd alloc] initWithAppKey:@"YOUR_APP_KEY"
			 placementId:@"YOUR_PLACEMENT_ID" adType:SSPCustomAdNativeAd];
		_customAd.delegate = self;
		[_customAd loadAd];
	}
	
	#pragma mark - APSSPCustomAdDelegate
	- (void)APSSPCustomAdLoadSuccess:(AdPopcornSSPCustomAd *)customAd adData:(NSString *)adData
	{
		  NSLog(@"APSSPCustomAdLoadSuccess : %@", adData);
		  if(_customAd != nil)
		  {
					// 네이티브 타입
			    NSData *jsonData = [adData dataUsingEncoding:NSUTF8StringEncoding];
			    id json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
			    NSString *title = [json valueForKey:@"Title"];
			    NSString *landingURL = [json valueForKey:@"LandingURL"];
		  }
	}

	- (void)APSSPCustomAdLoadFail:(AdPopcornSSPCustomAd *)customAd error:(AdPopcornSSPError *)error
	{
		  NSLog(@"APSSPCustomAdLoadFail : %@", error);
	}
@end

5. 광고 노출, 클릭 리포트 수집

커스텀 광고 타입의 경우 매체가 직접 광고물을 노출시키고, 클릭 처리를 해주어야 하기에 반드시 아래 두 API를 적절한 시점해 호출해 주는 연동을 진행해 주어야 정확한 데이터 수집이 가능합니다.

// 광고 노출 시점에 호출
[_customAd reportImpression];
    
// 광고 클릭 시점에 호출
[_customAd reportClick];

위 연동 중 궁금하신 사항이나 수정이 필요한 부분이 있으면 애드팝콘 사업팀(pm@adpopcorn.com)으로 메일 주시기 바랍니다.

Last updated