광고 요청 정보
AdParam
AdParam 클래스는 광고 요청에 필요한 다양한 정보를 담은 객체로서 광고 요청에 반드시 필요한 Ad Unit ID를 비롯하여 광고 타겟팅을 위한 다양한 정보를 포함합니다.
AdParam.Builder를 통해 객체를 생성할 수 있고 생성 예시는 아래와 같습니다.
- Kotlin
- Java
val adParam = AdParam.Builder()
.setAdUnitId("AOS_TEST_BANNER") // 광고 Unit ID
.setCurrentPageUrl("https://www.naver.com") // 해당 페이지에 대한 설명 link
.setRefererPageUrl("https://www.naver.com") // referer 정보
.addCustomParam("channelId", "41312") // NAM Admin을 통한 타겟팅 설정 및 리포트 지원
.build()
AdParam adParam = new AdParam.Builder()
.setAdUnitId("AOS_TEST_BANNER") // 광고 Unit ID
.setCurrentPageUrl("https://www.naver.com") // 해당 페이지에 대한 설명 link
.setRefererPageUrl("https://www.naver.com") // referer 정보
.addCustomParam("channelId", "41312") // NAM Admin을 통한 타겟팅 설정 및 리포트 지원
.build();
AdParam.Builder의 주요 메서드
메서드 | 설명 |
---|---|
setAdUnitId() | Ad Unit ID를 설정합니다. 광고를 요청할 경우 반드시 설정해야 하는 필수값입니다. |
addCustomParam() | 타겟팅 목적의 사용자 정의 매개변수를 추가합니다. key와 value 값은 NAM 관리자를 통해 확인 및 협의가 필요합니다. |
setCustomParam() | 타겟팅 목적의 사용자 정의 매개변수를 설정합니다. 복수의 사용자 정의 매개변수를 추가할 때 사용할 수 있습니다. |
setCurrentPageUrl() | 타겟팅 목적의 현재 페이지 URL을 설정합니다. |
setRefererPageUrl() | 타겟팅 목적의 참조 페이지 URL을 설정합니다. |
setApsParam() | APS 매개변수를 설정합니다. 헤더 비딩을 사용할 경우, 설정되어야 하는 값으로 자세한 내용은 헤더 비딩 가이드를 참고해주세요. |
사용자 정의 매개변수를 설정할 때, 하나의 key 에 여러 개의 value 를 전달해야 하는 경우 | 기호를 사용하여 각 value 를 구분하여 전달할 수 있습니다.
SDK의 전역 설정
광고 요청마다 설정하는 AdParam 외에, SDK 관련 설정인 SdkProperties와 타겟팅 등에 사용되는 사용자 관련 설정인 UserProperties를 통해 공통 설정을 할 수 있습니다.
SdkProperties
SDK 의 전역 설정을 관리하는 오브젝트로서 광고 요청 타임아웃, 음소거 설정, 광고 공급자 옵션 등을 포함합니다.
SdkPropertiesBuilder를 통해 객체를 생성할 수 있고 생성 예시는 아래와 같습니다.
- Kotlin
- Java
GfpSdk.setSdkProperties(GfpSdk.getSdkProperties().buildUpon()
.addProviderOptions(DfpProviderOptions.Builder().setTestMode(false).build())
.addProviderOptions(FanProviderOptions.Builder().setTestMode(false).build())
.addProviderOptions(NdaProviderOptions.Builder().setTheme(ResolvedTheme.SYSTEM).build())
.addProviderOptions(UnityProviderOptions.Builder().setTestMode(false).build())
.bannerAdRequestTimeout(60_000L)
.unifiedAdRequestTimeout(60_000L)
.videoAdRequestTimeout(60_000L)
.interstitialAdRequestTimeout(60_000L)
.rewardedAdRequestTimeout(60_000L)
.muteAudio(true)
.build())
GfpSdk.setSdkProperties(GfpSdk.getSdkProperties().buildUpon()
.addProviderOptions(new DfpProviderOptions.Builder().setTestMode(false).build())
.addProviderOptions(new FanProviderOptions.Builder().setTestMode(false).build())
.addProviderOptions(new NdaProviderOptions.Builder().setTheme(ResolvedTheme.SYSTEM).build())
.addProviderOptions(new UnityProviderOptions.Builder().setTestMode(false).build())
.bannerAdRequestTimeout(60_000L)
.unifiedAdRequestTimeout(60_000L)
.videoAdRequestTimeout(60_000L)
.interstitialAdRequestTimeout(60_000L)
.rewardedAdRequestTimeout(60_000L)
.muteAudio(true)
.build());
SdkPropertiesBuilder의 주요 메서드
메서드 | 설명 |
---|---|
bannerAdRequestTimeout() | GfpBannerAdView 를 통해 로드되는 배너 광고의 요청 타임아웃(밀리초 단위)을 설정합니다. 기본값은 60_000 밀리초입니다. |
unifiedAdRequestTimeout() | GfpAdLoader 를 통해 로드되는 광고들의 요청 타임아웃(밀리초 단위)을 설정합니다. 기본값은 60_000 밀리초입니다. |
rewardedAdRequestTimeout() | GfpRewardedAdManager 를 통해 로드되는 보상형 광고의 요청 타임아웃(밀리초 단위)을 설정합니다. 기본값은 60_000 밀리초입니다. |
interstitialAdRequestTimeout() | GfpInterstitialAdManager 를 통해 로드되는 전면형 광고의 요청 타임아웃(밀리초 단위)을 설정합니다. 기본값은 60_000 밀리초입니다. |
muteAudio() | 인스트림 동영상 광고를 제외한 S2S 및 일부 C2S 동영상 광고의 음소거 여부를 설정합니다. 기본값은 true입니다. |
UserProperties
사용자 관련 정보를 관리하는 오브젝트로서 사용자의 성별, 출생년도, 국가, 언어, 사용자 ID 등을 포함합니다. 이 값들은 광고 요청 시 타겟팅을 위해 사용됩니다.
UserPropertiesBuilder를 통해 객체를 생성할 수 있고 생성 예시는 아래와 같습니다.
- Kotlin
- Java
GfpSdk.getUserProperties().clearCustomParameter()
GfpSdk.setUserProperties(GfpSdk.getUserProperties().buildUpon()
.yob(1987)
.country("KR")
.language("KO")
.gender(GenderType.MALE)
.addCustomParam("aaa", "bbb")
.setCustomParam(mapOf("k1" to "v1", "k2" to "v2"))
.setContentId("test content")
.build())
GfpSdk.getUserProperties().clearCustomParameter();
GfpSdk.setUserProperties(GfpSdk.getUserProperties().buildUpon()
.yob(1987)
.country("KR")
.language("KO")
.gender(GenderType.MALE)
.addCustomParam("foo", "bar")
.setContentId("test content")
.build());
UserPropertiesBuilder의 주요 메서드
메서드 | 설명 |
---|---|
gender() | 사용자의 성별을 설정합니다. 기본값은 null 입니다. |
yob() | 사용자의 출생년도를 설정합니다. 기본값은 null 입니다. |
country() | 사용자의 국가를 설정합니다. 기본값은 null 입니다. 필요시 DSP 에 전달하기 위한 값으로, 대개 사용되지 않습니다. |
language() | 사용자의 언어를 설정합니다. 기기에 설정된 언어값이 아닌 별도로 설정된 언어값을 사용합니다. 기본값은 null 이며, ISO 639-1 코드 문자로 입력하십시오. |
id() | SDK 로그 추적을 위한 사용자 식별자를 설정합니다. |
addCustomParam() | 전역적으로 사용되는 사용자 정의 매개변수 (from 6.0.0). |
setCustomParam() | 전역적으로 사용되는 사용자 정의 매개변수 (from 6.0.0). |
childDirectedTreatment() | 아동 온라인 개인정보 보호법(COPPA)에 따라 페이지 또는 앱이 아동 대상 서비스인지 나타냅니다. (from 6.1.0) 필요하지 않거나 알 수 없는 경우 설정하지 않아도 됩니다. |
underAgeOfConsent() | 성인이 아닌 사용자에 대한 광고 요청 여부를 나타냅니다. (from 6.1.0) 필요하지 않거나 알 수 없는 경우 설정하지 않아도 됩니다. |
contentId() | 네아로 API 에서 제공하는 Content ID 를 설정합니다. (from 7.6.2) 필요시 NAM 담당자와 협의 후 사용하십시오. |
NAM SDK 6.0.0부터 추가된 UserProperties.customParameter 는 전역적으로 사용되는 사용자 정의 매개변수로 광고 요청별로 사용되는 AdParam.customParameter 와 병합될 수 있습니다.
SdkProperties 및 UserProperties 리셋
NAM SDK 8.4.0 버전부터는 SdkProperties 및 UserProperties를 리셋하는 메서드가 추가되었습니다. 로그인한 사용자가 로그아웃하여 사용자 정보를 초기화하거나, SDK 관련 설정을 초기화해야 할 때는 아래와 같이 처리할 수 있습니다.
- Kotlin
- Java
GfpSdk.resetSdkProperties()
GfpSdk.resetUserProperties()
GfpSdk.resetSdkProperties();
GfpSdk.resetUserProperties();