Skip to main content

개요

네이티브 광고는 앱의 디자인에 맞게 광고 UI를 자유롭게 커스터마이징할 수 있는 광고 포맷입니다. 광고 소재(이미지, 동영상), 제목, 설명, CTA 버튼 등의 요소를 개별적으로 배치하여 자연스러운 사용자 경험을 제공할 수 있습니다.

주요 기능

  • 완전한 UI 커스터마이징: 앱의 디자인 시스템에 맞게 광고 레이아웃을 자유롭게 구성
  • 다양한 미디어 지원: 이미지 및 동영상 광고 소재 지원
  • 유연한 클릭 처리: 전체 클릭 또는 커스텀 클릭 처리 가능
  • 프로필 정보 표시: 광고주 프로필 로고 및 이름 지원
  • 백필 광고 지원: 백필 광고 여부 확인 가능

AdropNativeAd 클래스

네이티브 광고를 로드하고 관리하는 메인 클래스입니다.

생성자

string
필수
광고 지면 ID (콘솔에서 발급)
boolean
기본값:"false"
커스텀 클릭 처리 사용 여부
  • true: 개발자가 직접 클릭 처리를 구현 (비디오 광고 컨트롤러 사용 가능)
  • false: AdropNativeAdView가 모든 클릭 이벤트를 자동으로 처리
AdropAdChoicesPosition
기본값:"AdropAdChoicesPosition.topRight"
백필 네이티브 광고의 AdChoices 마크 표시 위치

메서드

프로퍼티


AdropNativeAdView 컴포넌트

네이티브 광고를 표시할 컨테이너 컴포넌트입니다.

Props

AdropNativeAd
표시할 네이티브 광고 인스턴스

사용 예시

AdropNativeAdView는 광고 컨텍스트를 제공하므로, 모든 광고 요소 뷰들은 이 컴포넌트 내부에 배치해야 합니다.

네이티브 광고 요소 뷰

AdropProfileLogoView

광고주 프로필 로고를 표시하는 이미지 컴포넌트입니다.
Props: Omit<ImageProps, 'source'> (React Native의 Image 컴포넌트 속성, source는 자동으로 설정됩니다)

AdropProfileNameView

광고주 프로필 이름을 표시하는 텍스트 컴포넌트입니다.
Props: TextProps (React Native의 Text 컴포넌트 속성)

AdropHeadLineView

광고 제목을 표시하는 텍스트 컴포넌트입니다.
Props: TextProps (React Native의 Text 컴포넌트 속성)

AdropBodyView

광고 본문을 표시하는 텍스트 컴포넌트입니다.
Props: TextProps (React Native의 Text 컴포넌트 속성)

AdropMediaView

광고 이미지 또는 동영상을 표시하는 미디어 컴포넌트입니다.
Props: ViewProps (React Native의 View 컴포넌트 속성)
네이티브 광고의 영상 크리에이티브는 반드시 properties.creative(HTML 페이로드)를 WebView로 렌더링해야 합니다. properties.asset을 react-native-video 등 자체 플레이어에 직접 전달하면 SDK의 영상 트래킹 파이프라인을 거치지 않게 되어 VTR이 측정되지 않고 onAdVideoStart / onAdVideoEnd 콜백도 호출되지 않습니다. 영상 트래킹과 VTR 섹션을 참고하세요.

AdropCallToActionView

행동 유도 문구(CTA)를 표시하는 텍스트 컴포넌트입니다.
Props: TextProps (React Native의 Text 컴포넌트 속성)

AdropAdvertiserView

광고주 이름을 표시하는 텍스트 컴포넌트입니다.
Props: TextProps (React Native의 Text 컴포넌트 속성)

AdropIconView

광고 아이콘을 표시하는 이미지 컴포넌트입니다.
Props: Omit<ImageProps, 'source'> (React Native의 Image 컴포넌트 속성, source는 자동으로 설정됩니다)

AdropNativeAdListener 인터페이스

광고 이벤트를 처리하는 리스너 인터페이스입니다.

AdropNativeProperties 타입

광고 속성 정보를 담는 타입입니다.

AdropNativeProfile 타입

광고주 프로필 정보를 담는 타입입니다.

구현 예제

다음은 네이티브 광고를 구현하는 전체 예제입니다.

테스트 유닛 ID

개발 및 테스트 시 다음 테스트 유닛 ID를 사용하세요.
프로덕션 배포 전에 반드시 실제 유닛 ID로 교체하세요.

에러 처리

광고 로드 실패 시 onAdFailedToReceive 콜백에서 에러 코드를 받을 수 있습니다.

주요 에러 코드

에러 처리 예제


모범 사례

1. 리소스 해제

컴포넌트 언마운트 시 반드시 광고 리소스를 해제하세요.

2. 비디오 광고 및 백필 광고 처리

비디오 광고 여부 및 백필 광고 여부에 따라 적절한 렌더링 방식을 선택하세요.

3. URL 처리

WebView에서 URL 클릭 시 외부 브라우저로 열리도록 처리하세요.

4. 광고 요소 선택적 사용

앱의 디자인에 맞게 필요한 광고 요소만 선택적으로 사용하세요.

영상 트래킹과 VTR

Adrop은 네이티브 광고의 영상 지표 — VTR(영상 완수율), onAdVideoStart, onAdVideoEnd — 를 SDK 미디어 컨테이너 안에서 영상이 렌더링될 때에만 수집합니다. React Native에서는 구현 예제 섹션처럼 properties.creative(HTML 페이로드)를 WebView로 렌더링하는 것이 그 방식입니다. 이는 광고의 대표 미디어(미디어 1)에 해당합니다. 다중 미디어 소재의 나머지 미디어는 다중 미디어 소재를 참고하세요. properties.asset 필드는 원본 이미지 또는 영상 파일의 URL을 반환합니다. 이 값은 썸네일 표시나 매체사 자체 분석 등 부가 메타데이터 용도로 노출된 것이며, 재생을 직접 처리하기 위한 것이 아닙니다.
영상 네이티브 광고의 properties.asset URL을 자체 영상 플레이어(react-native-video, expo-av 또는 서드파티 플레이어)에 직접 전달하지 마세요. SDK 미디어 컨테이너를 거치지 않으면 다음 현상이 발생합니다.
  • 해당 지면에서 VTR(영상 완수율)이 수집되지 않습니다.
  • onAdVideoStart / onAdVideoEnd 콜백이 호출되지 않습니다.
  • 해당 유닛의 영상 성과 집계가 누락되거나 0으로 보고됩니다.
클릭(onAdClicked)과 노출(onAdImpression) 트래킹은 AdropNativeAdView에 연결되어 있으므로 계속 동작하지만, 영상 관련 신호는 손실됩니다.

권장 패턴

영상 크리에이티브는 AdropNativeAdView 내부에 배치한 WebView로 HTML 크리에이티브를 렌더링하세요.
AdropNativeAd의 isVideoAd와 isBackfilled 플래그를 사용하면 asset URL을 직접 검사하지 않고도 <AdropMediaView />(이미지 또는 백필 크리에이티브)와 <WebView />(다이렉트 영상 크리에이티브)를 분기할 수 있습니다.
특정 지면이 반드시 자체 플레이어를 사용해야 하고 VTR이 측정되지 않는 것을 수용한다면, 광고를 AdropNativeAdView에 바인딩한 채로 유지해 클릭과 노출 어트리뷰션은 계속 확보할 수 있습니다. 다만 해당 지면을 내부 리포트에서 비-VTR 인벤토리로 분류하고 SDK가 측정한 영상 성과와 섞지 마세요.

다중 미디어 소재

adrop-ads-react-native 1.16.0 이상이 필요합니다. 백필을 쓴다면 백필 모듈도 1.16.0으로 올리세요.
네이티브 유닛에 미디어가 2개 이상이면 소재에 미디어마다 파일이 들어 있습니다. properties.extraAssets에는 광고의 모든 미디어가 들어 있으며, 키는 콘솔에서 정한 미디어 아이디입니다. 미디어 1은 항상 m1이고, 나머지 미디어는 광고 유닛 상세 화면의 미디어 크기에 표시된 아이디(예: m2, m3)를 씁니다.
  • 미디어 1(m1)은 properties.asset, properties.creative와 같은 미디어입니다. 지금처럼 표시하고, 나머지 미디어만 직접 그리세요.
  • 미디어가 하나인 유닛의 소재와 백필 광고에서는 extraAssets가 비어 있습니다. 이런 광고는 평소처럼 표시하세요.
  • 미디어는 순서에 기대지 말고 아이디로 찾으세요.
  • 광고가 다크 모드로 송출되면 이미지 미디어도 다크 모드용 이미지로 제공됩니다.
  • 다중 미디어 소재로 레이아웃을 확인하려면 테스트 기기에서 소재를 미리 보세요.

AdropNativeAsset 타입

미디어 표시하기

  • 이미지: useCustomClick 설정과 관계없이 AdropNativeAdView 안의 탭은 광고 클릭이므로, 그 안에 둔 이미지의 탭도 광고의 다른 부분과 똑같이 집계됩니다. 이미지의 creative HTML은 클릭을 Adrop에 보고하지 않으므로 로드하지 마세요.
  • 동영상: asset URL이 아니라 creative HTML을 재생하세요. HTML에 동영상 플레이어와 트래킹이 들어 있어, 동영상 지표는 이 HTML로만 측정됩니다. WebView는 AdropNativeAdView 밖에 두세요. 안에 두면 플레이어 컨트롤을 누른 것을 포함해 동영상 탭이 광고 클릭으로도 집계될 수 있습니다. HTML은 미리 로드하지 말고 광고가 화면에 나타나기 직전에 로드하세요.
  • 랜딩 페이지: 사용자가 동영상을 탭하면 HTML이 클릭을 보고하고, 랜딩 페이지를 새 창이나 같은 창으로 열어 달라고 요청합니다. 요청된 URL을 onOpenWindow와 onShouldStartLoadWithRequest에서 여세요.

노출과 클릭

노출, 클릭, 동영상 지표는 SDK와 미디어가 모두 보고해도 미디어별이 아니라 광고당 한 번만 집계됩니다.
동영상의 어떤 탭이 클릭으로 집계되는지는 유닛의 영상 컨트롤러 설정에 따라 다릅니다. 컨트롤러가 꺼져 있으면 동영상의 모든 탭이 클릭으로 집계되고, 켜져 있으면 재생·음소거 컨트롤을 누른 것은 클릭으로 집계되지 않습니다.

예제

미디어 2(m2)가 이미지면 AdropNativeAdView 안에, 동영상이면 바로 아래에 표시하는 예제입니다. m2는 유닛의 미디어 아이디로 바꾸세요.

AdChoices 위치 조정

백필 네이티브 광고에서 AdChoices 마크가 표시될 코너를 지정할 수 있습니다. AdropNativeAd 생성자의 세 번째 인자로 preferredAdChoicesPosition을 전달하세요.
이 설정은 백필 네트워크에 전달되는 선호 위치 힌트로, 백필 네이티브 광고에만 적용됩니다 — 직광고에는 영향이 없습니다. 백필 네트워크가 정책상 다른 위치로 표시할 수 있습니다.

다음 단계

배너 광고

배너 광고 구현하기

전면 광고

전면 광고 구현하기

팝업 광고

팝업 광고 구현하기

보상형 광고

보상형 광고 구현하기