전면 배너 띄우기
Hive는 다음과 같은 목적으로 전면 배너를 제공합니다.
- 게임을 이용하는 유저에게 이벤트를 효과적으로 노출
- 이용중인 게임에 더 많은 참여를 유도하는 목적으로 활용
- 다른 게임을 광고하고 보상을 제공하는 크로스 프로모션으로 활용
Hive가 정의하는 배너는 글자 없이 이미지 하나를 통째로 올리는 형식의 프로모션 뷰를 의미합니다. 유저가 배너를 클릭하면 콘솔에 등록된 내용에 따라 상세 페이지, 외부 페이지, 또는 광고 게임의 다운로드 페이지로 이동합니다. 배너 이미지를 전체 화면에 표시하는 전면 배너 특성상 로그인 직후 게임 로비에 진입하는 시점에 노출하기를 권장합니다.
콘솔에 전면 배너 등록하기¶
배너 이미지는 가로, 세로 모드에 따라 다음과 같이 안내하는 크기로 제작하여 콘솔에 등록하세요. 전면 배너를 등록하는 방법에 대한 자세한 내용은 콘솔 프로모션 가이드를 참고하세요.
- 프로모션 배너 이미지 사이즈
- 가로 모드: 1080x720 px
- 세로 모드: 720x1080 px
- PC 환경에서 고해상도 배너로 노출을 원한다면 2160x1440 px 이미지를 등록해주세요.
전면 배너 띄우기¶
전면 배너를 표시하려면 PromotionType.BANNER
파라미터를 포함하여 Promotion 클래스의 showPromotion()
메서드를 호출합니다. Hive SDK v4.12.1부터 PromotionType.BANNER
는 웹 배너, 이외의 경우에는 이미지 뷰 형태로 적용되었습니다. PromotionType.BANNERLEGACY
를 호출할 때는 기존과 동일하게 웹뷰가 적용된 배너를 노출합니다.
PromotionType.BANNER
타입으로 전면 배너를 띄울 때는 Hive SDK 초기화 과정에 비동기로 저장(캐싱)된 앱 내 저장소 영역의 이미지를 노출합니다. 캐싱된 이미지가 없다면 이미지를 즉시 다운로드 하여 노출합니다.
전면 배너 하단의 'n일 동안 보지 않기' 기능은 Hive 콘솔에 전면 배너 등록 시 1~7일 사이의 보지 않기 기간을 설정하는 기능입니다. 그만 보기 기준은 날짜가 변경되는 해당 지역 로컬 시간의 자정입니다. 자세한 내용은 콘솔 프로모션 가이드를 참고하세요.
Note
PromotionType.BANNER
타입은 isForced
옵션을 지원하지 않습니다.
다음은 전면 배너를 띄우는 예제 코드입니다.
API Reference: hive.Promotion.showPromotion
using hive;
PromotionType promotionViewType = PromotionType.BANNER;
// isForced is ignored when PromotionType.BANNER
Boolean isForced = false;
// Display a large banner
Promotion.showPromotion(promotionViewType, isForced, (ResultAPI result, PromotionEventType viewEventType) => {
if (result.isSuccess()) {
// call successful
}
});
#include "HivePromotion.h"
EHivePromotionType PromotionType = EHivePromotionType::BANNER;
// isForced is ignored when EHivePromotionType::BANNER
bool bIsForced = false;
FHivePromotion::ShowPromotion(PromotionType, bIsForced, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (Result.IsSuccess()) {
// API 호출 성공
}
}));
API Reference: Promotion::showPromotion
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
PromotionType promotionViewType = PromotionType::BANNER;
// isForced is ignored when PromotionType::BANNER
bool isForced = false;
Promotion::showPromotion(promotionViewType, isForced, [=](ResultAPI result, PromotionEventType viewEventType) {
if (result.isSuccess()) {
// call successful
}
});
API Reference: Promotion.showPromotion
import com.hive.Promotion;
import com.hive.ResultAPI;
val promotionViewType = Promotion.PromotionViewType.BANNER
// isForced is ignored when Promotion.PromotionViewType.BANNER
val isForced = false
Promotion.showPromotion(promotionViewType, isForced, object : Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (result.isSuccess) {
// call successful
}
}
})
API Reference: com.hive.Promotion.showPromotion
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionViewType promotionViewType = Promotion.PromotionViewType.BANNER;
// isForced is ignored when Promotion.PromotionViewType.BANNER
boolean isForced = false;
Promotion.INSTANCE.showPromotion(promotionViewType, isForced, (result, promotionEventType) -> {
if (result.isSuccess()) {
// call successful
}
});
API Reference: PromotionInterface.showPromotion
API Reference: HIVEPromotion::showPromotion
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionViewType promotionViewType = HIVEPromotionViewTypeBANNER;
// isForced is ignored when HIVEPromotionViewTypeBANNER
BOOL isForced = NO;
[HIVEPromotion showPromotion: promotionViewType isForced: isForced handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) {
if ([result isSuccess]) {
// call successful
}
}];
Warning
Hive SDK는 서버마다 서로 다른 프로모션 배너를 띄울 수 있으며, 일반 배너, 전면 배너, 미디어 배너, 스팟 배너, 커스텀 뷰, 롤링 배너, 커스텀 보드에서 이 기능을 지원합니다. 서버마다 다른 배너를 띄우기 위해 다른 서버로 스위칭할 때에는 Configuration.setServerId
가 아니라 Configuration.updateServerId
를 사용해야 합니다.
크로스 프로모션 전면 배너 노출 제어¶
showPromotion()
메서드를 호출하면 기존에 등록한 모든 전면 배너를 노출하는데, Hive SDK v4 24.2.0 부터는 크로스 프로모션 전면 배너 노출 여부를 선택할 수 있습니다.
showPromotion()
메서드를 호출하기 전에 Configuration.setCrossPromotionBannerShowing(false)
를 먼저 호출하면 앱 실행 시 크로스 프로모션 전면 배너를 노출하지 않으며, true
로 호출하면 노출합니다. 이 메서드는 앱이 활성화된 상태에서 계속 영향을 미치기 때문에, Hive SDK 초기화 이후 showPromotion()
메서드 호출 전 한 번만 호출해도 괜찮습니다. 앱이 활성화된 상태에서 값을 변경(true
또는 false
)하여 재호출하면 노출 또는 미 노출 여부를 변경할 수 있습니다.
Note
showCustomContents()
메서드로 스팟 배너를 통해 크로스 프로모션 전면 광고를 노출하는 경우에도 Configuration.setCrossPromotionBannerShowing()
호출의 영향을 받습니다.