안드로이드 네이티브 광고

1. xml 으로 네이티브 광고 레이아웃 만들기

네이티브 광고에서는 다음과 같은 view의 종류들이 포함될 수 있습니다.

  • 아이콘

  • 광고 게시자

  • 헤드라인

  • 바디

  • 미디어

  • CTA 버튼

예를 들어, 소셜 피드 형식의 네이티브 광고를 구성한다면 다음과 같은 레이아웃을 만들 수 있습니다.

<io.adrop.ads.nativeAd.AdropNativeAdView
    android:id="@+id/adrop_native_ad_view"
    ...>
    <LinearLayout
        android:orientation="horizontal"
        ... >
          <ImageView
           android:id="@+id/ad_icon"
           ... />
          <TextView
            android:id="@+id/ad_advertiser"
            ... />
     </LinearLayout>

   <io.adrop.ads.nativeAd.AdropMediaView
       android:id="@+id/ad_media"
       ... />
    
    <TextView
        android:id="@+id/ad_body"
        ... />
</LinearLayout>

2. 네이티브 광고 불러오기

val nativeAd = AdropNativeAd(context, "YOUR_UNIT_ID")
nativeAd.listener = object: AdropNativeAdListener {
    override fun onAdReceived(ad: AdropNativeAd) {
        Log.d("adrop", "AdropNativeAd receive")
        populateNativeAdView(ad)
    }
    
    override fun onAdFailedToReceive(ad: AdropNativeAd, errorCode: AdropErrorCode) {
        Log.d("adrop", "AdropNativeAd failed to receive $errorCode")
    }
    
    override fun onAdClicked(ad: AdropNativeAd) {
        Log.d("adrop", "AdropNativeAd clicked")
    }
}
nativeAd.load()

3. 네이티브 광고 연결 후 조회하기

AdropNativeAdView 의 예시와 이것을 populate한 AdropNativeAd 의 예시를 보여드립니다.

val adView: AdropNativeAdView = findViewById(R.id.adrop_native_ad_view)

fun populateNativeAdView(ad; AdropNativeAd) {
    adView.setIconView(findViewById(R.id.ad_icon))
    adView.setAdvertiserView(findViewById(R.id.ad_advertiser))
    adView.setBodyView(findViewById(R.id.ad_body))
    adView.setMediaView(findViewById(R.id.ad_media))
    ...
    
    // AdropNativeAdView의 setNativeAd 메소드를 호출하여 AdropNativeAd를 등록합니다.
    adView.setNativeAd(ad)
    
    ...
}

네이티브 광고 Destroy

AdropNativeAd 노출을 종료한다면, 네이티브 광고가 garbage collection 되도록 다음과 같이 destroy해야합니다.

nativeAd.destroy()
adView.destroy()

Last updated