머큐리는 웹뷰를 통해 공지사항, 하우스 애드, 커스텀 웹뷰, 배지 이벤트 배너를 노출한다.

전체 공지사항 및 모듈 적용한 앱의 공지사항 노출

Hive 공지사항을 연동하여 머큐리를 적용한 앱 및 전체 게임을 대상으로 공지사항을 노출하고, 공지사항은 Hive 백오피스에서 관리한다.

웹 이벤트 및 크로스 프로모션 노출

머큐리를 적용한 앱에 한정된 이벤트나 전체 이벤트, 크로스 프로모션에 관련한 정보를 노출

추천 게임 노출

Hive 추천게임과 Hive에서 유저 다운로드 기록을 확인하여, 현재 유저가 다운받지 않은 게임을 추천
Hive의 추천게임은 우선순위가 있음

커스텀 웹뷰 & 뱃지

게임 내에서 외부 컨텐츠를 웹뷰로 노출

  • 게임 내 별도 실행 버튼으로 외부 URL혹은 입력한 내용을 웹뷰로 노출 할 수 있는 머큐리 기능

다양하게 활용 가능한 게임 내 웹뷰 시스템

  • 다국어 지원은 물론 한 게임에 여러 개의 웹뷰를 적용 할 수 있어 경우에 따라 다양한 활용이 가능

머큐리

UI

광고 이미지는 450×800, 800×450 크기로 제작하여 백오피스에 업로드한다.

  • SDK v1.18.4 이상 버전일 때

(좌) Landscape (우) Portrait

  • SDK v1.18.3 이하 버전일 때

(좌) Landscape (우) Portrait

기본 구성

새소식과 대배너 두가지로 구성됨

새소식

– 다른 이름: 이벤트, 띠배너
– 기본 구성은 다음과 같음

Full Banner

  • 다른 이름: 대배너
  • 목적 CPI & Event (우선순위 : CPI/CPA > Event)
  • SDK v1.18.4 이상 버전일 때
  • SDK v1.18.3 이하 버전일 때

Web Banner
웹 배너는 대배너 노출 시점에 이미지 배너가 아닌 웹 페이지를 노출하는 기능이다.

  • URL 주소가 있는 웹 페이지는 모두 등록할 수 있다.
  • 동영상이 포함된 웹 페이지의 경우, 동영상 플랫폼이 유튜브가 아니면 안정적인 재생을 보장할 수 없으므로 유튜브 사용을 권장한다.
  • 유저가 동영상을 재생할 경우 영상이 전체 화면으로 노출된다. 이를 위해 게임에서는 영상 시작 전 게임 음량을 최소화하거나 음소거하는 코드를 추가하고, 영상이 종료된 이후에는 원래 음량으로 되돌리는 작업이 필요하다.

 

 Notice와 Event의 차이

  • Notice => Notice 상단, Event 배너 하단

  • Event => Event 배너 상단, Notice 하단

 

머큐리 이벤트

mq_redirect를 사용하면 머큐리 이벤트 페이지를 바로 출력할 수 있다.

(addtionalInfo에 {“mq_redirect“:”이벤트 번호“} 를 적용하여 호출하면 백오피스에 등록된 머큐리 이벤트 페이지가 머큐리 메인페이지를 출력하지 않고 바로 해당 이벤트 페이지가 출력된다.)

                (“header”:”on” 시 이벤트 페이지 )

ex)”addtionalInfo”:”{“server”:”서버 지역 코드값”,”character”:”0″, “mq_redirect”:”이벤트번호”}”

 

mq_redirect로 호출할 때, 2016/07/04일 이후 등록된 이벤트에 한해 “header”:”off”를 추가하면 이벤트 페이지 상단의 헤더가 나타나지 않는다.

                (“header”:”off” 시 이벤트 페이지)

ex)”addtionalInfo”:”{“server”:”서버 지역 코드값”,”character”:”0″, “mq_redirect”:”이벤트번호”, “header”:”off”}”

 

  • 머큐리 이벤트 페이지 연결 시 전달하는 데이터
key 설명 비고
 uid  유저 uid 또는 vid
 hash  유저 (uid 또는 vid)를 검증하기 위한 암호화 데이터
 did  단말 고유 아이디
 lang  브라우저 언어(단말 설정 언어)
 go_back  머큐리 내부 이동시 상단 “돌아가기” 링크 주소
 title  머큐리 내부 이동시 상단 타이틀
 main  머큐리 내부 이동시 상단 “돌아가기” 텍스트
 eld  이벤트 번호
 addtionalinfo  게임 클라이언트 추가 정보 전달 서버정보 등…

 

 

  • 머큐리는 다음의 정보를 가지고 있다.

  • AppID: (com.com2us.smon.~, com.gamevil.dragonblaze.~ 형태)

  • 기본 언어: 영어
    1. 머큐리 공지사항 노출 언어 결정 방식
조건 공지 Type 머큐리 언어 공지 등록 여부 Default 언어 공지 등록 여부 최종 노출 공지사항 언어
 조건1 게임공지 O 머큐리 언어
전체공지
 조건2 게임공지 X O Default 언어
전체공지
 조건3 게임공지 X X 머큐리 언어
전체공지 O
 조건4 게임공지 X X Default 언어
전체공지 X O
 조건5 게임공지 X X NULL
전체공지 X X

예시)
해당 AppID에 등록된 공지 = 게임 공지
Hive 전체 공지, Com2uS 전체 공지, Gamevil 전체 공지 = 전체 공지
머큐리 언어 = 프랑스어, Default 언어 = 영어로 설정

1) 프랑스어로 등록된 게임 공지가 있는가? 프랑스어, 없으면 2) 로
2) 영어로 등록된 게임 공지가 있는가? 영어, 없으면 3) 로
3) 프랑스어로 등록된 전체 공지가 있는가? 프랑스어, 없으면 4) 로
4) 영어로 등록된 전체 공지가 있는가? 영어, 없으면 노출되는 공지사항 없음.

2. 머큐리 공지사항 리스트 순서 결정 방식
1) TOP 설정 ON인 게임 공지를 TOP 순에 따라 노출 (마지막에 TOP으로 설정된 공지사항이 최상단에
노출)
2) TOP 설정 ON인 전체 공지를 TOP 순에 따라
3) TOP 설정 OFF인 나머지 공지를 등록일에 따라 (등록일이 최신일수록 상단으로 노출)


리뷰 팝업

유저에게 마켓 리뷰(별점)를 유도하는 팝업
(16개국 언어를 지원하며 디폴트 언어는 영어)

게임 더보기 팝업

More games는 App종료 시 노출하게 하는 팝업으로 Hive 탑재
게임을 추천하며, ios는 정책 위반으로 Android만 지원
(16개국 언어를 지원하며 기본 언어는 영어)

Android 별점 리뷰 팝업 조건

Hive SDK v1.19.1 버전부터 Android 환경에서 게임을 이용하는 유저라면 게임 실행 중에 리뷰를 남길 수 있는 기능을 제공합니다. 기존 리뷰 팝업과 달리 마켓으로 이동하지 않아도 만족도 평가가 가능하며, 리뷰 요청에 응할 경우 작성 페이지로 즉시 이동합니다. 다음과 같이 Google에서 제공하는 정책에 따라 Android 별점 리뷰 팝업이 노출됩니다.

  • 리뷰 팝업은 구글 내부 정책에 따라 노출 여부가 결정되며, 수동으로 노출 여부 변경이 불가능 합니다.
  • Google Play 스토어가 설치되었으며 Android 5.0(API 수준 21) 이상을 실행하는 Android 기기에서 노출 가능합니다.
  • 사용자 개인정보 보호를 강화하고 API 오용을 방지하기 위해, 구글 가이드내용에 따라 API 호출 권장 합니다.
  • 개발 중인 빌드에서도 구글 내부 정책에 따라 노출 여부가 결정되며, 항상 노출을 위한 설정을 위해서는 해당 구글 가이드를 참고하세요.

Android 별점 리뷰 팝업 띄우기

  • Android 별점 리뷰 팝업 스크린샷

Android 별점 리뷰 팝업을 띄우려면 C2SModulePromotion 클래스의 show() 메서드를 type 값 reviewEx로 설정하여 호출하세요.

Unity®

C++

Android

iOS


iOS 인게임 리뷰 팝업

iOS 환경에서는 게임 상에서 리뷰를 남길 수 있다. 기존의 리뷰 팝업과 달리 마켓으로 이동하지 않아도 별점 제출이 가능하며, 리뷰 요청에 응할 경우 작성 페이지로 즉시 이동한다.

정책

iOS 인게임 리뷰 팝업을 사용하기 위해 Hive가 권장하는 정책은 다음과 같다.

  • Hive에서 제공하는 게임 리뷰 팝업을 그대로 사용하더라도 iOS 인게임 리뷰 팝업과 동시 사용 가능
  • 게임마다 다르게 설정한 리뷰 팝업을 사용하는 경우에는 iOS 인게임 리뷰 팝업과 동시 사용 불가
  • Hive SDK v1.16.0, v4.10.0 이상 버전에서 동작

Apple에서 제공하는 정책에 따라 iOS 인게임 리뷰 팝업이 노출된다.

  • 노출 순서나 텍스트, UI 등을 임의로 변경 불가
  • 팝업은 각 앱에서 디바이스별 연 3회 까지만 노출되며, 노출 여부는 Apple 내부 정책에 따라 동작하므로 수동으로 변경 불가
  • iOS 10.3 이상 버전에서 동작
  • 유저가 기기 설정에서 ‘앱 내 평가 및 리뷰’ 항목을 비활성화(OFF)한 경우 노출되지 않음
  • 개발 중인 빌드에서는 노출 횟수와 관계 없이 항상 노출되며, 마켓에 평점을 제출 할 수 없음

iOS 인게임 리뷰 팝업을 지원하지 않는 OS나 Android 기기에서 해당 API를 호출하는 경우 기존 Hive SDK에서 제공하는 리뷰 팝업이 노출되며, 기존 리뷰 팝업의 노출 조건과 동일하다.

iOS 인게임 리뷰 팝업 표시하기
  • iOS 인게임 리뷰 팝업 스크린샷

Hive 웹

PC & 모바일 웹
공지사항 내 Check 된 AppID 마켓이 Google 또는 Apple이 포함된 공지사항 + 전체공지 (Hive 전체 공지, 컴투스 전체 공지, 컴투스홀딩스 전체 공지)를 등록일 순으로 노출
INGAME
해당 게임의 마켓 정보에 따라 공지사항 내 Check 된 AppID 마켓이 해당 게임 마켓과 동일한 공지사항 + Hive 전체 공지 + 해당 게임 회사 정보의 전체 공지를 등록일 순으로 노출

 

오퍼월

머큐리 함수 (C2SModulePromotion_Show)를 통해 오퍼월을 호출할 수 있다.


커스텀 웹뷰

커스텀 뷰는 다음과 같은 커스텀 기능을 제공한다. 

  • 게임 내 별도 실행 버튼으로 외부 URL 혹은 입력한 내용을 뷰로 노출할 수 있다.
  • 한 게임에서 여러 개의 뷰를 적용 할 수 있어 경우에 따라 다양한 활용이 가능하다.
  • 커스텀 뷰 UI는 콘솔에서 전체 화면과 프레임 두 가지 타입 중에 한 가지로 선택할 수 있으며, 원하는 색상으로 커스터마이징이 가능하다.
  • 커스텀 뷰와 커스텀 보드는 콘솔에서 설정한 UI 타입으로 일괄 적용된다.


[전체 화면과 프레임 형태]

커스텀 보드

커스텀 보드는 게임별로 일반 공지 외 해당 게임 내에서만 노출할 수 있는 게시글을 노출하기 위해 만들어짐
게시글은 운영자가 등록한 글만 노출된다.
View는 머큐리 View를 사용
커스텀 보드 생성시 발급되는 커스텀 보드 key를 게임에서 사용한다.

배너 정보 API

Hive SDK v1.18.3부터 게임에서 배너를 원하는 규격으로 자유롭게 노출할 수 있도록 지원한다. Hive에서 제공하는 API가 배너 데이터를 가져오면, 게임에서는 제공받은 데이터를 활용하여 특정 위치에 배너를 표시할 수 있다. 배너 이미지 등록과 설정은 Hive 콘솔에서 진행하며 대배너/일반 배너 등록 방법과 동일하다. 배너 API를 호출하려면 인증 v1 또는 인증 v4를 반드시 초기화해야 하며, 초기화하지 않을 경우 데이터를 받아오는 과정에 문제가 발생할 수 있다. 데이터를 정상적으로 전달받았다면 API를 적용한 배너 클릭 시 전달받은 pid(Integer) 값을 C2SModulePromotion_Show API의 mq_redirect에 추가하여 다이렉트 배너 커스텀 뷰 형태로 노출할 수도 있다.

적용 예시 화면

API를 호출할 때 배너 정보는 GetBannerInfo 오브젝트에 담아 배열로 반환한다.

argument name type desc platform 비고
campaignType string all: 모든 타입
event: 이벤트 타입
notice: 공지 타입
cross: 크로스 타입
all 1.18.3+
(cross 타입은 1.20.3.2+)
bannerType string great: 대배너
small: 일반 배너
rolling: 롤링 배너
all 1.18.3+
Unity®

Cocos2D-X

iOS

 

도식도

 

C2SModulePromotion_Show

프로모션 뷰를 출력 한다. 또한  머큐리 이벤트 페이지를 출력할 수 있다. 
(addtionalInfo에 {“mq_redirect”:”이벤트 번호”} 를 적용하여 호출하면 백오피스에 등록된 머큐리 이벤트 페이지가 머큐리 메인페이지를 출력하지 않고 바로 해당 이벤트 페이지가 출력된다.)
(mq_redirect로 호출할 때, 2016/07/04일 이후 등록된 이벤트에 한해 “header”:”off”를 추가하면 이벤트 페이지 상단의 헤더가 나타나지 않는다.)

additionalInfo에 필수로 서버 정보를 넣어야 한다.
(해당 서버 정보를 이용하여 각 서버군의 맞게 요청하는 랜딩페이지가 제작 된다.)
type = “review” 이면 콜백이 없다.

(참조) 백오피스 연동 – 머큐리
(참조) 백오피스 연동 – 오퍼월
(참조) 백오피스 연동 – 커스텀 웹뷰 & 뱃지

argument name type desc platform 비고
type string “notice” : 공지 배너를 출력한다.
“event”: 이벤트 배너를 출력한다.
“fullBanner”: 대배너를 출력한다.
“offerwall”: 오퍼월을 출력한다.
“noticeOnly”: 머큐리 공지만 출력한다.
“customWebview”: 백오피스에 등록된 사용자 정의 페이지
(커스텀 보드 : 200001~299999)
(커스텀 웹뷰 : 300000~499999)
“review”:리뷰 팝업을 출력한다. 리뷰는 “나중에 하러가기” 하지 않는 이상 한 번만 노출된다.
“moreGames”:게임 더보기 팝업(android only)
“reviewEx”: Android 또는 iOS의 별점 팝업을 출력하거나(v1.19.1+) Hive 리뷰 팝업을 출력한다.(v1.16.0~1.19.0)
“fullBanner”: 대배너를 출력한다.
(social_initialize API 호출 시 useImageBanner를 true로 설정했다면 이미지 기반의 대배너 출력, useImageBanner 설정값이 없거나 false라면 웹뷰 기반의 대배너 출력)
“fullBannerLegacy”: 대배너를 출력한다.
(social_Initialize API 호출 시 useImageBanner를 true로 설정했다면 웹뷰 기반의 대배너 출력) (v1.19.1+)
all “reviewEx” (v1.16.0+)
“fullBannerLegacy” (v1.19.1+)
forced bool type이 “notice” 와 “event” 일 때만 동작
true일 경우 24시간 다시보지 않기를 무시한다.
(주의:24시간 다시보기가 적용되지 않으므로 버튼 액션으로 보는 등 특정 액션에서만 사용해야 함.)
false이거나 생략할 경우 24시간 안보기가 정상동작한다.
all
additionalInfo string (필수) Hive 아이템을 통해 게임 서버의 API에 전달 될 데이터
Hive 아이템 등을 통해 별도의 가공 없이 게임 서버 API 또는 게임 서버의 중계용 API 등 그에 준하는 API에 전달될 값임. 최종 게임 서버에 주요 키값이 전달되기 전에 필터링을 거쳐야 할 필요가 있을 때, 필터링을 위한 데이터를 저장하기 위한 json format의 parameter이다.(필수)서버군이 따로 없는 단일 서버군이라도 아래 예제대로 넣어야 함
ex)”addtionalInfo”:”{“server”:”서버 지역 코드값”,”character”:”0″}”
– 머큐리 이벤트 페이지 노출 시 
ex) “addtionalInfo”:”{“server”:”서버 지역 코드값”,”character”:”0″, “mq_redirect”:”이벤트번호”}”
– 머큐리 이벤트 페이지 노출 시(머큐리 헤더 off)
ex)”addtionalInfo”:”{“server”:”서버 지역 코드값”,”character”:”0″, “mq_redirect”:”이벤트번호”, “header”:”off”}” 
서버 지역 코드값 :
서버 지역 코드값은 ‘ISO 3166 alpha-2’ 코드를 기준으로 하며 Hive 연동 가이드라인 > 게임서버 ID 항목을 참고한다.

이벤트 번호: 백오피스 머큐리에 등록된 일반 배너 번호
all
type == “customWebview” 일 때
viewId int 백오피스에 설정된 사용자 정의 페이지의 아이디 all

Result – Api.Promotion_Show

콜백으로 오퍼월 버튼 노출 여부 정보가 오며 대배너가 모두 닫히면 콜백이 내려온다. (백오피스 오퍼월 세팅 페이지의 오퍼월 노출 여부 항목과 연동)

argument name type desc platform 비고
type string 호출 타입 all
offerwallstate int 오퍼월 상태 값 :
-14(Activation), -15(Deactivation)
all
state string 호출한 페이지의 상태를 표시한다.
close: 창이 닫힌 상태
goback: 스키마를 이용해 창이 닫힌 상태
all 1.18.3+
type == “moreGames” 일 때
finishApp int 게임 종료 여부 : -1 (게임 종료), 0 (게임 재개) /
More Games 팝업 호출시 내려옴
android

 

C2SModulePromotion_Info

뱃지 정보 또는 웹뷰의 정보를 얻어 온다.
뱃지 정보를 통해 버튼에 new를 표시 할 수 있으며 필요에 따라 웹뷰 정보를 이용하여 개발사 자체 웹뷰를 구성 시 데이터를 사용할 수 있다.

(참조) 백오피스 연동 – 커스텀 웹뷰 & 뱃지

argument type type desc platform 비고
 type string “badge” : viewId (notice, event, noticeOnly,
커스튭뷰) 의 뱃지 정보 요청
“view”  : viewId 전체의 뷰의 웹뷰 정보를 요청
all 1.5.0+
viewId string or int “fullBanner”   : 대배너의 정보 (type view Only)
“notice”        : 공지 페이지의 정보를 얻는다.
“event”         : 이벤트 페이지의 정보를 얻는다.
“noticeOnly”  : 공지 페이지의 정보를 얻는다.
(이벤트가 붙지않는 머큐리페이지)
커스텀 웹뷰 번호 : integer타입으로 넣는다.
all 1.5.0+

Result – Api.Promotion_Info

뱃지 정보 또는 웹뷰의 정보를 리턴 받는다.

argument type type desc platform 비고
뱃지 정보를 요청했을 경우 (type == “badge”)
type string “badge” all 1.5.0+
viewId string or int “main” : 머큐리 메인페이지 정보
(“event”or”notice”일 경우)
“noticeOnly”
커스텀 웹뷰 번호 (integer)
all 1.5.0+
badgeType string “new”
“none”
all 1.5.0+
웹뷰 정보를 요청 했을 경우 ( type == “view”)
type string “view” all 1.5.0+
viewId string or int “fullBanner”
“notice”
“event”
“noticeOnly”
커스텀 웹뷰 번호 (integer)
all 1.5.0+
data string 요청한 웹뷰의 정보가 담겨있는 json 정보 all 1.5.0+


data json

 

C2SModulePromotion_GetOfferwallState

argument name type desc platform 비고
argumet는 없으며 Return
-14: offerwall Activation
-15: offerwall Deactivation
android

 

샘플 코드

Unity3d:C2SModule.Promotion.Show

Unity3d:C2SModule.Promotion.Info

Unity3d:C2SModule.Promotion.GetOfferwallState

 

 

Unreal:HiveSDKUEPromotion_Show

Unreal:HiveSDKUEPromotion_Info

Unreal:GetOfferwallState

 

 

iOS:C2SModulePromotion Show

IOS:C2SModulePromotion Info

 

 

Cocos2d:C2SModulePromotion_Show

Cocos2d:C2SModulePromotion_Info

Cocos2d:GetOfferwallState

 

타겟팅 프로모션

타겟팅 프로모션은 Hive 애널리틱스를 통해서만 가능하다.
Hive 애널리틱스에서 생성된 세그먼트 또는 스냅샷으로 타겟팅 할 수 있으며, 타겟팅 대상자는 캠페인 시작 30분 전에 추출된다.
Hive 프로모션 가운데, 일반배너, 대배너, 스팟배너, 크로스 일반배너, 크로스 대배너만 타켓팅 캠페인이 가능하다.

1) Hive 애널리틱스에서 타겟팅 유저 선정하기

세그먼트 메뉴에서 원하는 조건을 설정하여 타겟팅 대상자를 추출할 수 있다. 세그먼트를 새로 등록하거나 기존에 등록된 세그먼트의 타겟팅 탭으로 이동한다. 타겟팅 캠페인 등록 버튼을 클릭하면 아래 이미지와 같은 설정화면을 볼 수 있다.
내용을 작성하고 바로가기를 클릭하면 선택한 프로모션의 캠페인 타입의 등록페이지로 이동된다.

– 스냅샷 선택시 : 해당 유저들에게 고정으로 캠페인을 진행
– 스냅샷 미선택시 : 세그먼트 조건에 해당하는 유저를 캠페인 기간동안 매일 추출 가능
– 타겟팅 설명 : 타겟팅에 대한 제목으로 프로모션 캠페인의 등록페이지로 이동시 타겟팅명으로 등록됨
– 제품 선택 : Hive 프로모션의 캠페인 중 원하는 유형을 선택
– 타겟팅 유저 선정 방법 : 고정, 차감. 누적, 갱신 4가지 중 택일. 자세한 내용은 옵션 옆의 ? 를 클릭하여 확인

2) Hive 프로모션의 캠페인 등록 페이지

캠페인 등록페이지로 이동하면 노출 조건 설정의 [타게팅 설정] 항목에서 애널리틱스에서 입력한 타겟팅 설명을 확인할 수 있다.

3) 타겟팅 설정 유무 확인

캠페인 리스트에서 타겟팅 코드로 유무로 확인할 수 있다. 해당 코드는 애널리틱스 타겟팅 페이지에도 동일하게 노출된다.

 4) 주의사항

– 타겟팅 캠페인이 진행 중에, 세그먼트를 삭제해도 해당 캠페인은 취소되지 않고, 종료일까지 진행된다.
– 타겟팅 캠페인을 취소하거나 종료하려면 Hive 프로모션의 캠페인 설정에서 해당 캠페인을 비활성화 또는 삭제해야 한다.

 

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

Hive SDK v1.14.0부터 YouTubeAndroidPlayerApi.jar 라이브러리를 이용해 동영상 광고 추가가 가능하다. 프로모션 도중 유저가 동영상 재생 링크를 선택하면 영상이 전체 화면으로 노출된다. 이를 위해 게임에서는 영상 시작 전 게임 음량을 최소화하거나 음소거하는 코드를 추가하고, 영상이 종료된 이후에는 원래 음량으로 되돌리는 작업을 진행해야 한다.

Hive SDK v1.17.0에서는 확장된 YouTube 기능을 사용할 수 있도록 개선되었다. YouTubeAndroidWebPlayerApi.aar 라이브러리를 이용하면 개선된 기능을 여러분의 게임에 적용시킬 수 있다.

  • 영상 시작 전후 상태는 C2SModuleApi_PromotionPlayback 전역 콜백으로 전달된다.
    • 영상 시작 시 – “state”:”start”
    • 영상 종료 시 – “state”:”finish”
    • iOS Xcode 필수 프레임워크에 WebKit.framework 추가.

프로모션에 동영상 광고를 추가하는 예제코드는 다음과 같다.

Unity®

Unreal

Cocos2d-x

iOS