로딩중입니다
애드팝콘 SSP : iOS
9/8/2017 10:41:04 AM

애드팝콘 SSP 연동하기 : iOS 네이티브


본 가이드는 iOS 네이티브 프로젝트에서 애드팝콘 SSP를 연동하기 위한 문서입니다.

애드팝콘에 대한 서비스 소개나 이용방법 안내는 아래 아티클에서 확인하실 수 있습니다.

[애드팝콘 서비스 안내]


서비스 이용 중 도움이 필요한 경우에는 아래 메일 주소로 연락 부탁 드립니다.

1. 서비스 이용 및 제휴 문의 - 애드팝콘 사업팀 (ssp_biz@igaworks.com)

2. 기술문의 : 기술지원팀(tech_support@igaworks.com)



SDK 설치


IGAWorks iOS SDK는 CocoaPods 를 이용한 자동설치를 지원합니다.

CocoaPods 를 이용하여 보다 편리하게 SDK를 설치할 수 있습니다.


CocoaPods 설치 및 초기화

CocoaPods가 설치되어 있지 않다면 Mac OSX 의 터미널을 실행하여 CocoaPods를 설치합니다.

$ sudo gem install cocoapods


설치가 완료되면 다음과 같은 터미널 화면을 확인할 수 있습니다.


설치가 완료된 후에 CocoaPods를 초기화 합니다.

$ pod setup


초기화 이후에 다음과 같은 화면이 보이신 다면, cocoapods 설치가 완료된 것입니다.


Podfile 생성 및 편집

CocoaPods 를 적용할 Xcode 프로젝트 파일이 있는 폴더로 이동하여 Podfile를 생성합니다.

$ cd /path/to/MyXcodeProject
$ touch Podfile


터미널에서 vi 에디터를 실행하여 Podfile 의 내용을 다음과 같이 수정한 뒤에 ESC, Shift+Z(2번)를 연속으로 눌러 종료합니다.

platform :ios, '8.0'
target "myProjectName" do
pod 'IgaworksCore'
pod 'AdPopcornSSP'
end

CAUTION!!!  platform 의 값 중, '8.0' 의 값은 Xcode 프로젝트에서 지원하는 최소 iOS OS 버전을 의미합니다.


설치 

다음 명령어를 입력하여 SDK를 설치합니다.

$ pod install


설치 확인

다음의 명령어를 실행하여 프로젝트에 설치된 SDK를 확인할 수 있습니다.

$ open MyXCodeProject.wcworkspace



SDK 수동 설치

개발환경에 따라서 Cocoapods를 통한 설치가 어려운 경우, SDK를 프로젝트에 수동으로 설치할 수 있습니다.

수동 설치를 하기 위해서는 [APPENDIX : SDK 수동 설치] 를 참고하여 진행합니다.



코드연동


IDFA 설정

AdSupport Framework를 Dependencies에 추가합니다.

CAUTION!!! AdSupport Framework가 추가되지 않으면 애드팝콘 SSP 서비스가 정상 동작 하지 않습니다.


로그 수준 설정

SDK에서 노출하는 로그의 수준을 설정할 수 있습니다.

setLogLevel  API를 이용하여 설정하며 수준을 결정하는 값은 AdPopcornSSP.h 에 정의된 enum을  사용하며 각 수준은 다음과 같습니다.

  • AdPopcornSSPLogInfo : info 수준의 가장 기본적인 로그를 노출 합니다.
  • AdPopcornSSPLogDebug  : info 를 포함한 Debug 수준의 로그를 노출 합니다.
  • AdPopcornSSPLogTrace  : 모든 로그를 노출합니다.
[AdPopcornSSP setLogLevel:AdPopcornSSPLogTrace];

배너광고

배너는 SSP의 가장 일반적인 광고 형태로 앱의 하단이나 상단에 노출되는 띠 형태의 광고입니다.


배너 뷰 인스턴스 생성

배너 광고를 노출하기 위해 뷰를 생성 및 추가합니다. 광고를 노출하고자 하는 ViewController.m 을 수정하여 AdPopcornSSPBannerView.h, AdPopcornSSPAdSize.h 를 import 하여 AdPopcornSSPBannerView 인스턴스 변수를 생성합니다.

#import <AdPopcornSSP/AdPopcornSSPBannerView.h>
#import <AdPopcornSSP/AdPopcornSSPAdSize.h>
@interface AdPopcornSSPBannerViewController () <AdPopcornSSPBannerViewDelegate>
{ AdPopcornSSPBannerView *_bannerView;
} @end


ViewController.m 을 수정하여 생성한 인스턴스를 구현합니다.

@implementation AdPopcornSSPBannerViewController 
- (void)viewDidLoad { [super viewDidLoad]; __bannerView = [[AdPopcornSSPBannerView alloc] initWithBannerViewSize:SSPBannerViewSize320x50 origin:CGPointMake(배너가 위치할 X 좌표 , 배너가 위치할 Y 좌표) appKey:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_Id" viewController:self];
}

+ 발급받은앱키 : IGAWorks에서 앱을 등록하고 발급 받은 앱키

+ Banner PlacementId : 애드팝콘 SSP 관리페이지에서 생성한 Banner PlacementId


배너 광고 요청

배너 인스턴스 구현 후 loadRequest  API 를 호출하여 배너 광고를 요청합니다.

[_bannerView loadRequest];


배너크기

애드팝콘 SSP 배너는 현재 iPhone, iPod Touch의 사이즈(W:320, H:50) , (W:300 , H:250) 를 지원하고 으며 AdPopcornSSPBannerView.h 의 AdPopcornSSPBannerViewSize320x50 , AdPopcornSSPBannerViewSize300x250 로 정의되어 있는 상수를 사용하시면 됩니다.


광고 전환 주기

adRefreshRate API를 이용하여 수신한 광고의 전환 주기를 설정합니다. 최소  30초에서 최대 300초로 설정할 수 있습니다. 별도로 설정하지 않을 경우 기본값(60초)으로 유지됩니다.

adRefreshRate 를 -1로 설정 시 Igaw 광고가 로드 된 후, 자동 refresh 가 되지 않습니다.

단, 미디에이션 네트워크 광고는 해당 기능을 제공하는 업체에 대해서만 설정이 적용됩니다.

//adRefreshRate = (NSInteger)seconds
_bannerView.adRefreshRate = 35;


배너 광고 애니메이션

IGAWorks 에서 제공하는 배너 광고는 총 6가지의 애니메이션을 추가할 수 있습니다.

  • SSPBannerViewAnimNONE: 배너 애니메이션 없음 (기본)
  • SSPBannerViewAnimFadeIn : 페이드 인 애니메이션
  • SSPBannerViewAnimFlipFromLeft : 왼쪽으로 플립 애니메이션
  • SSPBannerViewAnimFlipFromRight: 오른쪽으로 플릿 애니메이션
  • SSPBannerViewAnimCurlup : 윗쪽으로 회전 애니메이션
  • SSPBannerViewAnimCurlDown : 아래쪽으로 회전 애니메이션

[_bannerView setAnimType:SSPBannerViewAnimFlipFromLeft];


배너 배경색 채우기

IGAWorks 에서 제공하는 배너 광고는 배너 광고가 나오는 뷰의 빈 공간에 배경색을 채울 수 있습니다. (기본 설정은 배경채우기로 설정되어 있습니다.)

[_bannerView setAutoBgColor:false];


광고 중단 

stopAd API를 호출하여 해당 배너 뷰의 사용하지 않도록 설정 합니다.

[_bannerView stopAd];


델리게이트

배너광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 델리게이트를 사용하기 위해서는 APSSPBannerViewDelegate를 추가하여야 합니다.

CAUTION!!! SSP 2.0.5 버전부터 델리게이트 설정 관련 API가 변경 되었습니다.

아래 변경된 가이드를 참고하여서 연동을 진행 부탁 드립니다.


_bannerView 인스턴스에 delegate를 설정하고 구현하여야 합니다.

  • APSSPBannerViewLoadSuccess : 배너광고 로드 성공
  • APSSPBannerViewLoadFail : error : 배너광고 로드 실패
    전달되는 에러코드는 [APPENDIX : SSP 응답 에러 코드 정의] 를 참고
  • APSSPBannerViewClicked : 배너광고 클릭

#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

+ _bannerView : ViewController.h와 m 파일에서 생성한 AdPopcornSSPBannerView 인스턴스



전면 광고

전면광고는 화면 전체를 덮는 형태의 광고입니다. 다음을 참고하여 전면광고를 연동합니다.


인스턴스 생성

노출하고자 하는 ViewController.m에 AdPopcornSSPInterstitialAd.h 를 import 하고 인스턴스 변수를 선언합니다.

#import <AdPopcornSSP/AdPopcornSSPInterstitialAd.h>
@interface AdPopcornSSPInterstitialADViewController () <AdPopcornSSPInterstitialAdDelegate>
{ AdPopcornSSPInterstitialAd *_sspInterstitialAd;
} @end


ViewController.m 을 수정하여 생성한 인스턴스를 구현합니다.

@implementation AdPopcornSSPInterstitialADViewController 
- (void)viewDidLoad { [super viewDidLoad]; _sspInterstitialAd = [[AdPopcornSSPInterstitialAd alloc] initWithKey:@"YOUR_APP_KEY" placementId:@"YOUR_PLACEMENT_Id" viewController:self];
}

+ YOUR_APP_KEY : IGAWorks에서 앱을 등록하고 발급 받은 앱키

+ YOUR_PLACEMENT_Id : 애드팝콘 SSP 관리페이지에서 생성한 전면광고 Id


광고 요청

loadRequest API를 호출하여 전면광고를 불러옵니다. (SSP v1.0.3in 부터 적용됩니다.)

[_sspInterstitialAd loadRequest];

+ _sspInterstitialAd : ViewController.h와 m 파일에서 생성한 AdPopcornSSPInterstitialAd 인스턴스


광고 노출

presentFromViewController API를 호출하여 전면광고를 노출합니다.

[_sspInterstitialAd presentFromViewController:self];

+ _sspInterstitialAd : ViewController.h와 m 파일에서 생성한 AdPopcornSSPInterstitialAd 인스턴스


비디오 광고

구글에서 제공하는 IMA SDK를 기반으로 전면 비디오 광고를 제공하고 있습니다.

전면 지면 에서 비디오 광고를 노출하고자 할 경우 , IMA SDK를 필수적으로 추가 하여야 합니다.


Add IMA SDK

아래 링크의 압축 파일에 포함된 AdPopcornSSPVast를 프로젝트에 추가 합니다.

해당 폴더에는 구글에서 제공 하는 IMA framework와 애드팝콘 어댑터가 포함 되어 있습니다.

[IGAWORKS IMA SDK 다운로드]



델리게이트

전면광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 델리게이트를 사용하기 위해서는 APSSPInterstitialAdDelegate를 추가하여야 합니다.

CAUTION!!!  SSP 2.0.5 버전부터 델리게이트 설정 관련 API가 변경 되었습니다.

아래 변경된 가이드를 참고하여서 연동을 진행 부탁 드립니다.


_sspInterstitialAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.

  • APSSPInterstitialAdLoadSuccess : 전면광고 로드 성공
  • APSSPInterstitialAdLoadFail : error: 전면광고 로드 실패
    전달되는 에러코드는 [APPENDIX : SSP 응답 에러 코드 정의] 를 참고
  • APSSPInterstitialAdClosed : 전면광고 닫기
  • APSSPInterstitialAdClicked : 전면광고 클릭

#import "AdPopcornSSPInterstitialADViewController.h"
@interface AdPopcornSSPInterstitialADViewController() <APSSPInterstitialAdDelegate>
@end @implementation AdPopcornSSPInterstitialADViewController - (void)viewDidLoad { [super viewDidLoad]; // 전면광고 델리게이트 설정 _sspInterstitialAd.delegate = self; } //전면광고 델리게이트 구현 -(void)APSSPInterstitialAdLoadSuccess:(AdPopcornSSPInterstitialAd *)interstitialAd { NSLog(@"InterstitialAd Loading Success"); } -(void)APSSPInterstitialAdLoadFail:(AdPopcornSSPInterstitialAd *)interstitialAd error:(AdPopcornSSPError *)error { NSLog(@"InterstitialAd Loading Failed, ErrorCode : %@", error); } -(void)APSSPInterstitialAdClosed:(AdPopcornSSPInterstitialAd *)interstitialAd {
    NSLog(@"InterstitialAd Closed"); -(void)APSSPInterstitialAdClicked:(AdPopcornSSPInterstitialAd *)interstitialAd { NSLog(@"InterstitialAd Clicked"); } @end

+ _sspInterstitialAd : ViewController.h와 m 파일에서 생성한 AdPopcornSSPInterstitialAd 인스턴스



리워드 비디오 광고

리워드를 제공하는 비디오 광고 입니다. 비디오 광고 종료 시 , event callback 으로 설정하신 리워드 정보를 전달 합니다.


Add IMA SDK

아래 링크의 압축 파일에 포함된 AdPopcornSSPVast를 프로젝트에 추가 합니다.

해당 폴더에는 구글에서 제공 하는 IMA framework와 애드팝콘 어댑터가 포함 되어 있습니다.

[IGAWORKS IMA SDK 다운로드]


리워드 비디오 광고 인스턴스 생성

노출하고자 하는 ViewController.m에 AdPopcornSSPRewardVideoAd.h를 import 하고 인스턴스 변수를 선언 합니다.

#import <AdPopcornSSP/AdPopcornSSPRewardVideoAd.h>					
@interface AdPopcornSSPRewardVideoADViewController () <AdPopcornSSPRewardVideoAdDelegate>	
{										
 	AdPopcornSSPRewardVideoAd *_sspRewardVideoAd;					
} 										
@end	

ViewController.m을 수정하여 생성한 인스턴스를 구현 합니다.
@implements AdPopcornSSPRewardVideoADViewController () 					
- (void) viewDidLoad									
{										
 _sspRewardVideoAd = [[AdPopcornSSPRewardVideoAd alloc] initWithKey: @"YOUR_APP_KEY" placementId: @"YOUR_PLACEMENT_Id" viewController:self];							
} 
+YOUR_APP_KEY = IGAWorks에서 앱을 등록하고 받은 앱키.
+YOUR_PLACEMENT_Id = 애드팝콘 SSP 관리 페이지에서 생성한 리워드 비디오 광고 Id

리워드 비디오 광고 요청

loadRequest API를 호출 하여 리워드 광고를 불러옵니다.

[_sspRewardVideoAd loadRequest];

+ _ sspRewardVideoAd: ViewController.h와 m 파일에서 생성한 AdPopcornSSPRewardVideoAd 인스턴스


리워드 비디오 광고 노출

presentFromViewController API를 호출하여 리워드 광고를 불러옵니다.

[_sspRewardVideoAd presentFromViewController:self];

+ _ sspRewardVideoAd: ViewController.h와 m 파일에서 생성한 AdPopcornSSPRewardVideoAd 인스턴스


리워드 비디오 광고 델리게이트 설정

리워드 비디오 광고에서 발생하는 이벤트에 대한 델리게이트를 제공 합니다.

델리게이트를 사용하기 위해서는 APSSPRewardVideoAdDelegate를 추가 하여야 합니다.

CAUTION!!! SSP 2.0.5 버전부터 델리게이트 설정 관련 API가 변경 되었습니다.

아래 변경된 가이드를 참고하여서 연동을 진행 부탁 드립니다.


_sspRewardVideoAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.

  • APSSPRewardVideoAdLoadSuccess : 비디오광고 로드 성공
  • APSSPRewardVideoAdLoadFail : error: 비디오광고 로드 실패
  • APSSPRewardVideoAdShowSuccess : 비디오광고 노출 성공
  • APSSPRewardVideoAdShowFail : 비디오광고 노출 실패
  • APSSPRewardVideoAdClosed : 비디오광고 닫기
  • APSSPRewardVideoAdPlayCompleted : 비디오광고 APSSP 재생 완료
  • APSSPRewardVideoAdMintegralVideoCompleted : 비디오광고 Mintegral 재생 완료  
  • APSSPRewardVideoAdUnityAdsVideoCompleted : 비디오광고 UnityAds 재생 완료
  • APSSPRewardVideoAdAdMobVideoCompleted : 비디오광고 AdMob 재생 완료
  • APSSPRewardVideoAdAppNextAdsVideoCompleted : 비디오광고 AppNext 재생 완료

#import "AdPopcornSSPRewardVideoADViewController.h						
@interface AdPopcornSSPRewardVideoADViewController() <APSSPRewardVideoAdDelegate>		
@end											
											
@implementation AdPopcornSSPRewardVideoADViewController						
											
- (void)viewDidLoad {										
											
    [super viewDidLoad];									
    											
    // 리워드 광고 델리게이트 설정								
    _sspRewardVideoAd.delegate = self;								
}											
											
// 리워드 광고 델리게이트 구현									
- (void)APSSPRewardVideoAdLoadSuccess:(AdPopcornSSPRewardVideoAD *)rewardVideoAd;						
{											
   NSLog(@“AdPopcornSSPLoadRewardVideoAdSuccess”);						
   [_sspRewardVideoAd presentFromViewController:self];						
}											
											
- (void)APSSPRewardVideoAdLoadFail:(AdPopcornSSPRewardVideoAd *)rewardVideoAd error:(AdPopcornSSPError)error			
{											
   NSLog(@“AdPopcornSSPLoadRewardVideoAdFailedWithError : %@“, error);				
}											
- (void)APSSPRewardVideoAdShowSuccess:(AdPopcornSSPRewardVideoAD *)rewardVideoAd				
{											
   NSLog(@“AdPopcornSSPShowRewardVideoAdSuccess”);						
}											
- (void)APSSPRewardVideoAdShowFail:(AdPopcornSSPRewardVideoAd *)rewardVideoAd							
{											
   NSLog(@“AdPopcornSSPShowRewardVideoAdFailed”);						
}											
- (void)APSSPRewardVideoAdClosed:(AdPopcornSSPRewardVideoAD *)rewardVideoAd							
{											
   NSLog(@“AdPopcornSSPRewardVideoAdClosed”);							
}											
- (void)APSSPRewardVideoAdPlayCompleted:(AdPopcornSSPRewardVideoAd)rewardVideoAd quantity:(long) quantity currency:(NSString *)currency	
{											
   NSLog(@“AdPopcornSSPRewardVideoAdPlayCompletedWithQuantity %ld, %@“, quantity, currency);		
}											
- (void)APSSPRewardVideoAdMintegralVideoCompleted:(AdPopcornSSPRewardVideoAd *)rewardVideoAd rewardAmount:(NSInteger)rewardAmount
{
   NSLog(@“AdPopcornSSPRewardVideoAdMintegralVideoCompleted %ld”, rewardAmount);
}
- (void)APSSPRewardVideoAdUnityAdsVideoCompleted:(AdPopcornSSPRewardVideoAD *)rewardVideoAd
{
   NSLog(@“AdPopcornSSPRewardVideoAdUnityAdsVideoCompleted”);
}
- (void)APSSPRewardVideoAdAdMobVideoCompleted:(AdPopcornSSPRewardVideoAd *)rewardVideoAd rewardAmount:(double)rewardAmount
{
   NSLog(@“AdPopcornSSPRewardVideoAdAdMobVideoCompleted %f”, rewardAmount);
}	
- (void)APSSPRewardVideoAdAppNextAdsVideoCompleted:(AdPopcornSSPRewardVideoAd *)rewardVideoAd
{
   NSLOG(@"AdPopcornSSPRewardVideoAdAppNextVideoCompleted");
}									
@end	
CAUTION!!!  use of @import when modules are disabled 에러가 발생하는 것은 AdPopcornSSPVastPlayer.h 파일에
import 되어 있는 @import GoogleInteractiveMediaAds; 을 찾을 수 없어 발생하는 에러 입니다.
해당 에러가 발생할 경우 아래와 같이 추가 설정을 진행 부탁 드립니다.




네이티브 광고

네이티브 형태의 광고를 제공 합니다.


네이티브 광고 인스턴스 생성

AdPopcornSSPNativeAd 생성

storyboard에 AdPopcornSSPNativeAd 영역 지정 후 아래 스크린샷과 같이 Outlet 연결

#import <AdPopcornSSP/AdPopcornSSPNativeAd.h>

@property (strong, nonatomic) IBOutlet AdPopcornSSPNativeAd *adPopcornSSPNativeAd;


ViewController.m을 수정하여 생성한 인스턴스에 setPlacementInfoWithAppkey API를 이용하여
아래와 같이 AppKey , PlacementId , ViewController를  설정 합니다.

@implementation AdPopcornSSPNativeViewController 
	- (void)viewDidLoad {
    	[super viewDidLoad];
	[_adPopcornSSPNativeAd setPlacementInfoWithAppKey:@“발급받은앱키” placementId:@“발급받은 네이티브 PlacementId” viewController:self];
        _adPopcornSSPNativeAd.delegate = self;
}

+ 발급받은앱키 : IGAWorks에서 앱을 등록하고 발급 받은 앱키

+ 발급받은 네이티브 PlacementId : 애드팝콘 SSP 관리페이지에서 생성한 네이티브 PlacementId


네이티브 레이아웃 구성

네이티브 레이아웃의 구성은 미디에이션 사용 여부에 따라 달라지게 됩니다.

아래 두 링크를 참고하여서 레이아웃을 구성 부탁 드립니다.

CAUTION!!!   v2.0.3 부터 네이티브 미디에이션이 추가됨에 따라 네이티브 연동 방식이 변경 되었으니

v2.0.2을 사용하고 있으신  매체에서는 아래 레이아웃 구성가이드를 참고하여서 재 연동 부탁 드립니다.


[네이티브 광고 레이아웃 구성 가이드]

[네이티브 광고 미디에이션 레이아웃 구성 가이드]


네이티브 광고 요청

네이티브 인스턴스와 asset의 적절한 배치가 완료 된 경우 ,  광고 요청 loadRequest API를 호출 하여 광고를 받아 옵니다.

광고 수신이 정상적으로 완료 된 경우 아래 스크린샷과 같이 광고가 노출 됩니다.

[_sspNativeAd loadRequest];



네이티브 광고 델리게이트 설정

네이티브광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다.

델리게이트를 사용하기 위해서는 APSSPNativeAdDelegate를 추가하여야 합니다.

CAUTION!!! SSP 2.0.5 버전부터 델리게이트 설정 관련 API가 변경 되었습니다.

아래 변경된 가이드를 참고하여서 연동을 진행 부탁 드립니다.


_sspNativeAd 인스턴스에 delegate를 설정하고 구현하여야 합니다.

  • APSSPNativeAdLoadSuccess : 네이티브광고 로드 성공
  • APSSPNativeAdLoadFail : error: 네이티브광고 로드 실패
  • APSSPNativeAdImpression : 네이티브광고 화면 노출
  • APSSPNativeAdClicked : 네이티브광고 클릭

#import <AdPopcornSSP/AdPopcornSSPNativeAd.h>
	@interface AdPopcornSSPNativeViewController () <APSSPNativeAdDelegate> 
	{
	}
        @property (strong, nonatomic) IBOutlet AdPopcornSSPNativeAd *adPopcornSSPNativeAd;
	
        @end
	@implementation AdPopcornSSPNativeViewController 
	- (void)viewDidLoad {
    		[super viewDidLoad];
		[_adPopcornSSPNativeAd setPlacementInfoWithAppKey:@“발급받은앱키” placementId:@“발급받은 네이티브 PlacementId” viewController:self];
                _adPopcornSSPNativeAd.delegate = self;
        }

        #pragma AdPopcornSSPNativeAdDelegate
        - (void)AdPopcornSSPLoadNativeAdFailedWithError:(AdPopcornSSPError *)error {
           NSLog(@“AdPopcornSSPLoadNativeAdFailedWithError”);
        }

        - (void)APSSPNativeAdLoadSuccess:(AdPopcornSSPNativeAD *)native Ad
        {
           NSLog(@“AdPopcornSSPLoadNativeAdSuccess”);
        }

        - (void)APSSPNativeAdLoadFail:(AdPopcornSSPNativeAD *)nativeAd error:(AdPopcornSSPError) error
        {
           NSLog(@"AdPopcornSSPNativeAd Loading Failed, ErrorCode : %@", error);

        - (void)APSSPNativeAdImpression:(AdPopcornSSPNativeAd *)nativeAd
        {
           NSLog(@"AdPopcornSSPNativeAdImpression");

        - (void)APSSPNativeAdClicked:(AdPopcornSSPNativeAd *)nativeAd
         {
           NSLog(@“AdPopcornSSPNativeAdClicked”);
        }


SSP iOS 샘플 프로젝트

제공되는 가이드를 참고하여서 연동을 진행하는 과정에서 어려움이 있으신 분들은

아래 SSP iOS 샘플 프로젝트를 참고하여서 연동을 진행 부탁 드립니다.

[SSP iOS 샘플 프로젝트]



APPENDIX : SSP 응답 에러 코드 정의

각 광고 별 이벤트 리스너로 전달되는 에러코드의 정의입니다.

코드메시지설명
200Exception일반 에러
1000Invalid Parameter잘못된 파라미터
9999Unknown Server Error알려지지 않은 서버 에러
2000Invalid Media Key잘못된 앱키
2030Invalid Placement Id잘못된 플레이스먼트 아이디
2100Empty Campaign광고 없음
2200Invalid Third Party Name외부 네트워크 정보 로드 실패
3200Native Placement Does Not Initialized네이티브 설정 초기화 오류
5000Server Timeout서버 타임 아웃
5001Load Ad Failed특정 네트워크 광고 로드의 실패
5002No Ad모든 네트워크 광고 로드의 실패



APPENDIX : SSP 미디에이션

미디에이션 기능을 사용하기 위해 다음 아티클을 참고하여 진행합니다.

[애드팝콘 SSP : iOS (미디에이션)]


APPENDIX : SDK 수동설치

CocoaPods 가 아닌 수동으로 직접 SDK를 설치하는 방법입니다.


SDK 다운로드 및 설치

아래 링크를 통하여  최신 IOS 네이티브 SDK 패키지를 다운로드 합니다.

다운로드 받은 .zip 파일을 압축해제하여 AdPopcornSSP 프레임워크를 Xcode 프로젝트에 복사하여 추가합니다.

[애드팝콘 SSP iOS SDK 다운로드]


번들 리소스 추가

애드팝콘 SSP 광고를 진행하기 위해 번들 리소스를 추가합니다.

AdpopcornSSP.framework > Version > A > Resources 폴더의 Bundle 파일을 Xcode 프로젝트에 복사하여 추가합니다.


Dependencies 추가

애드팝콘 오퍼월 SDK에 필요한 필수 프레임워크를 추가합니다.


프레임워크 목록
  1. libxml2.dylib
  2. CoreTelephony
  3. SystemConfiguration
  4. UIKit
  5. Security
  6. CoreGraphics
  7. CoreText
  8. AdSupport
  9. MessageUI
  10. MobileCoreServices
  11. AVKit
  12. AVfoundation
  13. CoreMedia
  14. MediaPlayer



빌드 옵션 설정

Build Settings Pane > Linking > Other Linker Flags 섹션에 -all_load 혹은 -force_load 옵션을 추가합니다.

-force_load 옵션을 사용할 때에는 추가한 SDK 프레임워크의 경로를 명시하여야 합니다.