네이티브 광고에는 추가 맞춤설정을 하고 최상의 광고 경험을 제공할 수 있는 다양한 고급 기능이 있습니다. 이 가이드에서는 네이티브 광고의 고급 기능을 사용하는 방법을 설명합니다.
기본 요건
- 네이티브 광고 형식을 통합합니다.
애셋 설정
선호하는 미디어 가로세로 비율 컨트롤
미디어 가로세로 비율 컨트롤을 사용하면 광고 소재의 가로세로 비율에 대한 환경설정을 지정할 수 있습니다.
GADMediaAspectRatio
를 사용하여 GADNativeAdMediaAdLoaderOptions mediaAspectRatio
를 설정합니다.
설정하지 않으면 반환된 광고의 미디어 가로세로 비율이 아무거나 될 수 있습니다.
이 값을 설정하면 선호하는 가로세로 비율 유형을 지정하여 사용자 환경을 개선할 수 있습니다.
다음 예에서는 SDK에 특정 가로세로 비율의 반환 이미지 또는 동영상을 선호하도록 지시합니다.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
이미지 다운로드 제어
이미지 다운로드 제어를 사용하면 SDK에서 이미지 애셋이 반환되는지 또는 URI만 반환되는지 결정할 수 있습니다.
GADNativeAdImageAdLoaderOptions disableImageLoading
를 BOOL
값으로 설정합니다.
이미지 다운로드 제어는 기본적으로 사용 중지되어 있습니다.
사용 중지하면 Google 모바일 광고 SDK가 이미지와 URI를 모두 채웁니다.
사용 설정하면 SDK는 URI만 채우므로 개발자가 원하는 실제 이미지를 직접 다운로드할 수 있습니다.
다음 예에서는 SDK에 URI만 반환하도록 지시합니다.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
이미지 페이로드 컨트롤
일부 광고에는 하나가 아닌 여러 개의 이미지가 포함되어 있습니다. 이 기능을 사용하여 앱에서 모든 이미지를 표시할 준비가 되었는지 아니면 하나만 표시할 준비가 되었는지 나타냅니다.
GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages
를 BOOL
값으로 설정합니다.
이미지 페이로드 컨트롤은 기본적으로 사용 중지되어 있습니다.
사용 중지하면 앱에서 이미지의 집합을 포함하는 애셋의 첫 번째 이미지만 제공하도록 SDK에 지시합니다.
사용 설정하면 앱에서 둘 이상의 이미지가 포함된 애셋에 대해 모든 이미지를 표시할 준비가 되었다는 뜻입니다.
다음 예에서는 SDK에 여러 이미지 애셋을 반환하도록 지시합니다.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
AdChoices 게재위치
AdChoices 위치 제어
AdChoices 위치 컨트롤을 사용하면 AdChoices 아이콘을 렌더링할 모서리를 선택할 수 있습니다.
GADNativeAdViewAdOptions preferredAdChoicesPosition
를 GADAdChoicesPosition
값으로 설정합니다.
설정하지 않으면 AdChoices 아이콘 위치가 오른쪽 상단으로 설정됩니다.
이 옵션을 설정하면 요청된 대로 AdChoices가 맞춤 위치에 배치됩니다.
다음 예는 맞춤 AdChoices 이미지 위치를 설정하는 방법을 보여줍니다.
GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
AdChoices 맞춤 보기
AdChoices 맞춤 보기 기능을 사용하면 AdChoices 아이콘을 맞춤 위치에 배치할 수 있습니다. 이는 네 모서리 중 하나만 지정할 수 있는 AdChoices 위치 제어와는 다릅니다.
렌더링하기 전에 GADAdChoicesView
로 GADNativeAd.adChoicesView
속성을 설정하면 AdChoices 콘텐츠가 GADAdChoicesView
내에서 렌더링됩니다.
다음 예는 맞춤 AdChoices 뷰를 설정하는 방법을 보여줍니다. AdChoices 아이콘이 GADAdChoicesView
내부에서 렌더링됩니다.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
...
GADAdChoicesView *customAdChoicesView =
[[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];
[nativeAdView addSubview:customAdChoicesView];
nativeAdView.adChoicesView = customAdChoicesView;
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = GADAdChoicesView(frame: customRect)
nativeAdView.addSubview(customAdChoicesView)
nativeAdView.adChoicesView = customAdChoicesView
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
동영상 컨트롤
음소거 동작 시작
시작 음소거 동작을 사용하면 동영상의 시작 오디오를 사용 중지하거나 사용 설정할 수 있습니다.
GADVideoOptions startMuted
를 BOOL
값으로 설정합니다.
시작 음소거 동작은 기본적으로 사용 설정되어 있습니다.
사용 중지하면 앱에서 동영상이 오디오로 시작해야 한다고 요청합니다.
사용 설정하면 앱에서 동영상이 오디오가 음소거된 상태로 시작되도록 요청합니다.
다음 예는 오디오 음소거를 해제한 상태로 동영상을 시작하는 방법을 보여줍니다.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
맞춤 재생 컨트롤
이를 통해 맞춤 동영상 입력 컨트롤을 요청하여 동영상을 재생, 일시중지 또는 음소거할 수 있습니다.
GADVideoOptions customControlsRequested
를 BOOL
값으로 설정합니다.
맞춤 재생 컨트롤은 기본적으로 사용 중지되어 있습니다.
사용 중지하면 동영상에 SDK 렌더링된 입력 컨트롤이 표시됩니다.
- 사용 설정하면
GADVideoController play
,GADVideoController pause
,GADVideoController setMute
를 사용하여 동영상 광고를 관리할 수 있습니다.
- 광고에 동영상 콘텐츠가 있고 맞춤 컨트롤이 사용 설정된 경우 광고 자체에 컨트롤이 표시되지 않으므로 광고와 함께 맞춤 컨트롤을 표시해야 합니다. 그러면 컨트롤이
GADVideoController
에서 관련 메서드를 호출할 수 있습니다.
다음 예에서는 맞춤 재생 컨트롤이 있는 동영상을 요청하는 방법을 보여줍니다.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
맞춤 컨트롤이 사용 설정되어 있는지 확인
요청 시 반환된 광고에서 맞춤 동영상 컨트롤을 허용할지 알 수 없으므로 맞춤 컨트롤이 사용 설정되어 있는지 확인해야 합니다.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd*)nativeAd {
GADVideoController *videoController = nativeAd.mediaContent.videoController;
BOOL canShowCustomControls = videoController.customControlsEnabled;
}
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
맞춤 동영상 컨트롤 렌더링
다음 권장사항에 따라 맞춤 동영상 컨트롤을 렌더링하세요.
- 맞춤 컨트롤 뷰를 네이티브 광고 뷰의 하위 요소로 렌더링합니다. 이 접근 방식을 사용하면 공개 측정 조회가능성 계산에서 맞춤 컨트롤을 친화적인 방해물로 간주합니다.
- 전체 미디어 뷰에 보이지 않는 오버레이를 렌더링하지 마세요. 오버레이는 미디어 뷰의 클릭을 차단하여 네이티브 광고 실적에 부정적인 영향을 미칩니다. 대신 컨트롤에 맞을 만큼만 작은 오버레이를 만듭니다.
맞춤 클릭 동작
맞춤 클릭 동작은 광고 뷰에서 스와이프를 광고 클릭으로 등록할 수 있는 네이티브 광고 기능입니다. 콘텐츠 탐색에 스와이프 동작을 사용하는 앱에서 작동하도록 설계되었습니다. 이 가이드에서는 네이티브 광고에서 맞춤 클릭 동작을 사용 설정하는 방법을 보여줍니다.
선택한 스와이프 방향으로 GADNativeAdCustomClickGestureOptions
인스턴스를 초기화합니다. 탭을 클릭으로 허용할지 여부도 지정해야 합니다.
맞춤 클릭 동작은 기본적으로 사용 중지되어 있습니다.
사용 중지하면 탭만 클릭으로 집계됩니다.
이 옵션을 사용 설정하면 스와이프 동작이 클릭으로 집계되며 탭이 클릭으로 집계될지 여부를 지정할 수 있습니다.
다음 예는 오른쪽으로 스와이프하는 커스텀 동작을 구현하고 일반 탭 동작을 유지하는 방법을 보여줍니다.
GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
tapsAllowed:YES];
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
스와이프 동작 이벤트 수신 대기
스와이프 동작 클릭이 기록되면 Google 모바일 광고 SDK는 기존 nativeAdDidRecordClick:
대리자 메서드 외에도 GADNativeAdDelegate
에서 nativeAdDidRecordSwipeGestureClick:
대리자 메서드를 호출합니다.
#pragma mark - GADNativeAdDelegate implementation
// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click has occurred.");
}
// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click or tap click has occurred.");
}
미디에이션
맞춤 클릭 동작은 Google 모바일 광고 SDK가 렌더링하는 네이티브 광고에서만 작동합니다. 렌더링에 서드 파티 SDK가 필요한 광고 소스는 맞춤 클릭 유도 문구 설정에 응답하지 않습니다.