스플래시 광고
최초 실행되는 액티비티에 NestAds의 NestAdsSplashAdView 를 세팅하여 스플래시 광고를 표시하는 가이드입니다.
기본 요건
시작 가이드에 따라 필요한 과정을 완료합니다.
테스트 광고 게재위치
Placement Code(게재위치 코드)는 어드민의 인벤토리 > 게재위치 메뉴에서 게재위치를 등록 시 시스템을 통해 자동으로 생성됩니다.
테스트 게재위치 목록
placementCode
설명
SAMPLE_SPLASH
360x256 이미지 + 애드뱃지
광고 표시하기
activity_splash.xml
를 설정해줍니다.
NestAdsSplashAdView 의 자세한 내용은 여기를 참고해주세요.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--가운데에 로고 이미지 설정-->
<ImageView
android:id="@+id/nestads_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/nestads_logo"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<!--하단에 NestAdsSplashAdView 설정-->
<com.nestads.sdk.ads.splash.NestAdsSplashAdView
android:id="@+id/nestads_splash_ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
SplashActivity
를 구현합니다.
크게 1) SDK 초기화
, 2) NestAdsSplashAdView 설정
, 3) 광고 리스너 설정
, 4) 광고 요청
의 단계로 진행됩니다.
class SplashActivity : AppCompatActivity() {
private lateinit var nestAdsSplashAd: NestAdsSplashAdView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// NestAds SDK 초기화
NestAds.initialize(application)
// activity_splash.xml 및 NestAdsSplashAdView를 연결합니다.
setContentView(R.layout.activity_splash)
nestAdsSplashAd = findViewById(R.id.nestads_splash_ad)
// 게재위치 코드, duration, 사이즈 설정을 해줍니다.
nestAdsSplashAd.placementCode = "SAMPLE_SPLASH"
nestAdsSplashAd.duration = 3000 //최소 1초, 최대 5초
nestAdsSplashAd.setAdSize(NestAdsAdSize(360, 270))
// 광고 리스너를 설정합니다.
nestAdsSplashAd.adListener = object : NestAdsAdListener() {
override fun onAdClosed() {
// duration 시간이 지나고 메인 Activity로 이동하도록 구현
startMainActivity()
}
}
// 광고를 요청합니다.
nestAdsSplashAd.loadAd(NestAdsAdRequest.Builder().build())
}
private fun startMainActivity() {
val intent = Intent(this@SplashActivity, MainActivity::class.java)
startActivity(intent)
finish()
}
}
AndroidManifest.xml
에서SplashActivity
를 최초 화면으로 넣어줍니다.
<activity
android:name=".SplashActivity"
android:exported="true"
android:theme="@style/Theme.App.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
광고 리스너
NestAdsSplashAdView
에서 지원하는 광고 리스너는 다음을 참고하세요.
1) 광고 요청에 성공한 경우 아래의 순서로 불립니다.
onAdLoaded -> onAdImpression -> duration시간이 지난 후 -> onAdClosed
2) 광고 요청에 실패한 경우 아래의 순서로 불립니다.
onAdFailedToLoad -> duration시간이 지난 후 -> onAdClosed
class SplashActivity : AppCompatActivity() {
private lateinit var nestAdsSplashAd: NestAdsSplashAdView
override fun onCreate(savedInstanceState: Bundle?) {
...
// 광고 리스너 설정
nestAdsSplashAd.adListener = object : NestAdsAdListener() {
// 광고 로드에 성공한 경우 호출됩니다.
override fun onAdLoaded() {
}
// 광고 로드에 실패한 경우 호출됩니다.
override fun onAdFailedToLoad(error: NestAdsAdError) {
}
// 광고 로드에 성공한 후 광고 노출이 완료되면 호출됩니다.
override fun onAdImpression() {
}
// 설정한 duration 시간이 지나면 호출됩니다.
// 이 곳에서 메인 Activity로 이동 구현을 권장합니다.
override fun onAdClosed() {
startMainActivity()
}
}
...
}
}
Last updated