네이티브

circle-info

네이티브 광고는 앱의 콘텐츠와 자연스럽게 어우러지는 광고 형식입니다. 앱의 디자인과 일치하도록 커스터마이징할 수 있어 사용자 경험을 해치지 않으면서 높은 참여도를 얻을 수 있습니다.

1. 주요특징

  • 앱 콘텐츠와 자연스럽게 통합

  • 템플릿 기반 또는 커스텀 레이아웃 지원

  • 다양한 템플릿 타입 (SMALL, MEDIUM, FULLSCREEN)

  • 스타일 커스터마이징 가능

2. 네이티브 광고 타입

네이티브 광고는 두 가지 방식으로 구현할 수 있습니다:

circle-info

템플릿 네이티브 광고 (AdWhaleNativeTemplateView)

  • SDK에서 제공하는 템플릿 사용

  • SMALL, MEDIUM, FULLSCREEN 타입 지원

  • 스타일 커스터마이징 가능

circle-info

커스텀 네이티브 광고 (AdWhaleNativeCustomView)

  • 자체 레이아웃 사용

  • 완전한 디자인 제어

3. 템플릿 네이티브 광고

템플릿 네이티브 광고는 다음 세 가지 타입을 지원합니다:

타입
설명

SMALL

'SMALL'

작은 크기의 네이티브 광고

MEDIUM

'MEDIUM'

중간 크기의 네이티브 광고

FULLSCREEN

'FULLSCREEN'

전체 화면 네이티브 광고

기본 구현

템플릿 스타일 커스터마이징

템플릿 네이티브 광고의 스타일을 커스터마이징할 수 있습니다.

스타일 옵션

4. 커스텀 네이티브 광고

커스텀 네이티브 광고는 자체 레이아웃을 사용하여 광고를 표시합니다.

기본 구현

사용자 지정 커스텀 네이티브 레이아웃 예시(custom_native_ad_layout.xml)

5. 이벤트 리스너 설정

AdWhaleNativeTemplateView 컴포넌트는 다음 이벤트를 지원합니다:

이벤트
설명
파라미터

onAdLoaded

광고 로드 성공 시 호출

없음

onAdFailedToLoad

광고 로드 실패 시 호출

AdWhaleNativeTemplateError

onAdShowFailed

광고 표시 실패 시 호출

AdWhaleNativeTemplateError

AdWhaleNativeCustomView 컴포넌트는 다음 이벤트를 지원합니다:

이벤트
설명
파라미터

onAdLoaded

광고 로드 성공 시 호출

없음

onAdFailedToLoad

광고 로드 실패 시 호출

AdWhaleNativeCustomError

5. 에러 이벤트 구조

6. 옵션 설정

AdWhaleNativeTemplateView 컴포넌트 호출 시 추가 옵션을 설정할 수 있습니다.

AdWhaleNativeCustomView 컴포넌트 호출 시 추가 옵션을 설정할 수 있습니다.

7. 템플릿 네이티브 광고 샘플코드

다음은 React Native 컴포넌트에서 템플릿 네이티브 광고를 구현하는 완전한 예시입니다.

FullScreen 템플릿 모달 샘플코드

8. 주의사항

광고 로드 타이밍

  • loadAd()를 호출한 후 onAdLoaded 이벤트가 발생해야 showAd()를 호출할 수 있습니다.

  • 광고가 로드되기 전에 showAd()를 호출하면 표시되지 않습니다.

컴포넌트 재생성

  • placement UID나 템플릿 타입을 변경할 때는 컴포넌트를 재생성해야 합니다.

  • key prop을 사용하여 컴포넌트를 강제로 재생성할 수 있습니다.

FULLSCREEN 템플릿

  • FULLSCREEN 템플릿은 모달이나 별도 화면에서 사용하는 것을 권장합니다.

  • 일반 뷰에 표시하면 레이아웃 문제가 발생할 수 있습니다.

스타일 커스터마이징

  • 템플릿 스타일은 광고 로드 전에 설정해야 합니다.

  • 스타일을 변경하려면 컴포넌트를 재생성하세요.

에러 처리

  • onAdFailedToLoadonAdShowFailed 이벤트에서 적절한 에러 처리를 구현하세요.

  • 에러 코드와 메시지를 로깅하여 문제를 추적할 수 있습니다.

테스트

  • 개발 환경에서는 테스트용 placement UID를 사용하세요.

  • 다양한 템플릿 타입과 스타일을 테스트하세요.

Last updated