본문으로 건너뛰기

맞춤 AdChoices

GFP SDK 6.5.0 버전에서 추가된 기능으로서, S2S 네이티브 광고의 GFPAdChoicesView 를 클릭했을 때에 나타나는 화면을 맞춤 구현할 수 있는 기능을 지원합니다.

정보

커스텀한 Ad Choices 를 사용할 때에는 GFPAdChoicesView 내에 Ad Choices 아이콘이 렌더링 되지 않기에 반드시 직접 Ad Choices 아이콘을 UI 내에 구성해야만 합니다.

정보

해당 기능은 DFP, FAN, InMobi 와 같은 C2S 광고 제공자의 네이티브 광고에서는 처리되지 않습니다.

enableCustomAdChoices

네이티브 광고 AdChoices 뷰의 custom 사용 여부를 설정합니다. (기본값: NO) 해당 옵션 설정 시 sdk는 adChoicesView 하위에 뷰를 그리지 않습니다.

GFPAdNativeOptions *nativeOptions = [[GFPAdNativeOptions alloc] init];

GFPNativeAdRenderingSetting *renderingSetting = [[GFPNativeAdRenderingSetting alloc] init];
renderingSetting.enableCustomAdChoices = NO; (기본값)
renderingSetting.enableCustomAdChoices = YES;

nativeOptions.renderingSetting = renderingSetting;

AdChoices 데이터

nativeAd의 adChoicesData를 통해 데이터를 획득 할 수 있습니다. enableCustomAdChoices가 활성화 되었을 때에만 데이터가 있으며, adChoices 정보를 가진 s2s 광고에 한해 제공합니다.

GFPAdChoicesData는 type, adMuteData, privacyUrl을 제공합니다.

type

  • AdMute : adMuteData 만 존재하는 경우
  • Privacy : privacyUrl만 존재하는 경우
  • OptOut : adMuteData + privacyUrl 모두 존재하는 경우

adMuteData

adMuteData가 존재하는 경우 adMuteData를 토대로 mute 사유를 렌더링 하며, 클릭 시 reportClickWith: 을 호출해야 한다.

GFPAdMuteData는 reasonCodestextWith:, textWith:languageType:, resourceIdWith:, reportClickWith: 을 제공합니다.

reasonCodes

reasonCodes는 adMute 사유의 키가 되는 값으로, text / resource id 조회 및 클릭 리포팅에 사용됩니다.

GFPAdMuteData *adMuteData = nativeAd.adChoicesData.adMuteData;

[adMuteData.reasonCodes enumerateObjectsUsingBlock:^(NSString * _Nonnull reasonCode, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"adMuteReason: code - %@", reasonCode);
}];

adMute 사유

reasonCode를 파라미터로 전달하여, 사유 text를 조회 할 수 있습니다.

textWith: 을 통해 사유 조회 시 기기의 언어설정에 맞는 text를 리턴합니다.

GFPAdMuteData *adMuteData = nativeAd.adChoicesData.adMuteData;

[adMuteData.reasonCodes enumerateObjectsUsingBlock:^(NSString * _Nonnull reasonCode, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *reasonText = [adMuteData textWith:reasonCode];
NSLog(@"adMuteReason: reasonText - %@", reasonCode);
}];

textWith:을 통해 사유 조회 시 languageType에 맞는 text를 리턴합니다. 언어는 한국어, 영어, 스페인어, 프랑스어, 인도네시아, 태국, 중국어 간체/번체, 일본어를 지원합니다.

// 7.2.0 미만 버전
GFPAdMuteData *adMuteData = nativeAd.adChoicesData.adMuteData;

[adMuteData.reasonCodes enumerateObjectsUsingBlock:^(NSString * _Nonnull reasonCode, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *reasonText_ko = [adMuteData textWith:reasonCode languageType:GFPNativeLanguageType_ko];
NSLog(@"adMuteReason: reasonText_ko - %@", reasonCode, reasonText_ko);
}];
// 7.2.0 이상 버전
GFPAdMuteData *adMuteData = nativeAd.adChoicesData.adMuteData;

[adMuteData.reasonCodes enumerateObjectsUsingBlock:^(NSString * _Nonnull reasonCode, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *reasonText_ko = [adMuteData textWith:reasonCode languageType:GFPLanguageType_ko];
NSLog(@"adMuteReason: reasonText_ko - %@", reasonCode, reasonText_ko);
}];

reportClickWith:

adMute 사유 클릭 시 reasonCode를 파라미터로 전달하여, 클릭되었음을 알립니다.

GFPAdMuteData *adMuteData = nativeAd.adChoicesData.adMuteData;
[adMuteData reportClickWith:reasonCode];

privacyUrl

privacyUrl 이 존재하는 경우 privacy 아이콘을 렌더링하며, 클릭 시 privacyUrl 로 랜딩시켜야 합니다.