배너 광고
배너 광고는 대개 앱의 상단/하단에 위치하는 사각 띠 이미지 형태의 광고입니다.
시작하기 앞서
-
광고 호출을 위해 Ad Unit ID가 필요합니다.
NAM Admin을 통해 광고 공급자 설정, Inventory 설정, 광고 유닛 등록 등의 과정을 마무리하여 주시기 바랍니다.
관련 내용은 NAM 관리자에게 문의 부탁드립니다.
-
광고 상위에 다른 View가 있다면 노출 측정이 제대로 되지 않아 성과 지표 측정에 불이익이 있을 수 있습니다.
[Step 1] NAM SDK 적용 완료
이하 내용은 NAM SDK 적용이 완료된 상태를 가정하고 진행합니다.
[Step 2] 레이아웃에 Banner Ad 를 추가할 ViewGroup 을 추가
배너 광고를 게재하기 위해서는 먼저 광고를 게재하려는 Activity
또는 Fragment
의 레이아웃에 배너 광고가 삽입될 ViewGroup
을 추가해야 합니다.
아래 예제에서는 RelativeLayout
ViewGroup 에 banner_container
라는 id 로 배너 광고가 게재될 을 선언했습니다.
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ImageBannerFragment">
<RelativeLayout
android:id="@+id/banner_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
[Step 3] 광고 객체(GfpBannerAdView)와 요청 파라미터(AdParam) 생성
위에서 선언한 ViewGroup 에 게재될 배너 광고에 대한 객체를 생성하고 ViewGroup에 추가합니다.
광고 요청 파라미터의 경우 Ad Unit ID
는 필수 값 입니다.
그 외의 값은 선택적이고 광고 요청 정보를 참고해 주시기 바랍니다.
- Kotlin
- Java
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.activity_main, container, false)
val bannerAdContainer = view.findViewById(R.id.banner_container)
// ad request param
val adParam = AdParam.Builder()
.setAdUnitId("YOUR_AD_UNIT_ID")
.build()
val bannerAdView = GfpBannerAdView(requireActivity(), adParam)
. . . // add banner options
bannerAdContainer.addView(bannerAdView)
. . . // set listener and load
return view
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_main, container, false);
RelativeLayout bannerAdContainer = view.findViewById(R.id.banner_container);
// ad request param
AdParam adParam = new AdParam.Builder()
.setAdUnitId("YOUR_AD_UNIT_ID")
.build();
GfpBannerAdView bannerAdView = new GfpBannerAdView(requireActivity(), adParam);
... // add banner options
bannerAdContainer.addView(bannerAdView);
... // set listener and load
return view;
}
[Step 4] 배너 광고 옵션 설정 (Optional)
배너 광고는 GfpBannerAdOptions
라는 객체를 통해 배너 광고만의 옵션을 설정하게 됩니다.
또한 GfpBannerAdView
객체를 통해 광고 요청 타임아웃을 설정 할 수 있습니다.
광고 요청 과정에서 반드시 필요한 부분은 아닙니다.
- Kotlin
- Java
val bannerAdOptions = GfpBannerAdOptions.Builder()
.setBannerViewLayoutType(BannerViewLayoutType.FIXED)
.setHostParam(
HostParam.Builder()
.addMetaParam("theme", "dark") // In NDA ad, some ad creative support dark mode. This value will be apply in that creative.
.build()
)
.build()
bannerAdView.setBannerAdOptions(bannerAdOptions)
bannerAdView.setTimeoutMillis(60_000L)
GfpBannerAdOptions bannerAdOptions = new GfpBannerAdOptions.Builder()
.setBannerViewLayoutType(BannerViewLayoutType.FIXED)
.setHostParam(
new HostParam.Builder()
.addMetaParam("theme", "dark") // In NDA ad, some ad creative support dark mode. This value will be apply in that creative.
.build()
)
.build();
bannerAdView.setBannerAdOptions(bannerAdOptions);
bannerAdView.setTimeoutMillis(60_000L);