네이티브

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. 커스텀 네이티브 광고

커스텀 네이티브 광고는 사용자가 직접 정의한 커스텀 레이아웃을 사용하여 광고를 표시합니다.

factoryId를 사용하여 MainActivity에서 등록한 BinderFactory를 통해 커스텀 레이아웃을 연결합니다.

Android MainActivity 에서 BinderFactory 등록

android/app/src/main/java/.../MainActivity.kt (또는 .java) 파일에서 BinderFactory를 등록합니다:

커스텀 레이아웃 파일 생성

android/app/src/main/res/layout/custom_native_ad_main_layout.xml 파일을 생성합니다:

ReactNative에서 factoryId 사용

5. 이벤트 리스너 설정

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

이벤트
설명
파라미터

onAdLoaded

광고 로드 성공 시 호출

없음

onAdFailedToLoad

광고 로드 실패 시 호출

AdWhaleNativeTemplateError

onAdShowFailed

광고 표시 실패 시 호출

AdWhaleNativeTemplateError

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

이벤트
설명
파라미터

onAdLoaded

광고 로드 성공 시 호출

없음

onAdFailedToLoad

광고 로드 실패 시 호출

AdWhaleNativeCustomError

5. 에러 이벤트 구조

6. 옵션 설정

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

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

circle-info

중요: factoryId는 필수이며, MainActivity에서 해당 factoryId로 BinderFactory를 등록해야 합니다.

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

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

FullScreen 템플릿 모달 샘플코드

8. 주의사항

광고 로드 타이밍

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

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

컴포넌트 재생성

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

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

FULLSCREEN 템플릿

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

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

스타일 커스터마이징

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

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

커스텀 네이티브 광고

  • factoryId는 MainActivity에서 등록한 값과 정확히 일치해야 합니다.

  • 레이아웃 파일의 View ID가 올바르게 설정되어 있는지 확인하세요.

에러 처리

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

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

테스트

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

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

Last updated