전면 광고

전면 광고는 호스트 앱의 인터페이스 전체를 덮는 전체 화면 광고입니다. 일반적으로 활동이 바뀌는 시점 또는 게임에서 다음 레벨로 넘어갈 때처럼 앱 흐름의 자연스러운 전환 시점에 광고가 게재됩니다. 앱에 전면 광고가 표시되면 사용자는 광고를 탭하여 도착 페이지로 이동하거나 광고를 닫고 앱으로 돌아갈 수 있습니다. 우수사례를 읽어보세요.

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

기본 요건

항상 테스트 광고로 테스트합니다

앱을 제작하고 테스트할 때는 운영 중인 실제 광고 대신 테스트 광고를 사용하세요. 그러지 않으면 계정이 정지될 수 있습니다.

테스트 광고를 로드하는 가장 쉬운 방법은 Android 전면 광고 테스트 전용 광고 단위 ID를 사용하는 것입니다.

ca-app-pub-3940256099942544/1033173712

이 ID는 모든 요청에 대해 테스트 광고를 반환하도록 특별히 구성되었으며, 코딩, 테스트, 디버깅 중에 앱에서 자유롭게 사용할 수 있습니다. 앱을 게시하기 전에 이 ID를 실제 광고 단위 ID로 바꿔야 합니다.

Google Mobile Ads SDK (Legacy) 테스트 광고에 관한 자세한 내용은 테스트 광고 사용 설정을 참고하세요.

광고 로드하기

전면 광고를 로드하려면 InterstitialAd의 정적 load() 메서드를 호출하고 InterstitialAdLoadCallback을 전달하여 로드된 광고 또는 관련 오류를 수신합니다. 다른 형식의 로드 콜백과 마찬가지로 InterstitialAdLoadCallbackLoadAdError를 사용하여 정확성이 더 높은 세부 오류 정보를 제공합니다.

Java

InterstitialAd.load(
    this,
    AD_UNIT_ID,
    new AdRequest.Builder().build(),
    new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        Log.d(TAG, "Ad was loaded.");
        MyActivity.this.interstitialAd = interstitialAd;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        Log.d(TAG, loadAdError.getMessage());
        interstitialAd = null;
      }
    });

Kotlin

InterstitialAd.load(
  this,
  AD_UNIT_ID,
  AdRequest.Builder().build(),
  object : InterstitialAdLoadCallback() {
    override fun onAdLoaded(ad: InterstitialAd) {
      Log.d(TAG, "Ad was loaded.")
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError.message)
      interstitialAd = null
    }
  },
)

FullScreenContentCallback 설정하기

FullScreenContentCallbackInterstitialAd 표시와 관련된 이벤트를 처리합니다. InterstitialAd를 표시하기 전에 콜백을 설정해야 합니다.

Java

interstitialAd.setFullScreenContentCallback(
    new FullScreenContentCallback() {
      @Override
      public void onAdDismissedFullScreenContent() {
        // Called when fullscreen content is dismissed.
        Log.d(TAG, "The ad was dismissed.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(AdError adError) {
        // Called when fullscreen content failed to show.
        Log.d(TAG, "The ad failed to show.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdShowedFullScreenContent() {
        // Called when fullscreen content is shown.
        Log.d(TAG, "The ad was shown.");
      }

      @Override
      public void onAdImpression() {
        // Called when an impression is recorded for an ad.
        Log.d(TAG, "The ad recorded an impression.");
      }

      @Override
      public void onAdClicked() {
        // Called when ad is clicked.
        Log.d(TAG, "The ad was clicked.");
      }
    });

Kotlin

interstitialAd?.fullScreenContentCallback =
  object : FullScreenContentCallback() {
    override fun onAdDismissedFullScreenContent() {
      // Called when fullscreen content is dismissed.
      Log.d(TAG, "Ad was dismissed.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(adError: AdError) {
      // Called when fullscreen content failed to show.
      Log.d(TAG, "Ad failed to show.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdShowedFullScreenContent() {
      // Called when fullscreen content is shown.
      Log.d(TAG, "Ad showed fullscreen content.")
    }

    override fun onAdImpression() {
      // Called when an impression is recorded for an ad.
      Log.d(TAG, "Ad recorded an impression.")
    }

    override fun onAdClicked() {
      // Called when ad is clicked.
      Log.d(TAG, "Ad was clicked.")
    }
  }

광고 게재하기

전면 광고는 앱 이용이 잠시 중단될 때 자연스럽게 표시되어야 합니다. 예를 들어 게임에서 다음 레벨로 넘어갈 때 또는 작업을 완료한 직후가 광고를 게재하기 좋은 시점입니다. 전면 광고를 게재하려면 show() 메서드를 사용하세요.

Java

if (interstitialAd != null) {
  interstitialAd.show(this);
} else {
  Log.d(TAG, "The interstitial ad is still loading.");
}

Kotlin

interstitialAd?.show(this)

소스 코드

GitHub의 예

성공사례

다음 단계