네이티브 광고

네이티브 광고는 광고가 게재되는 사용자 환경의 형식 및 기능에 맞춰 자동으로 최적화되어 출력됩니다.

1. 인스턴스 생성

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;
	}
@end

2. 네이티브 레이아웃 구성

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

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

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

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

애드팝콘 SSP v2.3.2 버전부터는 Admob v8.10.0 과 호환성을 유지하기 위해 애드몹 native 레이아웃을 구성하는 내용이 변경되었습니다. 이에 미디에이션 레이아웃 구성 가이드 내 AdMob 부분을 반드시 체크해 주시기 바랍니다.

1) Placement ID 변경

네이티브 인스턴스 생성 시 사용한 placementID를 변경하고자 할 경우, 아래와 같은 방식으로 변경합니다.

_adPopcornSSPNativeAd.placementId = @"변경하고자 할 ID";

3. 네이티브 광고 요청

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

[_sspNativeAd loadRequest];

loadRequst 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.

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

4. 네이티브 광고 중단

네이티브 광고 노출을 중단하고자 할 경우, stopAd API를 호출해 주며, 광고 영역을 hidden 처리해 줍니다.

[_sspNativeAd stopAd];
_sspNativeAd.hidden = YES;

5. No Ad 시, 광고 영역 처리

기본적으로 애드팝콘 SDK에서는 네이티브 광고 No Ad 시, view 영역을 hidden 시켜줍니다.

이러한 기능이 필요하지 않을 경우, 아래 API를 통해 hidden 되지 않도록 설정하여 줍니다.

[_adPopcornSSPNativeAd noAdViewHidden:NO];

6. 델리게이트 설정

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

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

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

delegate설명

APSSPNativeAdLoadSuccess

네이티브 광고 로드 성공

APSSPNativeAdLoadFail, error

네이티브 광고 로드 실패. 에러코드 값

APSSPNativeAdImpression

네이티브 광고 화면 노출

APSSPNativeAdClicked

네이티브 광고 클릭

APSSPNativeAdHidden

네이티브 광고를 닫았을 경우(NAM 미디에이션 광고일 경우에만 발생)

#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 



- (void)APSSPNativeAdLoadSuccess:(AdPopcornSSPNativeAD *)native Ad 



- (void)APSSPNativeAdLoadFail:(AdPopcornSSPNativeAD *)nativeAd error:(AdPopcornSSPError) error 

}

- (void)APSSPNativeAdImpression:(AdPopcornSSPNativeAd *)nativeAd 

}

- (void)APSSPNativeAdClicked:(AdPopcornSSPNativeAd *)nativeAd 

}

- (void)APSSPNativeAdHidden:(AdPopcornSSPNativeAd *)nativeAd 

}
@end

Last updated