본문으로 건너뛰기

네이티브 렌더링 옵션

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