네이티브
전면은 현재 Android에서만 지원되며, iOS 지원은 추후 예정입니다.
네이티브 광고는 앱의 콘텐츠와 자연스럽게 어우러지는 광고 형식입니다. 앱의 디자인과 일치하도록 커스터마이징할 수 있어 사용자 경험을 해치지 않으면서 높은 참여도를 얻을 수 있습니다.
1. 주요특징
앱 콘텐츠와 자연스럽게 통합
템플릿 기반 또는 커스텀 레이아웃 지원
다양한 템플릿 타입 (SMALL, MEDIUM, FULLSCREEN)
스타일 커스터마이징 가능
2. 네이티브 광고 타입
네이티브 광고는 두 가지 방식으로 구현할 수 있습니다:
템플릿 네이티브 광고 (AdWhaleNativeTemplateView)
SDK에서 제공하는 템플릿 사용
SMALL, MEDIUM, FULLSCREEN 타입 지원
스타일 커스터마이징 가능
커스텀 네이티브 광고 (AdWhaleNativeCustomView)
자체 레이아웃 사용
완전한 디자인 제어
Android BinderFactory를 통합 커스텀 바인딩
3. 템플릿 네이티브 광고
템플릿 네이티브 광고는 다음 세 가지 타입을 지원합니다:
SMALL
AdWhaleNativeTemplate.small
작은 크기의 네이티브 광고
MEDIUM
AdWhaleNativeTemplate.medium
중간 크기의 네이티브 광고
FULLSCREEN
AdWhaleNativeTemplate.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 파일을 생성합니다:
Flutter에서 factoryId 사용
5. 이벤트 리스너 설정
AdWhaleNativeTemplateView 컴포넌트는 다음 이벤트를 지원합니다:
onLoaded
광고 로드 성공 시 호출
Ad ad
onLoadFailed
광고 로드 실패 시 호출
Ad ad,
String errorCode,
String errorMessage
onShowFailed
광고 표시 실패 시 호출
Ad ad,
String errorCode,
String errorMessage
onClicked
광고 클릭 시 호출
Ad ad
onClosed
광고 닫힘 시 호출
Ad ad
AdWhaleNativeCustomView 컴포넌트는 다음 이벤트를 지원합니다:
onLoaded
광고 로드 성공 시 호출
Ad ad
onLoadFailed
광고 로드 실패 시 호출
Ad ad,
String errorCode,
String errorMessage
6. 옵션 설정
AdWhaleNativeTemplateView 컴포넌트 호출 시 추가 옵션을 설정할 수 있습니다.
AdWhaleNativeCustomView 컴포넌트 호출 시 추가 옵션을 설정할 수 있습니다.
중요: factoryId는 필수이며, MainActivity에서 해당 factoryId로 BinderFactory를 등록해야 합니다.
7. 템플릿 네이티브 광고 샘플코드
다음은 React Native 컴포넌트에서 템플릿 네이티브 광고를 구현하는 완전한 예시입니다.
FullScreen 템플릿 모달 샘플코드
8. 주의사항
광고 로드 타이밍
loadAd()를 호출한 후onLoaded이벤트가 발생해야showAd()를 호출할 수 있습니다.광고가 로드되기 전에
showAd()를 호출하면 표시되지 않습니다.
위젯 재생성
placement UID나 템플릿 타입을 변경할 때는
AdWhaleNativeTemplateView(커스텀 네이티브 일 땐AdWhaleNativeCustomView)를destroy하고 새로 생성해야 합니다.setState()를 호출하여 UI를 갱신하세요.
FULLSCREEN 템플릿
FULLSCREEN 템플릿은 모달이나 별도 화면에서 사용하는 것을 권장합니다.
일반 뷰에 표시하면 레이아웃 문제가 발생할 수 있습니다.
스타일 커스터마이징
템플릿 스타일은 광고 로드 전에 설정해야 합니다.
스타일을 변경하려면 컴포넌트를 재생성하세요.
커스텀 네이티브 광고
factoryId는 MainActivity에서 등록한 값과 정확히 일치해야 합니다.레이아웃 파일의 View ID가 올바르게 설정되어 있는지 확인하세요.
에러 처리
onLoadFailed와onShowFailed이벤트에서 적절한 에러 처리를 구현하세요.에러 코드와 메시지를 로깅하여 문제를 추적할 수 있습니다.
테스트
개발 환경에서는 테스트용 placement UID를 사용하세요.
다양한 템플릿 타입과 스타일을 테스트하세요.
Last updated