단일 전면 광고 로드

전면 광고는 앱 인터페이스를 가리는 전체 화면 광고입니다. 이러한 광고는 활동이 바뀌는 시점 또는 게임에서 다음 레벨로 넘어갈 때처럼 앱 흐름에서 자연스러운 전환 시점에 게재됩니다.

앱에 전면 광고가 표시되면 사용자는 광고를 탭하여 계속 진행하거나 광고를 닫고 앱으로 돌아갈 수 있습니다.

이 가이드에서는 전면 광고를 Android 앱에 통합하는 방법을 설명합니다.

시작하기 전에

계속하기 전에 다음을 수행하세요.

  • GMA Next-Gen SDK를 설정합니다.
  • 테스트 전면 광고 단위 ID /21775744923/example/interstitial를 사용합니다.
    • 앱을 빌드하고 테스트할 때는 운영 중인 실제 광고 대신 테스트 광고를 사용하세요. 테스트 광고 단위 ID를 사용하지 않으면 Google에서 계정을 정지할 수 있습니다.
    • 앱을 게시하기 전에 이 ID를 광고 단위 ID로 바꿔야 합니다.
    • GMA Next-Gen SDK 테스트 광고에 관한 자세한 내용은 테스트 광고 사용 설정을 참고하세요.

광고 로드하기

다음 예에서는 단일 광고를 로드합니다.

Kotlin

// Load ads after you initialize MobileAds.
InterstitialAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<InterstitialAd> {
    override fun onAdLoaded(ad: InterstitialAd) {
      // Interstitial ad loaded.
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // Interstitial ad failed to load.
      Log.e(TAG, "Interstitial ad failed to load: ${adError.message}")
      interstitialAd = null
    }
  },
)

자바

// Load ads after you initialize MobileAds.
InterstitialAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<InterstitialAd>() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd ad) {
        // Interstitial ad loaded.
        interstitialAd = ad;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError adError) {
        // Interstitial ad failed to load.
        Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage());
        interstitialAd = null;
      }
    });

테스트할 때는 테스트 광고 단위 ID /21775744923/example/interstitial를 사용하세요.

광고 게재

전면 광고를 게재하려면 show 메서드를 호출합니다.

다음 예에서는 광고를 표시합니다.

Kotlin

private fun showAd(interstitialAd: InterstitialAd, activity: Activity) {
  // Show the ad.
  interstitialAd.show(activity)
}

자바

private void showAd(InterstitialAd interstitialAd, Activity activity) {
  // Show the ad.
  interstitialAd.show(activity);
}

광고 이벤트 수신 대기

광고를 표시하기 전에 광고 수명 주기 이벤트를 수신 대기합니다. 다음 예에서는 광고 이벤트의 콜백을 등록합니다.

Kotlin

// Listen for ad events.
val ad = interstitialAd
if (ad == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.")
  return
}

ad.adEventCallback =
  object : InterstitialAdEventCallback {
    override fun onAdShowedFullScreenContent() {
      // Interstitial ad did show.
    }

    override fun onAdDismissedFullScreenContent() {
      // Interstitial ad did dismiss.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(
      fullScreenContentError: FullScreenContentError
    ) {
      // Interstitial ad failed to show.
      Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}")
    }

    override fun onAdImpression() {
      // Interstitial ad did record an impression.
    }

    override fun onAdClicked() {
      // Interstitial ad did record a click.
    }
  }

Java

// Listen for ad events.
if (interstitialAd == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.");
  return;
}

interstitialAd.setAdEventCallback(
    new InterstitialAdEventCallback() {
      @Override
      public void onAdShowedFullScreenContent() {
        // Interstitial ad did show.
      }

      @Override
      public void onAdDismissedFullScreenContent() {
        // Interstitial ad did dismiss.
        interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(
          @NonNull FullScreenContentError fullScreenContentError) {
        // Interstitial ad failed to show.
        Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage());
      }

      @Override
      public void onAdImpression() {
        // Interstitial ad did record an impression.
      }

      @Override
      public void onAdClicked() {
        // Interstitial ad did record a click.
      }
    });