Android 전면 광고

전면 광고 노출하기

로컬 환경에서 배너 노출을 확인하고 싶다면, 아래의 TEST_UNIT_ID를 사용해주세요.

자세한 예시는 Github서 확인하실 수 있습니다. 테스트 유닛 아이디는 프로덕션 배포시 반드시 실제 광고 유닛으로 교체해 주셔야 합니다.

Ad type
Ad unit ID

Interstitial

PUBLIC_TEST_UNIT_ID_INTERSTITIAL

전면 Example 구현 예시

  • 필요한 파라미터 정의

class AdropUnitId {
  companion object {
      // 전면 광고 유닛 ID (실제 발급받은 ID로 교체)
      val INTERSTITIAL = "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", "광고 노출 확인됨")
          }
      }
  }

유의사항

  • 에러 처리

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가 한 번이라도 광고요청을 할 경우 성공적으로 연결됩니다.

광고 유닛에 연결된 광고가 없다면, 전면 광고가 랜더링 되지 않습니다. 따라서 전면 광고가 정상적으로 랜더링 되는지 확인하고 싶으면, TEST_UNIT_ID 를 사용해 주세요.

TEST_UNIT_ID 를 사용하면 전면 광고 랜더링 확인은 할 수 있지만, console과 연결되지는 않습니다. 따라서 성공적인 연결을 확인하려면 콘솔에 등록한 광고 유닛의 아이디를 적용해 주시고, 하단 이미지 처럼 콘솔을 확인해 주세요.

Last updated