전면 광고는 호스트 앱의 인터페이스를 가리는 전체 화면 광고입니다. 일반적으로 앱 이용 중 자연스러운 전환 시점에 표시됩니다. 활동 사이 또는 게임에서 다음 레벨로 넘어갈 때 멈출 때처럼 말이죠 앱에 전면 광고가 표시될 때 사용자는 도착 페이지로 이동하거나 광고를 닫고 앱으로 돌아갈 수 있습니다.
이 가이드에서는 전면 광고를 Android에 통합하는 방법을 설명합니다. 있습니다.
기본 요건
- Google 모바일 광고 SDK 19.7.0 이상
- 시작 가이드를 모두 읽어보세요.
항상 테스트 광고로 테스트
앱을 빌드하고 테스트할 때는 만들 수 있습니다. 이렇게 하지 않으면 계정이 정지될 수 있습니다.
테스트 광고를 로드하는 가장 쉬운 방법은 Android 전면 광고:
/21775744923/example/interstitial
이 ID는 모든 요청에 대해 테스트 광고를 반환하도록 특별히 구성되었으며, 코딩, 테스트, 디버깅 중에 앱에서 자유롭게 사용할 수 있습니다. 원하는 대로 앱을 게시하기 전에 이 ID를 자체 광고 단위 ID로 바꿔야 합니다.
모바일 광고 SDK의 테스트 광고가 작동하는 방식을 자세히 알아보려면 다음을 참고하세요. 테스트 광고.
광고 로드
전면 광고를 로드하려면 AdManagerInterstitialAd
를 호출합니다.
정적
load()
메서드를 호출하고
AdManagerInterstitialAdLoadCallback
: 로드된
오류가 있을 수 있습니다. 다른 형식 로드 콜백과 마찬가지로
AdManagerInterstitialAdLoadCallback
에서 활용
LoadAdError
: 정확성이 더 높은 오류 세부정보를 제공합니다.
자바
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var adRequest = AdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
FullScreenContentCallback 설정
FullScreenContentCallback
는 앱 표시와 관련된 이벤트를 처리합니다.
InterstitialAd
입니다. InterstitialAd
표시 전에
콜백을 사용합니다.
자바
mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad dismissed fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
});
Kotlin
mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
Log.d(TAG, "Ad dismissed fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
}
광고 게재
전면 광고는 앱 이용이 잠시 중단될 때 자연스럽게 표시되어야 합니다.
예를 들어 게임에서 다음 레벨로 넘어갈 때 또는 작업을 완료한 직후가 좋은 예입니다.
전면 광고를 게재하려면
show()
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다.
자바
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.show(this)
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.")
}
권장사항
- 전면 광고가 앱에 적합한 광고 유형인지 생각해 보세요.
- 전면 광고는 자연스러운 전환 지점이 있는 앱에서 가장 효과적입니다. 이미지 공유 또는 작업 완료와 같이 앱 내에서 작업이 완료되는 순간 그러한 지점을 만듭니다. 실험의 어떤 지점에서 성공해야 하는지 앱의 워크플로에서 전면 광고를 표시하고 사용자가 있습니다.
- 전면 광고를 표시할 때는 작업을 일시중지해야 합니다.
- 전면 광고에는 텍스트, 이미지, 확인할 수 있습니다. 앱에서 삽입 광고의 경우 광고가 다시 게재될 수 있도록 일부 리소스의 사용도 활용할 수 있습니다 예를 들어 앱에서 재생되는 오디오 출력을 일시중지해야 합니다.
- 로드 시간을 충분히 확보하세요.
- 적절한 위치에 전면 광고를 표시하는 것도 중요하듯이
적절한 때에, 사용자가 너무 많은 시간을 낭비하지 않도록
로드될 때까지 기다리지 않아도 됩니다 를 호출하여 미리 광고 로드하기
호출 전
load()
show()
를 사용하면 다음 시점에 앱에서 완전히 로드된 전면 광고가 표시할 수 있습니다. - 사용자에게 광고를 지나치게 많이 게재하지 않습니다.
- 앱에 게재되는 전면 광고의 게재빈도가 늘어나는 것처럼 보일 수 있지만 이용 만족도가 떨어질 수 있으므로 클릭률 감소 사용자가 너무 자주 더 이상 앱 사용을 즐길 수 없다고 알립니다.
GitHub의 예
다음 단계
- 광고 타겟팅에 대해 자세히 알아보세요.
- 사용자 개인 정보 보호에 대해 자세히 알아보기
- 최적화된 SDK 초기화 및 광고 로드살펴보기 (베타)에서 사용할 수 있습니다.