Skip to main content

네이티브 광고 형태 소개

  • 앱 UI에 맞게 광고 자산을 직접 배치하는 광고입니다.
  • Unity UI 프리팹에 DaroNativeAdView를 붙여 슬롯을 연결하거나, DaroNativeAd.Info를 직접 읽어 커스텀 UI에 바인딩할 수 있습니다.
네이티브 광고 구성 요소 예시

광고 연동하기

1

Native Ad View 준비

Unity UI 프리팹 루트에 DaroNativeAdView를 추가하고 TitleText, BodyText, IconImage, CtaButton, MediaContainer 슬롯을 연결합니다.MediaContainer는 선택 항목입니다. media asset이 없는 광고가 바인딩되면 DaroNativeAdView가 MediaContainer를 자동으로 숨깁니다.Bind(ad)는 Android와 iOS에서 CtaButton 탭을 네이티브 클릭 흐름에 자동으로 연결합니다.
2

광고 인스턴스 생성

3

이벤트 핸들러 등록

4

광고 로드

5

광고 해제

커스텀 uGUI에서는 ad.WireCtaButton(ctaButton)으로 실제 CTA 터치 영역을 연결하세요. AdChoices 위치를 지정했다면 ad.WireAdChoices(fullAdRectTransform)으로 전체 광고 영역도 연결합니다. 표시·숨김에 맞춰 NotifyVisible()·NotifyHidden()을 호출하고, 광고 클릭 결과는 Unity 버튼의 onClick 대신 OnAdClicked로 받으세요. NotifyClicked() 호출만으로 실제 기기의 CTA 터치 영역을 연결할 수는 없습니다.
Info.Icon과 Info.MediaImage 텍스처는 DaroNativeAd가 소유하며, 광고를 다시 로드하거나 해제할 때 정리됩니다. Unbind()와 Dispose() 후에 해당 텍스처를 보관하거나 다시 사용하지 마세요.

로드·표시와 자동 갱신

LoadFor(ad)는 광고를 로드하며, 로드 완료 후 Bind(ad)를 호출해야 화면에 표시됩니다. iOS에서도 로드만 한 상태에는 네이티브 광고 표시가 나타나지 않습니다. 바인딩된 뷰의 GameObject를 비활성화하면 네이티브 표시와 터치도 숨겨지고, 다시 활성화하면 복원됩니다. 사용을 끝낼 때는 Unbind()와 Dispose()를 호출하세요. 자동 갱신은 서버의 광고 지면 설정을 따릅니다. 갱신 주기가 0이면 주기 갱신을 하지 않고, 양수이면 광고를 주기적으로 갱신합니다. Load()를 한 번 호출한 뒤에도 로드 콜백이 다시 발생할 수 있으며, 이 자체는 오류가 아닙니다. 갱신할 때마다 별도 인스턴스를 만들 필요는 없습니다. 위 예제의 OnAdLoaded 처리로 최신 광고를 바인딩하고, 클릭은 OnAdClicked로 받으세요.

AdChoices 위치 지정

0.5.0-rc.4부터 생성자에서 위치를 지정할 수 있습니다.
TopLeft, TopRight, BottomRight, BottomLeft를 제공합니다. DaroNativeAdView의 전체 RectTransform을 기준으로 배치하므로 광고 전체 영역에 맞게 크기를 설정하세요. CTA 영역과 AdChoices 영역은 별개입니다. 위치를 생략한 기존 생성자는 기본 배치를 유지합니다.
개별 광고 디맨드가 제공하는 AdChoices UI에 따라 지정 위치가 그대로 적용되지 않을 수 있습니다. iOS의 일부 광고에서는 왼쪽 위치를 지정해도 오른쪽에 표시되는 동작이 확인됐습니다. 사용하는 디맨드와 화면 방향에서 표시 위치 및 터치를 확인하세요.

Example

에셋 수신 여부로 UI 분기하기

  • DaroNativeAd.OnNativeAdAssetLoaded 이벤트로 특정 에셋이 없는 경우에 대응할 수 있습니다.
  • 이벤트 타입은 Action<ISet<NativeAdAssetType>>이며 ad.Info.AssetTypes에서도 ISet<NativeAdAssetType>을 읽을 수 있습니다.
  • iconContainer는 고객사의 아이콘 UI 컨테이너입니다.
  • Advertiser는 수신 여부만 전달하며 Info의 광고주명 필드나 전용 뷰 슬롯은 제공하지 않습니다.
  • Media는 네이티브 SDK의 수신 신호입니다. Unity 미디어 텍스처 전달은 지원하지 않으므로 이 값만으로 Info.MediaImage가 있다고 가정하지 마세요.