본문으로 건너뛰기

네이티브 렌더링 옵션

GFPNativeAdRenderingSetting(NN)과 GFPNativeSimpleAdRenderingSetting(NS)의 모든 옵션을 정리한 레퍼런스입니다.

클래스 계층​

GFPNativeBaseRenderingSetting ← NN / NS 공통 옵션
├── GFPNativeAdRenderingSetting (NN 전용 옵션 추가)
└── GFPNativeSimpleAdRenderingSetting (NS 전용 옵션 추가)

공통 옵션 (GFPNativeBaseRenderingSetting)​

NN(GFPAdNativeOptions.renderingSetting)과 NS(GFPAdNativeSimpleOptions.simpleAdRenderingSetting) 모두에서 사용 가능합니다.

preferredAdChoicesViewPosition​

DFP adChoicesView가 오버레이로 삽입될 위치를 설정합니다. 기본값은 우측 상단입니다.

값위치
topRightCorner우측 상단 (기본값)
topLeftCorner좌측 상단
bottomRightCorner우측 하단
bottomLeftCorner좌측 하단
let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.preferredAdChoicesViewPosition = .topRightCorner

let nativeOption = GFPAdNativeOptions()
nativeOption.renderingSetting = renderingSetting
정보

구글 문서에는 adChoiceView를 직접 등록하면 오버레이 형식이 아닌 직접 등록한 뷰에 그려진다고 되어있으나, 현재 정상 동작하지 않습니다. 우상단이 아닌 위치에 adChoicesView가 렌더링되기를 원하는 경우 이 설정이 필요합니다.

커스텀 AdChoices 구현은 커스텀 AdChoices를 참고해 주세요.


adAssetsPositionInFullAdView​

adChoicesView 등 광고 에셋의 위치 기준을 미디어 영역이 아닌 전체 광고 뷰로 설정합니다. s2s 광고에만 적용됩니다. 기본값은 NO입니다.

let renderingSetting = GFPNativeSimpleAdRenderingSetting()
renderingSetting.adAssetsPositionInFullAdView = true
주의

adChoicesPositionInFullAdView는 deprecated입니다. adAssetsPositionInFullAdView를 사용해 주세요.


adInterfaceStyle​

adChoicesView 색상, 리치미디어 배경색 등 광고 UI 스타일을 설정합니다. 네이버 광고에 한해 동작합니다. 전역 설정(GFPAdConfiguration.adInterfaceStyle)보다 우선 적용됩니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.adInterfaceStyle = .light
renderingSetting.adInterfaceStyle = .dark
renderingSetting.adInterfaceStyle = .system // 기기 설정을 따라갑니다

enableCustomAdChoices​

커스텀 adChoicesView를 직접 구현할 경우 SDK의 기본 adChoicesView 렌더링을 비활성화합니다. s2s 광고에만 적용됩니다. 기본값은 NO입니다.

자세한 내용은 커스텀 AdChoices를 참고해 주세요.


richMediaInsets​

캐러셀 광고 UICollectionView의 좌우 여백을 설정합니다. 기본값은 UIEdgeInsetsZero입니다.

자세한 내용은 네이티브 캐러셀 광고를 참고해 주세요.


mediaRegularFont / mediaBoldFont​

캐러셀 광고 MediaView 내부에서 사용할 폰트를 커스텀합니다. 기본값은 nil(시스템 폰트)입니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.mediaRegularFont = UIFont.systemFont(ofSize: 14, weight: .regular)
renderingSetting.mediaBoldFont = UIFont.systemFont(ofSize: 14, weight: .bold)

slotLoadingColor / slotLoadingDarkColor​

캐러셀 슬롯 로딩 중 표시되는 배경 색상입니다. 기본값은 nil입니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.slotLoadingColor = UIColor(white: 0.9, alpha: 1.0)
renderingSetting.slotLoadingDarkColor = UIColor(white: 0.2, alpha: 1.0)

slotPlaceHolderImage / slotPlaceHolderDarkImage​

캐러셀 슬롯 이미지 로딩 전 표시할 플레이스홀더 이미지입니다. 기본값은 nil입니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.slotPlaceHolderImage = UIImage(named: "placeholder")
renderingSetting.slotPlaceHolderDarkImage = UIImage(named: "placeholder_dark")

useMediaDimmed​

광고 MediaView에 딤(Dimmed) 처리를 적용합니다. 활성화 시 일반 광고에는 2%, 아웃스트림 동영상에는 8%의 딤이 적용됩니다. 기본값은 NO입니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.useMediaDimmed = true

omFriendlyObstructions​

OMSDK 측정 시 friendlyObstruction으로 등록할 뷰 목록을 설정합니다. s2s 광고에서 측정 정확도를 높이기 위해 광고 위에 올라가는 서비스 UI(예: 재생 버튼, 레이블)를 등록합니다. c2s는 미적용(LAN은 view만 전달)입니다.

let obstruction = GFPOMFriendlyObstruction(view: myOverlayView,
purpose: .notVisible,
detailedReason: "service overlay")
let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.omFriendlyObstructions = [obstruction]

useLazyMediaLoading​

미디어(이미지, 아이콘 등)를 비동기로 지연 로딩합니다. 기본값은 NO입니다.

자세한 내용은 네이티브 광고 옵션 또는 네이티브 심플 광고 옵션을 참고해 주세요.


isImageSizePreferred​

이미지 사이즈를 광고 영역보다 우선하여 배치합니다. 활성화 시 설정된 광고 영역보다 이미지 사이즈가 우선되며 하단에 배치됩니다. 기본값은 NO입니다.

let renderingSetting = GFPNativeSimpleAdRenderingSetting()
renderingSetting.isImageSizePreferred = true

viewWidth​

가로 해상도 기준으로 셀 크기가 결정되는 광고 타입(예: 캐러셀)에서 광고가 그려질 뷰의 너비를 명시적으로 전달합니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.viewWidth = NSNumber(value: UIScreen.main.bounds.width)

NN 전용 옵션 (GFPNativeAdRenderingSetting)​

GFPAdNativeOptions.renderingSetting에 설정합니다.

hasMediaView​

네이티브 뷰에 미디어뷰 포함 여부를 설정합니다. 기본값은 YES입니다.

위험

네이티브 뷰의 미디어뷰 존재 여부와 이 값이 일치하지 않으면 렌더링 오류가 발생합니다.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.hasMediaView = false

let nativeOption = GFPAdNativeOptions()
nativeOption.renderingSetting = renderingSetting

enableMediaBackgroundBlur​

네이티브 광고 미디어뷰 여백에 블러 처리를 적용합니다. 기본값은 NO입니다.

자세한 내용은 네이티브 동영상 광고를 참고해 주세요.


useInternalCache​

네이티브 광고 렌더링 성능 향상을 위해 내부 캐시를 사용합니다. 기본값은 NO입니다.

정보

광고 캐싱 기능(NAMSDK 8.17.0)과는 별개로 동작하는 렌더링 전용 캐시입니다. 광고 객체 캐싱은 광고 캐시를 참고해 주세요.

let renderingSetting = GFPNativeAdRenderingSetting()
renderingSetting.useInternalCache = true

let nativeOption = GFPAdNativeOptions()
nativeOption.renderingSetting = renderingSetting

NS 전용 옵션 (GFPNativeSimpleAdRenderingSetting)​

GFPAdNativeSimpleOptions.simpleAdRenderingSetting에 설정합니다.

videoEventDelegate​

NS 리치형 광고의 비디오 플레이어 이벤트를 수신하는 델리게이트입니다.

let renderingSetting = GFPNativeSimpleAdRenderingSetting()
renderingSetting.videoEventDelegate = self // GFPNativeVideoEventDelegate 구현 필요

maxExtendingHeight​

확장형 리치 광고의 최대 확장 높이를 제한합니다. 광고 로드 후에도 동적으로 변경할 수 있습니다.

  • 0 이하: 높이 제한 없음 (기본값: -1)
  • 0 초과: 해당 값으로 높이 제한

자세한 내용은 네이티브 심플 리치 광고를 참고해 주세요.


backgroundOption​

광고 응답에 배경 정보가 없을 때 적용할 커스텀 배경 스타일을 설정합니다.

자세한 내용은 네이티브 심플 광고 옵션을 참고해 주세요.


전체 옵션 빠른 참조​

옵션적용 범위기본값비고
preferredAdChoicesViewPosition공통topRightCorner
adAssetsPositionInFullAdView공통NOs2s 전용
adInterfaceStyle공통system네이버 광고 전용
enableCustomAdChoices공통NOs2s 전용
richMediaInsets공통UIEdgeInsetsZero캐러셀 전용
mediaRegularFont공통nil캐러셀 전용
mediaBoldFont공통nil캐러셀 전용
slotLoadingColor공통nil캐러셀 전용
slotLoadingDarkColor공통nil캐러셀 전용
slotPlaceHolderImage공통nil캐러셀 전용
slotPlaceHolderDarkImage공통nil캐러셀 전용
useMediaDimmed공통NO
omFriendlyObstructions공통nils2s: 전체 적용 / LAN: view만 전달
useLazyMediaLoading공통NO
isImageSizePreferred공통NO
viewWidth공통nil캐러셀 등 가로 기준 광고 전용
hasMediaViewNN 전용YES
enableMediaBackgroundBlurNN 전용NO
useInternalCacheNN 전용NO
videoEventDelegateNS 전용-
maxExtendingHeightNS 전용-1
backgroundOptionNS 전용nil
adChoicesPositionInFullAdView공통NOdeprecated → adAssetsPositionInFullAdView