GFPAdConfiguration 옵션
GFPAdConfiguration은 SDK 초기화 시 또는 런타임에 앱 전역 설정을 지정하는 객체입니다.
GFPAdManager.adConfiguration()으로 언제든지 접근할 수 있습니다.
선행 챕터
옵션 요약
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
bannerAdRequestTimeout | NSTimeInterval | 60초 | 배너 광고 요청 타임아웃 |
videoAdRequestTimeout | NSTimeInterval | 60초 | 비디오 광고 요청 타임아웃 |
unifiedAdRequestTimeout | NSTimeInterval | 60초 | 통합(배너+네이티브) 광고 요청 타임아웃 |
rewardedAdRequestTimeout | NSTimeInterval | 60초 | 보상형 광고 요청 타임아웃 |
interstitialAdRequestTimeout | NSTimeInterval | 60초 | 전면형 광고 요청 타임아웃 |
preferredLanguage | GFPLanguageType | .none | 광고 UI 컴포넌트 언어 |
adInterfaceStyle | GFPAdInterfaceStyle | .light | 광고 UI 스타일 (라이트/다크/시스템) |
customParam | [String: String]? | nil | 전역 커스텀 파라미터 |
muteAudio | Bool | true | 광고 오디오 음소거 (C2S AP · S2S 리워드에 적용) |
useLoudness | Bool | false | 비디오 광고 Loudness(볼륨 자동 조절) 사용 여부 |
useDefaultUA | Bool | false | SDK 내장 Default UA로 광고 요청 |
externalUserAgent | String | — | 외부에서 주입하는 User-Agent |
logLevel | GFPLogLevel | .none | SDK 콘솔 로그 레벨 |
disableCrashReport | Bool | false | 외부 DSP SDK(DFP 등)의 CrashReport 비활성화 |
useDefaultSafariBrowser | Bool | false | S2S 광고 랜딩 시 기본 인앱 브라우저 사용 |
disableAdID | Bool | false | IDFA 수집 비활성화 |
disableLocationInfo | Bool | false | 위치 정보 수집 비활성화 |
privacySetting | GFPPrivacySetting? | nil | GDPR / CCPA / GPP 프라이버시 설정 |
adProviderConfigList | [GFPAdProviderSetting] | [] | 광고 제공자별 테스트 모드 설정 |
phase | GFPPhaseType | .real | 광고 서버 환경 (테스트 / 운영) |
타임아웃 설정
광고 타입별 요청 타임아웃을 초 단위로 설정합니다.
- Swift
- Objective-C
let config = GFPAdManager.adConfiguration()
config.bannerAdRequestTimeout = 30
config.videoAdRequestTimeout = 30
config.unifiedAdRequestTimeout = 30
config.rewardedAdRequestTimeout = 30
config.interstitialAdRequestTimeout = 30
GFPAdConfiguration *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)
- Swift
- Objective-C
GFPAdManager.adConfiguration().preferredLanguage = .ko
[GFPAdManager adConfiguration].preferredLanguage = GFPLanguageType_ko;
광고 로드 전에 설정해야 합니다. 로드 후 변경 시 이미 로드된 광고의 언어는 변경되지 않으므로, 언어 변경 후 광고 로드를 재수행해야 합니다.
UI 스타일
광고 UI 컴포넌트(Admute 아이콘 등)의 스타일을 설정합니다.
| 값 | 설명 |
|---|---|
.light | 라이트 모드 (기본값) |
.dark | 다크 모드 |
.system | 기기 시스템 설정을 따름 |
- Swift
- Objective-C
GFPAdManager.adConfiguration().adInterfaceStyle = .light
GFPAdManager.adConfiguration().adInterfaceStyle = .dark
GFPAdManager.adConfiguration().adInterfaceStyle = .system
[GFPAdManager adConfiguration].adInterfaceStyle = GFPAdInterfaceStyleLight;
[GFPAdManager adConfiguration].adInterfaceStyle = GFPAdInterfaceStyleDark;
[GFPAdManager adConfiguration].adInterfaceStyle = GFPAdInterfaceStyleSystem;
전역 CustomParam 설정
모든 광고 지면에 공통으로 적용할 커스텀 파라미터를 설정합니다. 키와 값은 모두 문자열이어야 합니다.
GFPAdParam.customUserParam과 키가 중복될 경우 우선 순위는 다음과 같습니다.
GFPAdParam.customUserParam>GFPAdConfiguration.customParam
- Swift
- Objective-C
GFPAdManager.adConfiguration().customParam = ["key1": "value1", "key2": "value2"]
[GFPAdManager adConfiguration].customParam = @{@"key1": @"value1", @"key2": @"value2"};
음소거 / 볼륨
광고 오디오 음소거
C2S 광고 및 S2S 리워드 광고의 오디오 음소거 여부를 설정합니다 (인스트림·아웃스트림 제외).
- Swift
- Objective-C
GFPAdManager.adConfiguration().muteAudio = true // 기본값
GFPAdManager.adConfiguration().muteAudio = false
[GFPAdManager adConfiguration].muteAudio = YES; // 기본값
[GFPAdManager adConfiguration].muteAudio = NO;
Loudness (볼륨 자동 조절)
비디오 광고 재생 시 Loudness Normalization 기능을 사용할지 설정합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().useLoudness = true
[GFPAdManager adConfiguration].useLoudness = YES;
사용자 에이전트 (User-Agent)
SDK 기본 UA 사용
SDK 내에서 정의한 Default User-Agent로 광고를 요청합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().useDefaultUA = true
[GFPAdManager adConfiguration].useDefaultUA = YES;
외부 User-Agent 주입
앱에서 사용하는 WebView의 User-Agent를 SDK에 주입합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().externalUserAgent = "MyApp/1.0 ..."
[GFPAdManager adConfiguration].externalUserAgent = @"MyApp/1.0 ...";
로그 레벨
SDK 콘솔 로그 출력 레벨을 설정합니다. 설정한 레벨 이상의 로그만 출력됩니다.
| 값 | 설명 |
|---|---|
.none | 로그 출력 안 함 (기본값) |
.trace | 상세 추적 로그 |
.debug | 디버그 로그 |
.info | 정보 로그 |
.error | 오류 로그 |
.critical | 심각한 오류 로그 |
- Swift
- Objective-C
GFPAdManager.adConfiguration().logLevel = .debug
[GFPAdManager adConfiguration].logLevel = GFPLogLevelDebug;
개인정보 / 권한 설정
IDFA 수집 비활성화
앱의 정책상 IDFA 사용이 불가한 경우, 기기의 허용 여부와 관계없이 IDFA 수집을 비활성화합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().disableAdID = true
[GFPAdManager adConfiguration].disableAdID = YES;
위치 정보 수집 비활성화
서비스에서 위치 정보 권한을 획득했더라도 SDK가 위치 정보를 사용하지 않도록 설정합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().disableLocationInfo = true
[GFPAdManager adConfiguration].disableLocationInfo = YES;
프라이버시 설정 (GDPR / CCPA / GPP)
GDPR, CCPA, GPP 등 개인정보 보호 규제에 따른 설정을 적용합니다.
- Swift
- Objective-C
let privacy = GFPPrivacySetting(underAgeOfConsent: nil, childDirected: NSNumber(value: false))
GFPAdManager.adConfiguration().privacySetting = privacy
GFPPrivacySetting *privacy = [[GFPPrivacySetting alloc] initWithUnderAgeOfConsent:nil
childDirected:@NO];
[GFPAdManager adConfiguration].privacySetting = privacy;
기타 설정
CrashReport 비활성화
외부 DSP SDK(DFP 등)의 CrashReport 기능을 비활성화합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().disableCrashReport = true
[GFPAdManager adConfiguration].disableCrashReport = YES;
기본 인앱 브라우저 사용
S2S 광고 랜딩 시 SDK에서 기본 제공하는 인앱 브라우저를 사용합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().useDefaultSafariBrowser = true
[GFPAdManager adConfiguration].useDefaultSafariBrowser = YES;
광고 제공자 테스트 모드
특정 광고 제공자에 대해 테스트 광고를 수신하도록 설정합니다.
- Swift
- Objective-C
GFPAdManager.adConfiguration().adProviderConfigList = [
.type(.DFP, testMode: true),
.type(.FAN, testMode: true)
]
[GFPAdManager adConfiguration].adProviderConfigList = @[
[GFPAdProviderSetting type:GFPAdProviderSettingTypeDFP testMode:YES],
[GFPAdProviderSetting type:GFPAdProviderSettingTypeFAN testMode:YES]
];