앱 오프닝 광고는 앱 로드 화면에서 수익을 창출하려는 게시자를 위한 광고 형식입니다. 사용자는 언제든지 앱 오프닝 광고를 닫을 수 있습니다. 사용자가 앱을 포그라운드로 가져올 때 앱 오프닝 광고를 표시합니다.
자세한 내용은 앱 오프닝 광고 가이드를 참고하세요.이 가이드에서는 앱 오프닝 광고를 Android 앱에 통합하는 방법을 설명합니다.
시작하기 전에
계속하기 전에 다음을 수행하세요.
- GMA Next-Gen SDK를 설정합니다.
- 테스트 앱 오프닝 광고 단위 ID
ca-app-pub-3940256099942544/9257395921를 사용합니다.- 앱을 빌드하고 테스트할 때는 운영 중인 실제 광고 대신 테스트 광고를 사용하세요. 테스트 광고 단위 ID를 사용하지 않으면 Google에서 계정을 정지할 수 있습니다.
- 앱을 게시하기 전에 이 ID를 광고 단위 ID로 바꿔야 합니다.
- GMA Next-Gen SDK 테스트 광고에 관한 자세한 내용은 테스트 광고 사용 설정을 참고하세요.
광고 로드하기
다음 예에서는 단일 광고를 로드합니다.
Kotlin
// Load ads after you initialize MobileAds. AppOpenAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<AppOpenAd> { override fun onAdLoaded(ad: AppOpenAd) { // App open ad loaded. appOpenAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: ${adError.message}") appOpenAd = null } }, )
자바
// Load ads after you initialize MobileAds. AppOpenAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<AppOpenAd>() { @Override public void onAdLoaded(AppOpenAd ad) { // App open ad loaded. appOpenAd = ad; } @Override public void onAdFailedToLoad(LoadAdError adError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: " + adError.getMessage()); appOpenAd = null; } });
테스트할 때는 테스트 광고 단위 ID ca-app-pub-3940256099942544/9257395921를 사용하세요.
광고 게재
앱 오프닝 광고를 표시하려면show 메서드를 호출합니다. 앱 오프닝 광고는 로드 후 4시간이 지나면 만료됩니다. 4시간 넘게 로드 중인 앱 오프닝 광고는 표시하지 마세요.
다음 예에서는 광고를 표시합니다.
Kotlin
private fun showAd(appOpenAd: AppOpenAd, activity: Activity) { // Show the ad. appOpenAd.show(activity) }
자바
private void showAd(AppOpenAd appOpenAd, Activity activity) { // Show the ad. appOpenAd.show(activity); }
콜드 스타트 및 로드 화면 처리
콜드 스타트는 앱이 디스크에서 실행될 때 발생하고 웜 스타트는 메모리에서 앱을 다시 열 때 발생합니다. 콜드 스타트 중에는 이전에 로드된 광고를 표시할 수 없습니다. 웜 스타트 중에는 로드된 광고를 계속 표시할 수 있습니다.
콜드 스타트 중에 사용자는 앱이 로드되고 광고가 표시되기 전에 앱과 상호작용할 수 있습니다. 사용자 경험이 저하되지 않도록 하려면 앱 확장 소재가 로드되는 동안 로드 화면에서만 콜드 스타트 시 앱 오프닝 광고를 표시하세요. 사용자가 앱이 로드되기를 기다리는 동안 앱 오프닝 광고를 표시합니다. 앱을 처음 시작할 때 앱 오프닝 광고를 표시하지 마세요. 애셋 로드가 완료되고 사용자가 광고가 로드되기 전에 기본 콘텐츠에 도달하면 광고를 표시하지 않습니다.
광고가 표시되는 동안 로드가 계속되도록 백그라운드 스레드에서 앱 확장 소재를 로드합니다. 광고가 표시되는 동안 로드 화면의 로드가 완료되면 광고 닫기 콜백 메서드에서 로드 화면을 닫습니다.
광고 이벤트 수신 대기
광고를 표시하기 전에 광고 수명 주기 이벤트를 수신 대기합니다. 다음 예에서는 광고 이벤트의 콜백을 등록합니다.
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = appOpenAd if (ad == null) { Log.e(TAG, "App open ad is not ready yet.") return } ad.adEventCallback = object : AppOpenAdEventCallback { override fun onAdShowedFullScreenContent() { // App open ad did show. } override fun onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // App open ad did record an impression. } override fun onAdClicked() { // App open ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (appOpenAd == null) { Log.e(TAG, "App open ad is not ready yet."); return; } appOpenAd.setAdEventCallback( new AppOpenAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // App open ad did show. } @Override public void onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // App open ad did record an impression. } @Override public void onAdClicked() { // App open ad did record a click. } }); }