배너 광고는 앱 레이아웃의 일부를 차지하는 직사각형 광고입니다. 사용자가 앱과 상호작용하는 동안 배너 광고가 화면의 상단이나 하단에 앵커 형식으로 표시되거나 스크롤할 때 인라인 형식으로 콘텐츠와 함께 화면에 표시됩니다. 배너 광고 광고는 일정 시간이 지나면 자동으로 새로고침될 수 있습니다. 배너 광고 개요를 참고하세요. 를 참조하세요.
이 가이드에서는 앵커 광고 적응형 배너 광고, 이렇게 하면 각 기기의 광고 크기를 최적화하여 실적을 극대화할 수 있습니다. 지정할 수 있습니다.
고정된 적응형 배너 광고는 일반 고정 크기 광고가 아닌 고정 가로세로 비율 광고입니다. 가로세로 비율은 업계 표준 320x50과 유사합니다. 한 번 사용할 수 있는 전체 너비를 지정하면 설정합니다. 최적의 높이는 동일한 기기의 요청 간에 변경되지 않으며 광고가 새로고침될 때 주변 뷰를 이동할 필요가 없습니다.
기본 요건
- 시작 가이드를 모두 읽어보세요.
항상 테스트 광고로 테스트
앱을 빌드하고 테스트할 때는 만들 수 있습니다. 이렇게 하지 않으면 계정이 정지될 수 있습니다.
테스트 광고를 로드하는 가장 쉬운 방법은 Android 배너:
/21775744923/example/adaptive-banner
이 ID는 모든 요청에 대해 테스트 광고를 반환하도록 특별히 구성되었으며, 코딩, 테스트, 디버깅 중에 앱에서 사용할 수 있습니다. 반드시 자체 광고 단위 ID로 대체한 후에 앱을 게시하세요.
모바일 광고 SDK의 테스트 광고가 작동하는 방식을 자세히 알아보려면 테스트 광고를 참조하세요.
레이아웃에 AdManagerAdView 추가
배너를 표시하려면 먼저 앱의 레이아웃에 AdManagerAdView
를 배치해야 합니다.
자바
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
광고 로드
AdManagerAdView가 배치되었으면 다음 단계는
광고를 로드합니다. loadAd()
를 사용하면 됩니다.
AdManagerAdView
클래스에서 사용합니다. AdManagerAdRequest
가 필요합니다.
매개변수에는 타겟팅 정보와 같은
단일 광고 요청을 생성할 수 있습니다.
다음은 광고를 로드하는 방법을 보여주는 예입니다.
자바
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
광고가 로드되지 않는 경우 광고 단위가 새로고침되도록 설정한 상태이면 Google 모바일 광고 SDK에서 Ad Manager에서 지정한 새로고침 빈도를 있습니다. 새로고침을 사용 설정하지 않은 경우 새 합니다.
작업이 끝났습니다. 이제 앱에서 배너 광고를 게재할 수 있습니다.
광고 이벤트
광고의 수명 주기에서 로드, 페이지 로드, 로드 등 다양한 이벤트를 수신할 수 광고 노출 및 클릭, 광고 열기 및 닫기 이벤트가 포함됩니다. 권장 를 호출하여 배너를 로드하기 전에 콜백을 설정합니다.자바
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
AdListener
에서 재정의할 수 있는 각 메서드는 광고 수명 주기에서 발생하는 이벤트 하나에 해당합니다.
재정의가 가능한 메서드 | |
---|---|
onAdClicked() |
onAdClicked()
메서드는 클릭이 광고에 기록되면 호출됩니다.
|
onAdClosed() |
onAdClosed() 메서드는 사용자가 광고의 도착 URL을 조회한 후 앱으로 돌아가면 호출됩니다. 앱에서 이 메서드를 사용해 정지된 활동을 재개하거나 상호작용 준비에 필요한 다른 작업을 처리할 수 있습니다.
|
onAdFailedToLoad() |
onAdFailedToLoad() 메서드는 매개변수를 포함하는 유일한 메서드입니다. 유형의 오류 매개변수
LoadAdError 는 발생한 오류를 설명합니다. 자세한 내용은
자세한 내용은 광고 로드 오류 디버깅
문서를 참조하세요.
|
onAdImpression() |
onAdImpression() 메서드는 광고 노출이 기록될 때 호출됩니다.
|
onAdLoaded() |
onAdLoaded() 메서드는 광고 로드가 완료되면 실행됩니다. 지연 시간을
AdManagerAdView 추가
액티비티나 프래그먼트에 추가되어야 합니다.
여기에서 확인할 수 있습니다
|
onAdOpened() |
onAdOpened()
메서드는 광고에서 화면을 가리는 오버레이를 열면 호출됩니다.
|
동영상 광고의 하드웨어 가속
배너 광고 뷰에 동영상 광고가 제대로 표시되려면 하드웨어 가속이 사용 설정되어 있어야 합니다.
하드웨어 가속은 기본적으로 사용 설정되어 있지만 일부 앱에서는 사용 중지할 수 있습니다.
있습니다. 이 경우 앱에 하드웨어 가속을 사용 설정하는 것이 좋습니다.
광고를 사용하는 Activity
클래스
하드웨어 가속 사용 설정
하드웨어 가속을 사용 설정한 상태에서 앱이 제대로 작동하지 않는 경우
개별 활동에 대해서도
제어할 수 있습니다 사용 설정 또는
하드웨어 가속을 사용하지 않으려면 android:hardwareAccelerated
속성을
<application>
및
<activity>
요소(AndroidManifest.xml
). 다음 예에서는 앱 전체에서 하드웨어 가속을 사용하고 있지만, 활동 하나에 대해서는 하드웨어 가속을 사용 중지했습니다.
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
하드웨어 가속을 참조하세요. 가이드를 참조하세요. 하드웨어 가속을 제어하는 옵션에 관한 정보입니다. 참고: 개별 광고 보기에 하드웨어 가속을 사용할 수 없는 경우 비활성화되므로 활동 자체에 하드웨어 가속이 사용 설정되어 있어야 합니다.
수동 노출수 집계
수동 노출수 계산은 직접 판매 및 하우스에서만 사용할 수 있습니다. Ad Manager에서 직접 트래피킹된 광고 소재가 있는 캠페인을 운영할 수 있습니다 보안상 백업 광고 또는 제3자 네트워크 광고에 사용됩니다. 자세한 내용은 노출수 및 클릭수 집계를 참고하세요.
특별한 이유가 있는 경우 수동으로 Ad Manager에 노출 핑을 보낼 수
노출수가 기록되어야 하는 조건 이렇게 하려면
광고를 로드하기 전 수동 노출에 대한 AdManagerAdRequest
:
자바
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
광고가 반환되어 화면에 표시된 것이 확인되면 수동으로 노출을 기록할 수 있습니다.
자바
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
앱 이벤트
앱 이벤트를 사용하면 앱 코드에 메시지를 보낼 수 있는 광고를 만들 수 있습니다. 앱 메시지를 기반으로 조치를 취할 수 있습니다.
AppEventListener
를 사용하여 Ad Manager 관련 앱 이벤트를 수신할 수 있습니다.
이러한 이벤트는 광고가 게재되기 전에 언제든지
onAdLoaded()
가 호출됩니다.
자바
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
앱 이벤트가 발생할 때 void onAppEvent(String name, String info)
가 호출됩니다.
삽입해야 합니다. 이 인터페이스는 다음과 같이 활동 또는 기타 다른 객체에 의해 구현될 수 있습니다.
자바
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
그런 다음 AdManagerAdView
로 전달됩니다.
자바
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
다음은 앱의 배경색을 변경하는 방법을 보여주는 예입니다. 색상 이름을 가진 앱 이벤트에 따라 다음과 같습니다.
자바
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
여기 보이는 광고 소재는 색상 앱 이벤트 메시지를 리스너입니다.
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
API 데모 앱에 앱 이벤트를 구현하는 방법을 보여주는 Ad Manager 앱 이벤트 예를 참고하세요.
추가 리소스
GitHub의 예
다음 단계
접을 수 있는 배너
접을 수 있는 배너 광고는 처음에 더 큰 크기로 게재되는 배너 광고입니다. 오버레이되며, 광고를 더 작은 크기로 접는 버튼이 있습니다. 사용해 보기 실적을 더욱 최적화할 수 있습니다 자세한 내용은 접을 수 있는 배너 광고를 참조하세요.
인라인 적응형 배너
인라인 적응형 배너는 앵커 적응형 배너에 비해 더 크고 더 긴 배너입니다. 배너 광고 이 배너는 높이가 가변적이며 기기 화면 높이만큼 높을 수도 있습니다. 적응형 배너 광고보다 인라인 적응형 배너가 권장되는 경우 스크롤 가능한 콘텐츠에 배너 광고를 배치하는 앱 자세한 내용은 인라인 적응형 배너 배너를 참고해 자세히 알아보세요.