본문으로 건너뛰기

네이티브 광고 옵션

네이티브 광고에는 추가 맞춤 설정을 수행하고 최상의 광고 경험을 제공할 수 있는 다양한 고급 기능이 있습니다. 이 가이드에서는 네이티브 광고의 고급 기능을 사용하는 방법을 설명합니다.

GfpTheme 설정

NDA 모듈을 통해 제공되는 일부 광고들은 설정된 GfpTheme 값에 따라 밝은 테마와 어두운 테마로 구분지어 렌더링 됩니다.

NdaProviderOptions.Builder().setTheme(GfpTheme) 를 통해 전역적인 GfpTheme 설정이 가능하지만, 단일 광고에만 적용하는 GfpTheme 를 적용하고자 할 경우 GfpNativeAdOptions.Builder().setTheme() 를 호출합니다.

  • 설정하지 않으면 기기에 설정된 DayNight 값에 따라서 렌더링 됩니다.
  • 이 옵션을 설정하면 요청된 대로 GfpTheme 값에 따라서 렌더링 됩니다.

아래 예시는 어두운 테마로 설정하는 방법을 보여줍니다.

val nativeAdOptions = GfpNativeAdOptions.Builder()
.setTheme(ResolvedTheme.DARK)
.build()
val adLoader = GfpAdLoader.Builder(this, adParam)
...
.withNativeAd(nativeAdOptions) { nativeAd ->
...
}
.build()

DFP 광고의 AdChoices 게재위치

DFP 모듈을 통해 제공되는 네이티브 광고는 GfpNativeAdView 레이아웃 구성시 추가되는 GfpAdChoicesView 내에서 렌더링 되는 것이 아니라 DFP SDK 에 의해서 자동으로 렌더링 됩니다.

만약, DFP 네이티브 광고의 AdChoices 게재위치를 변경하고자 한다면 GfpNativeAdOptions.Builder.setAdChoicesPlacement() 를 통해 AdChoices 아이콘을 렌더링할 모서리를 선택할 수 있습니다.

아래 예시는 DFP 네이티브 광고의 AdChoices 아이콘 게재위치를 우하단에 위치하도록 설정하는 방법을 보여줍니다.

val nativeAdOptions = GfpNativeAdOptions.Builder()
.setAdChoicesPlacement(GfpNativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
val adLoader = GfpAdLoader.Builder(this, adParam)
...
.withNativeAd(nativeAdOptions) { nativeAd ->
...
}
.build()

GfpMediaView 사용여부 설정

GfpMediaView 를 사용하지 않는 형태로 네이티브 광고 레이아웃을 구성할 경우, GfpNativeAdOptions.Builder.setHasMediaView() 를 통해서 GfpMediaView 사용여부를 설정할 수 있습니다.

  • 설정하지 않거나 true 값으로 설정할 경우 네이티브 광고 레이아웃 구성시 GfpMediaView 를 반드시 포함시킨 후 GfpNativeAdView 에 등록해야 합니다.
  • false 로 설정할 경우 GfpMediaView 가 포함되지 않은 레이아웃 구성이 가능하며, GfpNativeAdViewGfpMediaView 를 등록할 필요가 없습니다.
주의

네이티브 광고 레이아웃내 GfpMediaView 구성 및 GfpNativeAdViewGfpMediaView 를 등록한 상태에서 GfpNativeAdOptions.Builder.setHasMediaView() 로 false 를 설정할 경우, Exception 이 발생하게 됩니다.

아래 예시는 GfpMediaView 가 포함되지 않은 레이아웃 구성 후, GfpMediaView 미사용 여부를 설정하는 예시를 보여줍니다.

val nativeAdOptions = GfpNativeAdOptions.Builder()
.setHasMediaView(false)
.build()
val adLoader = GfpAdLoader.Builder(this, adParam)
...
.withNativeAd(nativeAdOptions) { nativeAd ->
...
}
.build()

타임아웃 설정

네이티브 광고의 요청 타임아웃 값은 SdkPropertiesBuilder.unifiedAdRequestTimeout 을 통해 전역적으로 설정할 수 있지만, 단일 광고 요청에 대한 타임아웃을 설정하고자 할 경우 아래 예시와 같이 GfpAdLoader 를 빌드하는 과정에서 withTimeoutMillis 메서드를 사용하여 설정할 수 있습니다.

아래 예시는 특정 GfpAdLoader 로 로드되는 단일 광고 요청에 대한 타임아웃값을 10초로 설정하는 예시를 보여줍니다. 단일 광고 요청에 대한 타임아웃 값을 아래와 같이 설정할 경우, 전역으로 설정한 타임아웃 값이 무시됩니다.

정보

SdkPropertiesGfpAdLoader 에 설정된 타임아웃값이 없을 경우 기본값인 60초가 타임아웃값으로 설정됩니다.

val adLoader = GfpAdLoader.Builder(this, adParam)
.withTimeoutMillis(10_000L)
.withNativeAd { nativeAd ->
// Show the native ad.
}
.build()