Hive가 제공하는 정형화된 배너나 페이지가 아닌, 여러분이 원하는 HTML 페이지를 띄울 수 있는 커스텀 뷰와 게시판을 띄울 수 있는 커스텀 보드, Hive 콘솔에 등록된 특정 배너를 띄울 수 있는 스팟 배너와 다이렉트 뷰를 제공합니다.

커스텀 뷰

게임 내 별도 실행 버튼으로 외부 URL 혹은 입력한 내용을 웹뷰로 노출 할 수 있는 기능을 커스텀 뷰라고 합니다. 커스텀 뷰는 한 게임에서 여러 개를 적용 할 수 있어 경우에 따라 다양한 활용이 가능합니다.

커스텀 뷰 등록하기

Hive 콘솔을 통해 커스텀 뷰를 쉽게 생성하고 구성할 수 있는 에디터를 제공합니다. 외부 링크 페이지를 표시하는 방법도 일반 커스텀 뷰를 표시하는 작업과 동일하며 외부 링크를 설정하는 작업도 Hive 콘솔을 통해 등록할 수 있습니다.

커스텀 뷰를 생성하고 등록하는 방법에 대한 자세한 내용은 Hive 콘솔 프로모션 가이드를 참고하세요.

커스텀 뷰 구현하기

Hive 콘솔에서 구성하고 등록한 커스텀 뷰나, 외부 페이지를 띄우는 커스텀 뷰를 띄우려면 다음 안내에 따라 Promotion 클래스의 showCustomContents() 메서드를 호출하세요.

  • customType 파라미터를 PromotionCustomType.VIEW로 설정하세요.
  • contentsKey 파라미터를 Hive Console > 프로모션 > 캠페인 설정 > 게임 선택 > 커스텀 뷰 탭 > 캠페인 관리명 > 커스텀 뷰 ID로 설정하세요.
Unity®

API Reference: hive.Promotion.showCustomContents

C++

API Reference: Promotion::showCustomContents

Kotlin

API Reference: Promotion.showCustomContents

Java

API Reference: Promotion.INSTANCE.showCustomContents

Swift

API Reference: PromotionInterface.showCustomContents

Objective-C

API Reference: HivePromotion:showCustomContents

커스텀 보드

커스텀 보드는 일반적인 프로모션 공지와는 다르게 해당 게임 내에서 다양한 목적으로 게시글 목록을 노출할 수 있습니다.

  • 적용 사례 예시 화면

커스텀 보드 등록하기

커스텀 보드를 생성하고 등록하는 방법에 대한 자세한 내용은 Hive 콘솔 프로모션 가이드를 참고하세요.

 

커스텀 보드 구현하기

커스텀 보드를 띄우기 위해서는 다음 안내에 따라 파라미터를 설정하여 Promotion 클래스의 showCustomContents() 메서드를 호출하세요.

  • customType 파라미터를 PromotionCustomType.BOARD로 설정하세요.
  • contentsKey 파라미터를 Hive Console > 프로모션 > 커스텀 보드 > 게임 선택 > Board Key로 설정하세요.

다음은 커스텀 보드를 띄우는 예제 코드입니다.

Unity®

API Reference: hive.Promotion.showCustomContents

C++

API Reference: Promotion::showCustomContents

Kotlin

API Reference: Promotion.showCustomContents

Java

API Reference: com.hive.Promotion.showCustomContents

Swift

API Reference: PromotionInterface.showCustomContents

Objective-C

API Reference: HivePromotion:showCustomContents

스팟 배너

게임에서 원하는 위치 또는 타이밍에 대배너를 노출할 수 있으며, 이를 스팟 배너라고 합니다. 스팟 배너를 사용하려면 Hive 콘솔 > 프로모션 > 캠페인 등록 > 스팟 배너에서 등록 후 설정하세요.

스팟 배너를 띄우려면 다음 안내에 따라 파라미터를 설정하여 Promotion 클래스의 showCustomContents() 메서드를 호출하세요.

  • customType 파라미터를 PromotionCustomType.SPOT으로 설정하세요.
  • contentsKey 파라미터를 Hive Console > 프로모션 > 캠페인 설정 > 게임 설정 > 스팟 배너 탭 > 캠페인 관리명 > 스팟 배너 ID로 설정하세요. 이 기능은 SDK v4를 적용한 게임에서만 이용할 수 있습니다.

다음은 스팟배너를 구현한 예제 코드입니다.

Unity®

API Reference: hive.Promotion.showCustomContents

C++

API Reference: Promotion::showCustomContents

Kotlin

API Reference: Promotion.showCustomContents

Java

API Reference: com.hive.Promotion.showCustomContents

Swift

API Reference: PromotionInterface.showCustomContents

Objective-C

API Reference: HivePromotion:showCustomContents

다이렉트 뷰

다이렉트 뷰란 Hive 콘솔에 등록된 캠페인 번호를 게임에서 호출하여 직접 노출하는 기능입니다. 게임에서 Hive 콘솔에 등록된 캠페인 번호를 호출하면 해당 컨텐츠를 풀 스크린 또는 프레임 타입으로 노출합니다.

Hive SDK v4.16.0부터 Hive 콘솔의 프로모션 > 캠페인 설정에서 설정한 노출타입에 따라 풀 스크린 또는 프레임 타입으로 노출할 수 있습니다.

다음은 다이렉트 뷰를 적용한 예시 화면입니다.

  • 풀 스크린 타입
  • 프레임 타입

다이렉트 뷰를 띄우려면 다음 안내에 따라 파라미터를 설정하여 Promotion 클래스의 showCustomContents() 메서드를 호출하세요.

  • customType 파라미터를 PromotionCustomType.DIRECT로 설정하세요.
  • contentsKey 파라미터를 Hive Console > 프로모션 > 캠페인 설정 > 게임 선택 > 일반배너 탭 > 캠페인 번호로 설정하세요.

다음은 다이렉트 뷰를 구현한 예제 코드입니다.

Unity®

API Reference: hive.Promotion.showCustomContents

C++

API Reference: Promotion::showCustomContents

Kotlin

API Reference: Promotion.showCustomContents

Java

API Reference: com.hive.Promotion.showCustomContents

Swift

API Reference: PromotionInterface.showCustomContents

Objective-C

API Reference: HivePromotion:showCustomContents

배너를 자체적으로 구현하기

Hive SDK는 showPromotion 메서드로 원하는 캠페인을 배너로 노출하는 기능을 제공합니다. 하지만, Hive SDK에서 제공하지 않는 배너(롤링 배너)를 노출하고 싶거나, Hive SDK에서 제공하는 배너라도 여러분이 원하는대로 커스터마이징하여 노출하고 싶을 수 있습니다.
배너를 자체적으로 구현하려면 다음 과정을 따라야합니다.

  • Hive 콘솔에 자체 구현해서 노출할 배너 정보(배너 이미지, 링크 등)를 등록합니다.
  • Hive SDK의 getBannerInfo()를 실행해 배너 구현에 필요한 정보를 Hive 서버로부터 받아옵니다.
  • 받아온 정보를 바탕으로 배너를 직접 구현해서 게임에서 노출합니다.

롤링 배너

롤링 배너는 콘텐츠가 흐르는 형태인 배너입니다. 롤링 배너는 게임 스튜디오에서 직접 구현해 노출해야 합니다.

배너 정보 조회

배너 정보 조회(getBannerInfo)는 게임 스튜디오가 배너를 직접 구현 시 베너를 원하는 규격으로 노출하는 데 필요한 정보를 얻는 기능입니다. 이 API가 Hive 서버에서 배너 구성에 필요한 데이터를 가져오면, 게임에서는 이 데이터를 사용해 원하는 방식대로 배너를 표시할 수 있습니다. 이 API를 호출하려면 인증 v1 또는 인증 v4를 반드시 초기화해야 하며, 초기화하지 않을 경우 데이터를 받아오는 과정에 문제가 발생할 수 있습니다.

API 요청 예시

Unity®

API Reference: hive.Promotion.getBannerInfo

C++

API Reference: Promotion::getBannerInfo

Kotlin

API Reference: Promotion.getBannerInfo

Java

API Reference: Promotion.INSTANCE.getBannerInfo

Swift

API Reference: PromotionInterface.getBannerInfo

Objective-C

API Reference: HIVEPromotion getBannerInfo

API 응답: PromotionBannerInfo

API 응답에서 배너 자체 구현에 필요한 배너 정보는 PromotionBannerInfo 객체에 담아 배열로 받습니다. 자세한 내용은 아래 표를 확인하세요.

필드명 타입 설명
pid Integer 프로모션 캠페인 ID
imageUrl String 캠페인 배너 이미지 URL
linkUrl String 캠페인 배너를 클릭했을 때 이동하는 URL
displayStartDate String 캠페인 시작 시각
displayEndDate String 캠페인 종료 시각
utcStartDate Integer 캠페인 시작 시각 (Unix timestamp)
utcEndDate Integer 캠페인 종료 시각 (Unix timestamp)
typeLink String 캠페인 배너를 클릭했을 때 이동하는 타입
캠페인 등록 시 선택 가능

  • webview: 내부 링크로 이동
  • webbrowser: 외부 링크로 이동
  • market: 마켓(앱스토어)으로 이동
  • notice: Hive 공지로 이동
  • text: 프로모션 텍스트 공지로 이동
  • none: 이동 안 함
typeBanner String 캠페인 배너 타입

  • great: 대배너
  • small: 일반 배너
  • rolling: 롤링 배너
typeCampaign String 프로모션 캠페인 타입

  • all: 전체
  • event: 이벤트
  • notice: 공지
  • cross: 크로스 대배너
interworkData String

게임 내 특정 위치로 이동할 수 있도록 API와 파라미터가 포함된 JSON 데이터입니다. String 포맷으로 전달됩니다.

예를 들어, 직접 구현한 이벤트 롤링 배너를 노출했을 때 어떤 유저가 이 배너를 클릭하면, 이 유저를 특정 이벤트 아이템 구매 화면으로 이동시킬 수 있습니다.

캠페인 정보 조회

Hive는 Hive 콘솔에 설정해 둔 캠페인 정보를 조회하는 기능을 제공합니다. 이 기능은 Hive 프로모션 뷰를 이용하는 대신 여러분이 Hive 콘솔에 등록해 둔 캠페인 컨텐츠를 게임에서 직접 표시하고자 할 때 유용한 기능입니다.

조회가 가능한 캠페인 정보 종류는 커스텀 뷰, 커스텀 보드, 스팟 배너, 다이렉트 뷰 4가지 종류로 모두 Promotion 클래스showCustomContents()로 표시할 수 있는 프로모션입니다.

캠페인 정보 포맷

Hive는 프로모션 정보를 PromotionViewInfo 오브젝트 배열로 반환합니다. 스팟 배너를 대배너처럼 여러 항목으로 구성할 수 있기 때문입니다. 스팟 배너를 제외한 커스텀 뷰, 커스텀 보드, 다이렉트 뷰 형태의 캠페인은 단일 형태로 구성되지만 Hive는 캠페인 종류를 구분하지 않고 모두 배열 형태로 반환합니다.

다음은 PromotionViewInfo 오브젝트 구성 정보입니다.

Name Type Description
url String 웹뷰로 로드할 페이지 URL
postString String 웹뷰 로드 시 필요한 POST 스트링

캠페인 정보 조회하기

Hive 콘솔에 등록한 캠페인 정보를 조회하려면 Hive 콘솔에 등록한 프로모션 고유 ID를 첫 번째 파라미터로 설정하여 Promotion 클래스의 getViewInfo() 메서드를 호출하세요. 그리고 조회하는 캠페인에 대한 정보를 받으려는 콜백 함수를 함께 전달하세요.

다음은 310000이라는 고유 ID를 가진 캠페인에 대한 정보를 요청하는 예제 코드입니다. Android와 iOS 예제 코드에는 Hive로부터 전달 받은 정보를 직접 웹뷰를 표시하는 코드가 함께 제공되어 있습니다.

Unity®

API Reference: hive.Promotion.getViewInfo

C++

API Reference: Promotion::getViewInfo

Kotlin

API Reference: Promotion.getViewInfo

Java

API Reference: com.hive.Promotion.getViewInfo

Swift

API Reference: PromotionInterface.getViewInfo

Objective-C

API Reference: HIVEPromotion:getViewInfo

프로모션 서버에 부가 정보 전달하기

부가 정보란 게임사 내부적으로 정의한 데이터입니다. 게임사는 부가 정보를 Hive 프로모션 서버에 전달한 후, 게임사와 컴투스플랫폼간 논의를 거쳐 이를 다양한 서비스에 활용할 수 있습니다.
예를 들어, additionalInfo에 플레이어 캐릭터 레벨 정보를 아래와 같이 정의할 수 있습니다.

 
setAdditionalInfo 메서드로 위 additionalInfo를 프로모션 서버에 전달하도록 한 후 컴투스플랫폼과 구현 내용을 협의합니다. 예를 들어, 특정 이벤트 페이지(다이렉트 뷰, 커스텀 뷰 등)를 노출 시, 캐릭터 레벨이 50 이상인 유저는 이벤트 배너 테두리를 금색으로 노출할 수 있습니다.
additionalInfo에 캠페인 번호를 넣으면 새소식 배너에 선물 상자 이미지를 추가하는 기능으로도 사용할 수 있습니다.

다음은 additionalInfo를 전달하는 예제코드 입니다.

Unity®

API Reference: hive.Promotion.setAdditionalInfo

C++

API Reference: Promotion::setAdditionalInfo

Kotlin

API Reference: Promotion.setAdditionalInfo

Java

API Reference: Promotion.INSTANCE.setAdditionalInfo

Swift

API Reference: PromotionInterface.setAdditionalInfo

Objective-C

API Reference: HIVEPromotion::setAdditionalInfo

부가 정보는 Hive SDK 프로모션 모든 기능에 활용할 수 있습니다. 따라서 모든 프로모션 기능을 구현하기 전에 부가 정보와 이를 활용하는 방법을 정의한 후 setAdditionalInfo를 가장 먼저 호출하는 것을 권장합니다.

타이틀 바 없이 이벤트 페이지 표시하기

대배너, 스팟 배너, 새소식 페이지, 다이렉트 뷰 등을 통해 이벤트 페이지에 접속 시 Hive 타이틀 바를 없앨 수 있습니다. Hive 타이틀 바 없이 이벤트 페이지를 표시하려면 showCustomContents() 메서드를 호출하기 전에 Promotion 클래스의 setAdditionalInfo() 메서드를 호출하여 헤더 필드를 "off"로 설정하세요. 아래와 같이 부가 정보(additionalInfo)를 구성해 Hive 서버에 전송하면 페이지 노출 시 타이틀 바를 제거할 수 있습니다.

다음은 타이틀 바를 해제하는 예제 코드입니다.

Unity®

API Reference: hive.Promotion.setAdditionalInfo

C++

API Reference: Promotion::setAdditionalInfo

Kotlin

API Reference: Promotion.setAdditionalInfo

Java

API Reference: Promotion.INSTANCE.setAdditionalInfo

Swift

API Reference: PromotionInterface.setAdditionalInfo

Objective-C

API Reference: HIVEPromotion setAdditionalInfo

프로모션에 동영상 광고 도입하기

Hive SDK v4.7.0부터 동영상 광고를 추가할 수 있습니다. 프로모션 도중 유저가 동영상 재생 링크를 선택하면 영상이 전체 화면으로 노출됩니다. 이 기능을 도입하기 위해 게임에서 별도 함수를 호출할 필요는 없습니다. 다만 영상 시작 전 게임 음량을 최소화하거나 음소거하는 코드를 추가하고, 영상이 종료된 이후에는 원래 음량으로 되돌리는 작업을 진행해야 합니다.

  • 영상 시작 전후 상태는 프로모션을 호출한 API의 핸들러로 전달됩니다. 이 때 PromotionViewResultType으로 StartPlayback, FinishPlayback이 전달되며, Result API의 code 값으로 kPromotionStartPlayback, kPromotionFinishPlayback이 각각 전달됩니다.
    • iOS Xcode에 추가해야 하는 WebKit.framework, libz.tbd 두 가지 프레임워크가 추가되었습니다.

다음은 프로모션에 동영상 광고를 도입하기 위해 게임 음량을 조절하는 예제 코드입니다.

Unity®

API Reference: onPromotionView

C++

API Reference: onPromotionView

Kotlin

API Reference: onPromotionView

Java

API Reference: Promotion.PromotionViewListener

Swift

API Reference: PromotionViewHandler

Objective-C

API Reference: HIVEPromotionViewHandler