본문으로 건너뛰기

GFPAdConfiguration 옵션

GFPAdConfiguration은 SDK 초기화 시 또는 런타임에 앱 전역 설정을 지정하는 객체입니다.
GFPAdManager.adConfiguration()으로 언제든지 접근할 수 있습니다.

선행 챕터​

옵션 요약​

속성타입기본값설명
bannerAdRequestTimeoutNSTimeInterval60초배너 광고 요청 타임아웃
videoAdRequestTimeoutNSTimeInterval60초비디오 광고 요청 타임아웃
unifiedAdRequestTimeoutNSTimeInterval60초통합(배너+네이티브) 광고 요청 타임아웃
rewardedAdRequestTimeoutNSTimeInterval60초보상형 광고 요청 타임아웃
interstitialAdRequestTimeoutNSTimeInterval60초전면형 광고 요청 타임아웃
preferredLanguageGFPLanguageType.none광고 UI 컴포넌트 언어
adInterfaceStyleGFPAdInterfaceStyle.light광고 UI 스타일 (라이트/다크/시스템)
customParam[String: String]?nil전역 커스텀 파라미터
muteAudioBooltrue광고 오디오 음소거 (C2S AP · S2S 리워드에 적용)
useLoudnessBoolfalse비디오 광고 Loudness(볼륨 자동 조절) 사용 여부
useDefaultUABoolfalseSDK 내장 Default UA로 광고 요청
externalUserAgentString—외부에서 주입하는 User-Agent
logLevelGFPLogLevel.noneSDK 콘솔 로그 레벨
disableCrashReportBoolfalse외부 DSP SDK(DFP 등)의 CrashReport 비활성화
useDefaultSafariBrowserBoolfalseS2S 광고 랜딩 시 기본 인앱 브라우저 사용
disableAdIDBoolfalseIDFA 수집 비활성화
disableLocationInfoBoolfalse위치 정보 수집 비활성화
privacySettingGFPPrivacySetting?nilGDPR / CCPA / GPP 프라이버시 설정
adProviderConfigList[GFPAdProviderSetting][]광고 제공자별 테스트 모드 설정
phaseGFPPhaseType.real광고 서버 환경 (테스트 / 운영)

타임아웃 설정​

광고 타입별 요청 타임아웃을 초 단위로 설정합니다.

let config = GFPAdManager.adConfiguration()
config.bannerAdRequestTimeout = 30
config.videoAdRequestTimeout = 30
config.unifiedAdRequestTimeout = 30
config.rewardedAdRequestTimeout = 30
config.interstitialAdRequestTimeout = 30
정보

각 광고 매니저(GFPBannerView, GFPRewardedAdManager 등)의 requestTimeoutInterval을 직접 설정하면 해당 인스턴스에만 개별 타임아웃이 적용됩니다.


언어 설정​

S2S로 서빙되는 광고의 UI 컴포넌트에 표시될 언어를 지정합니다.
none으로 설정하면 기기 언어를 기반으로 렌더링하며, 지원하지 않는 언어인 경우 영어로 노출됩니다.

지원 언어: 한국어(ko), 영어(en), 태국어(th), 프랑스어(fr), 스페인어(es), 인도네시아어(id), 중국어 번체(zh_Hant), 중국어 간체(zh_Hans), 일본어(ja), 독일어(de)

GFPAdManager.adConfiguration().preferredLanguage = .ko
정보

광고 로드 전에 설정해야 합니다. 로드 후 변경 시 이미 로드된 광고의 언어는 변경되지 않으므로, 언어 변경 후 광고 로드를 재수행해야 합니다.


UI 스타일​

광고 UI 컴포넌트(Admute 아이콘 등)의 스타일을 설정합니다.

값설명
.light라이트 모드 (기본값)
.dark다크 모드
.system기기 시스템 설정을 따름
GFPAdManager.adConfiguration().adInterfaceStyle = .light
GFPAdManager.adConfiguration().adInterfaceStyle = .dark
GFPAdManager.adConfiguration().adInterfaceStyle = .system

전역 CustomParam 설정​

모든 광고 지면에 공통으로 적용할 커스텀 파라미터를 설정합니다. 키와 값은 모두 문자열이어야 합니다.

GFPAdParam.customUserParam과 키가 중복될 경우 우선 순위는 다음과 같습니다.

GFPAdParam.customUserParam > GFPAdConfiguration.customParam

GFPAdManager.adConfiguration().customParam = ["key1": "value1", "key2": "value2"]

음소거 / 볼륨​

광고 오디오 음소거​

C2S 광고 및 S2S 리워드 광고의 오디오 음소거 여부를 설정합니다 (인스트림·아웃스트림 제외).

GFPAdManager.adConfiguration().muteAudio = true // 기본값
GFPAdManager.adConfiguration().muteAudio = false

Loudness (볼륨 자동 조절)​

비디오 광고 재생 시 Loudness Normalization 기능을 사용할지 설정합니다.

GFPAdManager.adConfiguration().useLoudness = true

사용자 에이전트 (User-Agent)​

SDK 기본 UA 사용​

SDK 내에서 정의한 Default User-Agent로 광고를 요청합니다.

GFPAdManager.adConfiguration().useDefaultUA = true

외부 User-Agent 주입​

앱에서 사용하는 WebView의 User-Agent를 SDK에 주입합니다.

GFPAdManager.adConfiguration().externalUserAgent = "MyApp/1.0 ..."

로그 레벨​

SDK 콘솔 로그 출력 레벨을 설정합니다. 설정한 레벨 이상의 로그만 출력됩니다.

값설명
.none로그 출력 안 함 (기본값)
.trace상세 추적 로그
.debug디버그 로그
.info정보 로그
.error오류 로그
.critical심각한 오류 로그
GFPAdManager.adConfiguration().logLevel = .debug

개인정보 / 권한 설정​

IDFA 수집 비활성화​

앱의 정책상 IDFA 사용이 불가한 경우, 기기의 허용 여부와 관계없이 IDFA 수집을 비활성화합니다.

GFPAdManager.adConfiguration().disableAdID = true

위치 정보 수집 비활성화​

서비스에서 위치 정보 권한을 획득했더라도 SDK가 위치 정보를 사용하지 않도록 설정합니다.

GFPAdManager.adConfiguration().disableLocationInfo = true

프라이버시 설정 (GDPR / CCPA / GPP)​

GDPR, CCPA, GPP 등 개인정보 보호 규제에 따른 설정을 적용합니다.

let privacy = GFPPrivacySetting(underAgeOfConsent: nil, childDirected: NSNumber(value: false))
GFPAdManager.adConfiguration().privacySetting = privacy

기타 설정​

CrashReport 비활성화​

외부 DSP SDK(DFP 등)의 CrashReport 기능을 비활성화합니다.

GFPAdManager.adConfiguration().disableCrashReport = true

기본 인앱 브라우저 사용​

S2S 광고 랜딩 시 SDK에서 기본 제공하는 인앱 브라우저를 사용합니다.

GFPAdManager.adConfiguration().useDefaultSafariBrowser = true

광고 제공자 테스트 모드​

특정 광고 제공자에 대해 테스트 광고를 수신하도록 설정합니다.

GFPAdManager.adConfiguration().adProviderConfigList = [
.type(.DFP, testMode: true),
.type(.FAN, testMode: true)
]