본문으로 건너뛰기

헤더 비딩

헤더 비딩은 광고 게시자의 앱에서 프로그래매틱 입찰을 수집한 후 NAM 서버로 광고 요청을 보내는 시스템입니다. NAM SDK 는 APS(Amazon Publisher Services) 모듈을 통해 배너 광고의 헤더 비딩을 지원합니다.

헤더 비딩을 사용할 경우, 광고를 로드하는 데 더 많은 시간이 소요될 수 있다는 단점이 있지만, 더 높은 가격의 광고를 게재할 수 있어 수익을 극대화할 수 있습니다.

APS SDK 포함하기

앱 수준 build.gradle 에 APS 미디에이션 모듈의 종속 항목을 추가합니다.

정보

APS 모듈을 통해 헤더 비딩을 사용하려면 NAM 관리자에게 문의하시기 바랍니다.

정보

명시적으로 APS 미디에이션 종속 항목의 버전을 설정할 경우, NAM SDK 와 호환되는 APS SDK 버전은 9.8.8 버전 이상입니다.

dependencies {
implementation("com.naver.gfpsdk.mediation:nam-aps:<latest-version>")
}

APS SDK 초기화

APS SDK 를 사용하려면 Application.onCreate() 에서 아래와 같이 초기화해야 합니다.

class SampleApplication : Application() {
override fun onCreate() {
super.onCreate()

...
AdRegistration.getInstance("YOUR_APS_APP_KEY", this)
AdRegistration.setMRAIDSupportedVersions(arrayOf("1.0", "2.0", "3.0"))
AdRegistration.setMRAIDPolicy(MRAIDPolicy.CUSTOM)
}
}

배너 광고 로드

APS 배너 광고를 NAM SDK 에 통합하려면 먼저 APS 배너 광고를 로드해야 합니다. NAM 배너 광고를 로드하기 전에 APS 배너 광고 로드 성공 시 전달받는 DTBAdResponse 객체를 AdParam 에 추가한 후 GfpBannerAdView.loadAd() 를 호출해야 하고 로드 실패시에는 DTBAdResponse 객체 전달 없이 GfpBannerAdView.loadAd() 를 호출해야 합니다.

class ExampleActivity : AppCompatActivity() {
private lateinit var bannerAdView: GfpBannerAdView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_example)

// The view container of banner ad view
val bannerAdContainer = findViewById(R.id.banner_ad_container)

// Create a new ad parameter
val adParam = AdParam.Builder()
.setAdUnitId("YOUR_AD_UNIT_ID")
.build()

// Create a new banner ad view
bannerAdView = GfpBannerAdView(this, adParam)

// Add the banner ad view to the view container
bannerAdContainer.addView(bannerAdView)

...

val dtbAdRequest = DTBAdRequest()
dtbAdRequest.sizes = DTBAdSize(320, 100, "YOUR_UUID")
dtbAdRequest.loadAd(object: DTBAdCallback {
override fun onFailure(adError: AdError) {
bannerAdView.loadAd()
}

override fun onSuccess(dtbAdResponse: DTBAdResponse) {
val adSizes = dtbAdResponse.dtbAds
if (adSizes != null && adSizes.isNotEmpty()) {
val apsAdParam = ApsUtils.createGfpApsAdParam(dtbAdResponse)
adParam.apsParam = apsAdParam
}
bannerAdView.loadAd()
}
})
}

override fun onDestroy() {
bannerAdView.destroy()
super.onDestroy()
}
}
주의

하나의 AdParam 객체를 재사용하여 APS 광고를 여러번 요청할 경우, 요청 직전에 AdParam.buildUpon().setApsParam(null) 메서드를 호출하여 새로운 AdParam 객체를 생성함으로써 통해 기존에 설정된 AdParamGfpApsAdParam 값을 초기화 해줘야 합니다.

정보

DtbAdRequest.loadAd() 를 통해 APS 배너 광고 로드 후 onSuccess() 콜백이 전달되면 AdParamGfpApsAdParam 객체를 반드시 전달해야 합니다. onFailure() 콜백이 전달되면


APS SDK 테스트

APS SDK 의 테스트 모드를 활성화할 경우, 테스트 광고를 수신할 수 있습니다. 아래 예시는 테스트 모드를 활성화하는 예시를 보여줍니다.

주의

release 빌드에서는 테스트 모드를 비활성화 해야 합니다.

class SampleApplication : Application() {
override fun onCreate() {
super.onCreate()

...
AdRegistration.enableTesting(true)
AdRegistration.enableLogging( true )
}
}

APS 가이드

APS 에 대한 자세한 사용법은 APS Android 가이드 를 참조하시면 됩니다. 아마존 계정으로 로그인이 필요합니다.