안드로이드의 배너 광고 연동
배너는 사각 형태의 자동으로 시작되는 광고이며 정적 또는 동적 컨텐츠 모두 지원됩니다. 앱 컨텐츠 주변의 지정된 위치에서 게재됩니다.
배너 광고 객체 생성 및 사이즈 설정
배너 광고 객체 생성은 OnInitSuccess 콜백 메시지 수신후에 수행해야 합니다.
// Create the banner view and set the ad unit id
LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId");
배너 사이즈
LevelPlayAdSize | 설명 | DP 기준 크기 (폭 X 높이) |
BANNER | 표준 배너 | 320 x 50 |
LARGE | 대형 배너 | 320 x 90 |
MEDIUM_RECTANGLE | 중간 사각형 배너 (MREC) | 300 x 250 |
적응형 | 휴대폰 및 태블릿 기기의 사이즈 및 방향에 따라 광고 크기를 조정 |
기기 폭 X에 대해 최적화된 높이로 설정 |
배너 사이즈 설정을 위해서는 아래 중 한 가지 방법으로 설정합니다:
화면 폭에 따라 크기가 조정되는 적응형 배너 광고 사이즈 (권장):
이 옵션은 기기의 타입에 따라 BANNER 또는 LEADERBOARD 사이즈를 반환합니다.
그 외에 적응형 배너 사이즈를 지원하는 광고 네트워크들 (Google, Yandex)의 경우에는 네트워크의 사이즈 최적화 로직에 따라 높이가 결정되어 반환됩니다.
특정 배너 사이즈 지정:
이 옵션을 사용하면 다음 중 하나의 특정 배너 사이즈로 광고 크기를 지정할 수 있습니다: BANNER, LARGE, MEDIUM_RECTANGLE.
플레이스먼트
배너 광고에서 플레이스먼트는 리포팅 용도에 한해 지원됩니다. 코드 상에서 플레이스먼트를 loadAd 호출 전에 설정되어야 최초 로딩되는 광고 및 갱신되는 광고에 대해 모두 적용할 수 있습니다.
배너 리스너 설정
코드 상에 LevelPlayBannerAdViewListener를 구현해 광고 로드 및 송출 관련 정보를 수신할 수 있도록 합니다.
- 배너 광고 로드 전에 리스너를 설정하는 것이 좋습니다.
- 각 배너 광고 Ad Unit 객체 별로 리스너가 구현 및 할당되어야 합니다.
- 콜백 함수는 메인 스레드에서 실행됩니다.
- 콜백 함수가 모든 네트워크에서 지원되는 사항이 아닐 경우, 해당 콜백 함수 구현은 선택 사항입니다.
levelPlayBanner.setBannerListener(new LevelPlayBannerAdViewListener() {
@Override
public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {
// Ad was loaded successfully
}
@Override
public void onAdLoadFailed(@NonNull LevelPlayAdError error) {
// Ad load failed
}
@Override
public void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {
// Ad was displayed and visible on screen
}
@Override
public void onAdDisplayFailed(@NonNull LevelPlayAdInfo adInfo, @NonNull LevelPlayAdError error) {
// Optional. Ad failed to be displayed on screen
}
@Override
public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {
// Ad was clicked
}
@Override
public void onAdExpanded(@NonNull LevelPlayAdInfo adInfo) {
// Optional. Ad is opened on full screen
}
@Override
public void onAdCollapsed(@NonNull LevelPlayAdInfo adInfo) {
// Optional. Ad is restored to its original size
}
@Override
public void onAdLeftApplication(@NonNull LevelPlayAdInfo adInfo)
// Optional. User pressed on the ad and was navigated out of the app
}
});
레벨플레이 Ad Info
LevelPlayAdInfo 파라미터에는 로드된 광고에 관한 정보가 포함되어 있습니다.
LevelPlayAdInfo 클래스의 구현과 클래스 내 사용 가능한 필드에 대한 자세한 설명은 여기를 참고하세요.
배너 광고 로드
loadAd API를 사용하여 배너 광고를 로드합니다.
배너 갱신 일시 정지 및 재개
플랫폼 상에서 배너 갱신 주기 값이 정의되어 있는 경우, 코드상에서 배너 갱신을 일시 정지시킬 수 있습니다. 하기의 메서드들을 사용해 배너 광고 자동 갱신을 일시 정지시키거나, 일시정지된 배너의 자동 갱신을 재개합니다.
일시 정지되었던 배너 광고가 다시 표시되면, 배너가 일시정지될 때 시간부터 리프레시 주기까지 남았던 시간이 지난 후 배너가 갱신됩니다.
- pauseAutoRefresh – 배너 광고의 자동 갱신을 일시 정지합니다.
- resumeAutoRefresh – 일시정지된 배너 광고의 자동 갱신을 재개합니다.
// Pause refresh
levelPlayBanner.pauseAutoRefresh();
// Resume refresh
levelPlayBanner.resumeAutoRefresh();
배너 광고 삭제
배너 광고를 삭제하려면, destroy 메서드를 호출하려 배너 객체를 삭제합니다.
삭제된 배너 광고는 더 이상 표시가 불가능합니다. 배너 광고를 더 표시하려면, LevelPlayBannerAdView 객체를 새로 생성합니다.
배너 광고 연동 구현 전체 예제
적응형 배너 사이즈로 배너 광고 객체를 생성하고 로드하는 예제입니다.
public void createAndLoadBanner() {
// Create the banner view and set the ad unit id
LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId");
// Set the placement name (optional)
levelPlayBanner.setPlacementName("placementName");
// Create the adaptive ad size to support both adaptive, banner and leaderboard (recommended)
LevelPlayAdSize adSize = LevelPlayAdSize.createAdaptiveAdSize(context);
// Required when using createAdaptiveAdSize()
if (adSize != null) {
levelPlayBanner.setAdSize(adSize);
}
// Add the banner view to the container
ViewGroup adContainer = findViewById(android.R.id.adContainer);
adContainer.addView(levelPlayBanner);
// Load the banner ad
levelPlayBanner.loadAd();
// To get actual banner layout size (either custom/standard size or adaptive)
height = adSize.getHeight();
width = adSize.getWidth();
}
레벨플레이 미디에이션 데모 앱
연동 데모 앱에서 배너 Ad Unit API를 사용하여 배너를 앱에 연동하는 방법 예제를 확인할 수 있습니다.
완료했습니다!
이제 앱에서 배너를 송출할 준비가 끝났습니다. 연동이 잘 되었는지를 저희가 제공하는 연동 Test Suite를 사용해 확인하세요.
아래의 연동 가이드를 따라서 배너 광고 네트워크를 추가하거나, 다른 광고 포맷을 설정 및 연동해 보세요: