본문으로 건너뛰기

네이티브 스페셜 광고

정보

Naver (NDP) 에서 제공하는 스페셜 광고(=RichMedia) 상품에 대한 관련 설정 가이드입니다.

이미지

의존성 추가

Rich Media 광고를 사용하기 위해서는 Podfile의 의존성이 추가되어야 합니다.
GFPSDK Core 모듈과 NDA, NDAVideo, NDARich 모듈이 필요합니다.

#static library 사용 시

pod 'GFPSDK' # SDK 본체
pod 'GFPSDK/MediationNDA' # 네이버 배너/네이티브 광고
pod 'GFPSDK/MediationNDAVideo' # 네이버 비디오 광고 (since 4.3.0)
pod 'GFPSDK/MediationNDARich' # 네이버 프리미엄 광고 (since 4.3.0)

#dynamic library 사용 시

pod 'GFPSDK-Dynamic' # SDK 본체
pod 'GFPSDK-Dynamic/MediationNDA' # 네이버 배너/네이티브 광고
pod 'GFPSDK-Dynamic/MediationNDAVideo' # 네이버 비디오 광고 (since 4.3.0)
pod 'GFPSDK-Dynamic/MediationNDARich' # 네이버 프리미엄 광고 (since 4.3.0)

로더 설정

리치미디어 상품은 NativeSimple (aka. NS) 형태로 제공 됩니다.
NS 가이드 참고 하시어 광고 로더 설정을 해주시면 됩니다.

GFPNativeSimpleAdDelegate 추가 구현

리치미디어 상품은 기존 NS와는 다르게 상하 확장 기능이 있으므로 확장 / 축소 시 서비스에게 광고뷰 사이즈 변경 이벤트를 전달합니다.
서비스는 해당 델리게이트에서 받은 size 값으로 광고뷰를 조정하면 적용이 가능합니다.

- (void)nativeSimpleAd:(GFPNativeSimpleAd *)nativeSimpleAd didChangeRichAdSizeWith:(CGSize)size {
...
[self.nativeSimpleAdView updateSize:size];
[self.nativeSimpleAdView.mediaView updateSize:size];
...
}
정보

7.5.2 버전부터 확장 / 축소 시 시작과 종료를 알려주는 Delegate가 추가되었습니다.

- (void)nativeSimpleRichAdExtendStart:(GFPNativeSimpleAd *)nativeSimpleAd {

}

- (void)nativeSimpleRichAdExtendComplete:(GFPNativeSimpleAd *)nativeSimpleAd {

}

- (void)nativeSimpleRichAdShrinkStart:(GFPNativeSimpleAd *)nativeSimpleAd {

}

- (void)nativeSimpleRichAdShrinkComplete:(GFPNativeSimpleAd *)nativeSimpleAd {

}

/**
* 9:16, 16:9, 1:1 비율 동영상을 제공하는 스페셜 DA 프리미엄형 "뉴" 동영상 확장형 이후로 부터 출시된 일부 광고 상품 부터 적용됩니다.
* nativeSimpleRichAdExtendStart: 와 함께 호출 되며,
* 기존 광고 상품에선 nativeSimpleRichAdExtendStart: 만 단일 호출됩니다.
*/
- (void)nativeSimpleRichAdExtendStart:(GFPNativeSimpleAd *)nativeSimpleAd toSize:(CGSize)size {
// (void)nativeSimpleRichAdExtendStart:(GFPNativeSimpleAd *)nativeSimpleAd 와 중복 호출 됨.
}

/**
* 9:16, 16:9, 1:1 비율 동영상을 제공하는 스페셜 DA 프리미엄형 "뉴" 동영상 확장형 이후로 부터 출시된 일부 광고 상품 부터 적용됩니다.
* nativeSimpleRichAdShrinkStart: 와 함께 호출 되며,
* 기존 광고 상품에선 nativeSimpleRichAdShrinkStart: 만 단일 호출됩니다.
*/
- (void)nativeSimpleRichAdShrinkStart:(GFPNativeSimpleAd *)nativeSimpleAd toSize:(CGSize)size {

}

확장형 광고의 최대 확장 높이 제한

정보

9:16, 16:9, 1:1 비율 동영상을 제공하는 스페셜 DA 프리미엄형 "뉴" 동영상 확장형 이후로 부터 출시된 일부 광고 상품 부터 적용됩니다.

GFPAdNativeSimpleOptions *nativeSimpleOptions = [[GFPAdNativeSimpleOptions alloc] init];
nativeSimpleOptions.simpleAdRenderingSetting = [[GFPNativeSimpleAdRenderingSetting alloc] init];
nativeSimpleOptions.simpleAdRenderingSetting.maxExtendingHeight = 50;
[self.adLoader setNativeSimpleDelegate:self nativeSimpleOptions:nativeSimpleOptions];

확장형 광고 미디어의 세로/가로 비율 조회

정보

9:16, 16:9, 1:1 비율 동영상을 제공하는 스페셜 DA 프리미엄형 "뉴" 동영상 확장형 이후로 부터 출시된 일부 광고 상품 부터 적용됩니다.

- (void)adLoader:(GFPAdLoader *)unifiedAdLoader didReceiveNativeSimpleAd:(GFPNativeSimpleAd *)nativeSimpleAd {
CGSize mediaSize = nativeAd.mediaData.richMediaData.extendMediaSize;

GFPRichExtendMediaRatioType ratioType = nativeAd.mediaData.richMediaData.extendMediaAspectRatioType;
/**
* GFPRichExtendRatioTypeOther
* GFPRichExtendRatioType1_1
* GFPRichExtendRatioType9_16
* GFPRichExtendRatioType16_9
*/
}

기본형 병행 설정

정보

Rich Media의 세로 기본 값은 140입니다.

리치미디어 상품은 리치미디어 상품과 일반 이미지형의 조합으로 제공됩니다.
서비스에서 광고 세로 영역을 이미지형과 리치미디어 상품에 따라서 유동적으로 조절하지 못하는 상황일 때,
ex) 광고 첫 시작 시 이미지형 / 리치형 관계 없이 고정 사이즈값을 유지해야할 때
이미지형 광고를 광고 영역에 상관 없이, 이미지 사이즈에 우선하여 우하단 중앙에 배열하도록 설정하는 isImageSizePreferred 설정이 존재합니다.

    GFPNativeSimpleAdRenderingSetting *simpleSetting = [[GFPNativeSimpleAdRenderingSetting alloc] init];
simpleSetting.preferredAdChoicesViewPosition = GFPAdChoicesViewPositionTopRightCorner;

simpleSetting.isImageSizePreferred = YES;

GFPAdNativeSimpleOptions *nativeSimpleOptions = [[GFPAdNativeSimpleOptions alloc] init];
nativeSimpleOptions.simpleAdRenderingSetting = simpleSetting;

...

[self.adLoader setNativeSimpleDelegate:self nativeSimpleOptions:nativeSimpleOptions];

유동적으로 대응이 가능하다면, 기존의 GFPNativeSimpleAdDelegate 에 존재하는 기존 메서드로 대응하면 적용이 가능합니다.

- (void)nativeSimpleAd:(GFPNativeSimpleAd *)nativeSimpleAd didChangeMediaViewSizeWith:(CGSize)size;