Android 전면 광고
전면 광고 노출하기
Ad type
Ad unit ID
Interstitial
PUBLIC_TEST_UNIT_ID_INTERSTITIAL
전면 Example 구현 예시
필요한 파라미터 정의
class AdropUnitId {
companion object {
// 전면 광고 유닛 ID (실제 발급받은 ID로 교체)
val INTERSTITIAL = "YOUR_INTERSTITIAL_UNIT_ID"
}
}public class AdropUnitId {
// 전면 광고 유닛 ID (실제 발급받은 ID로 교체)
public static final String INTERSTITIAL_IMAGE = "YOUR_INTERSTITIAL_UNIT_ID";
}전면 광고 구현
import io.adrop.ads.interstitial.AdropInterstitial
import io.adrop.ads.interstitial.AdropInterstitialListener
import io.adrop.ads.model.AdropErrorCode
class MainActivity : AppCompatActivity() {
private var interstitialAd: AdropInterstitial? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 전면 광고 로드
loadInterstitialAd()
// 버튼 클릭 시 광고 표시
findViewById<Button>(R.id.show_ad_button).setOnClickListener {
showInterstitialAd()
}
}
private fun loadInterstitialAd() {
interstitialAd = AdropInterstitial(
this,
AdropUnitId.INTERSTITIAL,
AdropUnitId.CONTEXT_ID
).apply {
listener = interstitialListener
load()
}
}
private fun showInterstitialAd() {
if (interstitialAd?.isLoaded == true) {
interstitialAd?.show()
} else {
Log.d("AdropInterstitial", "광고가 아직 로드되지 않았습니다")
// 광고 재로드
loadInterstitialAd()
}
}
private val interstitialListener = object : AdropInterstitialListener {
override fun onAdReceived(ad: AdropInterstitial) {
Log.d("AdropInterstitial", "광고 로드 성공: ${ad.unitId}")
}
override fun onAdFailedToReceive(ad: AdropInterstitial, errorCode: AdropErrorCode) {
Log.e("AdropInterstitial", "광고 로드 실패: $errorCode")
}
override fun onAdOpened(ad: AdropInterstitial) {
Log.d("AdropInterstitial", "광고 노출됨")
}
override fun onAdClosed(ad: AdropInterstitial) {
Log.d("AdropInterstitial", "광고 닫힘")
// 새 광고 미리 로드
loadInterstitialAd()
}
override fun onAdClicked(ad: AdropInterstitial) {
Log.d("AdropInterstitial", "광고 클릭됨")
}
override fun onAdImpression(ad: AdropInterstitial) {
Log.d("AdropInterstitial", "광고 노출 확인됨")
}
}
}
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import io.adrop.ads.interstitial.AdropInterstitial;
import io.adrop.ads.interstitial.AdropInterstitialListener;
import io.adrop.ads.model.AdropErrorCode;
public class MainActivity extends AppCompatActivity {
private AdropInterstitial interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 전면 광고 로드
loadInterstitialAd();
// 버튼 클릭 시 광고 표시
Button showAdButton = findViewById(R.id.show_ad_button);
showAdButton.setOnClickListener(v -> showInterstitialAd());
}
private void loadInterstitialAd() {
interstitialAd = new AdropInterstitial(
this,
AdropUnitId.INTERSTITIAL_VIDEO,
AdropUnitId.CONTEXT_ID
);
interstitialAd.setListener(interstitialListener);
interstitialAd.load();
}
private void showInterstitialAd() {
if (interstitialAd != null && interstitialAd.isLoaded()) {
interstitialAd.show();
} else {
Log.d("AdropInterstitial", "광고가 아직 로드되지 않았습니다");
// 광고 재로드
loadInterstitialAd();
}
}
private AdropInterstitialListener interstitialListener = new AdropInterstitialListener() {
@Override
public void onAdReceived(AdropInterstitial ad) {
Log.d("AdropInterstitial", "광고 로드 성공: " + ad.getUnitId());
}
@Override
public void onAdFailedToReceive(AdropInterstitial ad, AdropErrorCode errorCode) {
Log.e("AdropInterstitial", "광고 로드 실패: " + errorCode);
}
@Override
public void onAdOpened(AdropInterstitial ad) {
Log.d("AdropInterstitial", "광고 노출됨");
}
@Override
public void onAdClosed(AdropInterstitial ad) {
Log.d("AdropInterstitial", "광고 닫힘");
// 새 광고 미리 로드
loadInterstitialAd();
}
@Override
public void onAdClicked(AdropInterstitial ad) {
Log.d("AdropInterstitial", "광고 클릭됨");
}
@Override
public void onAdImpression(AdropInterstitial ad) {
Log.d("AdropInterstitial", "광고 노출 확인됨");
}
};
}유의사항
에러 처리
override fun onAdFailedToReceive(ad: AdropInterstitial, errorCode: AdropErrorCode) {
when (errorCode) {
AdropErrorCode.ERROR_CODE_AD_NO_FILL -> {
Log.i("AdropInterstitial", "현재 노출 가능한 광고가 없습니다")
// 대체 로직 실행
}
AdropErrorCode.ERROR_CODE_NETWORK -> {
Log.w("AdropInterstitial", "네트워크 오류로 광고 로드 실패")
// 재시도 로직
}
AdropErrorCode.ERROR_CODE_INITIALIZE -> {
Log.e("AdropInterstitial", "SDK 초기화 오류")
}
AdropErrorCode.ERROR_CODE_INVALID_UNIT -> {
Log.e("AdropInterstitial", "잘못된 광고 유닛 ID")
}
else -> {
Log.e("AdropInterstitial", "광고 로드 실패: $errorCode")
}
}
}적용 확인하기
console에서 발급받은 unitId가 한 번이라도 광고요청을 할 경우 성공적으로 연결됩니다.

Last updated