본문으로 건너뛰기

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)
]