게임에 탑재한 Hive 기능을 이용하려면 반드시 Hive SDK를 초기화해야 합니다. Hive SDK 초기화를 진행하면 Hive 콘솔에 등록된 약관 및 업데이트·공지 팝업이 자동으로 노출됩니다.

초기화 동작 방식

Hive SDK 초기화 시 다음 기능을 수행합니다.

    • Hive SDK는 초기화 함수 하나로 다음 항목을 초기화합니다.
      • 인증: Hive 클라이언트 초기화 및 유저 인증 기능을 제공
      • 프로모션: 광고 집행 및 쿠폰 발급
      • 노티피케이션: 유저에게 발송하는 푸시 메시지를 설정·관리
      • 마케팅 어트리뷰션: 광고 유입, 사용자 이벤트 분석 등 유저 정보를 추적하는 서드 파티 모듈의 통합 관리를 지원
    • Hive SDK v4.16.2 부터 SDK에서는 직접 앱 접근 권한을 고지하지 않습니다. 자세한 내용은 FAQ를 확인하세요.
  • 해당 게임에 설정된 업데이트·공지 팝업을 노출합니다.
  • 접속한 유저의 IP 및 설정된 약관을 확인하여 노출합니다.
  • 초기화 다이어그램

Hive 인증키 등록하기

Configuration 클래스의 API를 사용하여 Hive 콘솔 페이지를 통해 발급된 Hive 인증키를 초기화 전에 등록해주세요. 해당 API는 4.15.0 이상의 버전부터 제공됩니다.

Unity®

API Reference: Configuration.setHiveCertificationKey

C++

API Reference: Configuration::setHiveCertificationKey

Android

API Reference: Configuration.setHiveCertificationKey

iOS

API Reference: [HiveConfiguration setHiveCertificationKey:]

초기화 구현하기

Hive SDK를 초기화하려면 AuthV4 클래스의 setup() 메서드를 호출하세요. 이 때 호출 결과로 다음 정보를 전달하게 되며 해당 정보는 게임에서 저장하여 적절한 시점에 사용할 수 있습니다.

  • Hive 초기화 수행 결과 정보
필드명 설명 예제
isAutoSignIn 자동 로그인 가능 여부 true
did 앱 설치 시 생성되는 앱 식별자로 동일한 종류의 앱을 식별할 때 사용합니다. 123456789
providerTypeList 현재 앱에서 제공 가능한 IdP 인증 목록
명시적 로그인을 커스터마이징하거나 IdP 연동 상태 정보를 구성할 때 필수적으로 사용해야 하는 필드입니다.
ProviderType.FACEBOOK
ProviderType.HIVE

다음은 setup() 메서드 구현 예제입니다.

Unity®

API Reference: hive.AuthV4.setup

C++

API Reference: AuthV4::setup

Kotlin

API Reference: com.hive.AuthV4.setup

Java

API Reference: com.hive.AuthV4.setup

Swift

API Reference: HIVEAuthV4:setup

Obj-C

API Reference: HIVEAuthV4:setup

앱 접근 권한 고지

화면 디자인

게임 UI와 잘 어울리는, 게임별 맞춤식(customize) 팝업으로 변경하고 싶다면 이 가이드를 자세히 읽어보세요.

  • 맞춤식 권한 고지 팝업

적용하기

AuthV4 클래스의 setup() 메서드 혹은 Auth 클래스의 initialize() 메서드와 같은 초기화 함수를 호출하기 전, Configuration 클래스의 getPermissionViewData() 메서드를 이용해서 권한 고지에 필요한 다국어지원 리소스 파일을 얻어올 수 있습니다. 이 API는 목표 언어에 맞는 리소스 파일을 읽어와 PermissionViewData 자료형의 데이터를 구성하는 역할을 수행합니다.

iOS에서는 해당 API를 사용하기 전, Xcode 프로젝트에 제공된 Permissions.zip 리소스를 반드시 포함해야 사용할 수 있습니다. Android에서는 Permissions.zip 리소스를 포함하지 않았을 경우 Hive SDK에 기본으로 포함된 권한 고지 리소스 문구를 읽어 데이터를 구성합니다. 이 때 리소스 문구를 수정하고 싶다면, iOS에서 한 방식처럼 프로젝트에 Permissions.zip 리소스를 포함시킨 후 수정 가능합니다. 이 내용은 Hive SDK v4.12.1 부터 적용할 수 있습니다. SDK v4.12.1 미만 버전을 사용할 경우 여기로 이동해 적용 방법을 확인해보세요.

아래에서 getPermissionViewData()의 호출 방법을 확인합니다.

Unity®

C++

Android

iOS

PermissionViewData로 권한 고지 UI 구성하기
    • 데이터로 UI 구성하기
      getPermissionViewData()를 요청하면 PermissionViewData를 얻어올 수 있습니다. PermissionViewData는 약관 고지 UI를 구성하기 위한 데이터로 이루어집니다. 여기에는 각 권한을 설명하는 PermissionVIewUnitData라는 데이터가 있으며, 리스트 형식으로 구성되어 있습니다.

      • PermissionViewData
        데이터 이름 자료형 의미 UI 노출 여부
        contents String 권한 고지 팝업에 대한 설명입니다. UI에 노출하세요. O
        permissions Linear List 혹은 Array
        (언어에 따라 다름)
        각 권한에 대한 설명과 이름이 들어있는 선형리스트 혹은 배열입니다. OS를 업데이트하거나 법령에 따라 권한 정보가 추가될 수 있으므로 리스트에 들어 있는 데이터 개수를 표시하는 UI는 여러 값이 들어 갈 수 있도록 변화에 능동적인 디자인이어야 합니다.
        데이터에 대한 내용은 PermissionViewUnitData를 참고하세요.
        일부 O
        commons Linear List 혹은 Array
        (언어에 따라 다름)
        공통에 해당하는 설명과 이름이 들어있는 선형리스트 혹은 배열입니다. commons 데이터를 불러오려면 권한 고지 내용이 반드시 1개 이상이어야 합니다. 데이터에 대한 내용은 PermissionViewUnitData를 참고하세요. O
      • PermissionViewUnitData
        데이터 이름 자료형 의미
        title string UI에 노출해야 할 권한의 이름입니다.
        contents string UI에 노출해야할 권한의 내용입니다. 권한을 어떻게 이용하는지 설명합니다.
        nativePermissionName string 각 OS에서 사용하는 권한의 이름입니다.
        permissionCategory enum UI에 노출하지 않는 권한의 종류입니다. 이용하는 권한을 카테고리로 판단할 수 있고, 권한이 활용하는 기능 또한 파악할 수 있습니다. 이 데이터는 권한 UI에 원하는 내용을 표시하는 방법 등으로 활용 가능합니다. 권한 목록을 확인하려면 소스 코드를 참조하세요.
    • UI 예시
      다음은 getPermissionViewData()를 호출하여 전달받은 값으로 구성한 예시입니다. 이미지를 참고하여 각 게임에 어울리는 UI를 디자인해보세요.
    • 권한 고지 관리하기
      새롭게 제공되는 Configuration 클래스의 getPermissionViewData() 메서드는 커스텀 권한 고지 팝업 노출 방식을 다양하게 구현할 기회 제공을 목적으로 권한 고지 데이터를 구성하는 기능만 수행합니다. 이는 개발 스튜디오에서 최초 1회만 노출하거나 업데이트마다 노출하는 등 구현 방식을 구체화할 수 있다는 의미입니다.Hive에서 설정한 방식은 최초 1회만 노출하기 입니다. 만약 Hive SDK 정책을 그대로 따른다고 하면, 아래 도식도에서 노란색으로 표시한 부분은 개발 스튜디오에서 직접 구현해 새로운 API와 함께 사용해야 합니다. IP 기반의 유저 국가 검증 기능은 서버 API 내용을 참고 하세요.

      • 권한 고지 데이터 구성 도식도

화면 문구

접근하는 정보 수준에 따라 필수/선택 접근 권한을 노출합니다. 게임에서 필요한 앱 접근 권한을 추가해 안내해보세요.

iOS

사용 시점에 권한을 요청하라는 iOS 정책에 의거, CAMERA, PHOTO, PUSH, IDFA 4가지 권한이 앱 접근 권한 고지의 기본 항목으로 설정되어 있습니다. IDFA 권한은 Hive SDK 초기화 시 권한 요청 팝업이 생성되고, CAMERA와 PHOTO 권한은 해당 기능을 실제 사용하는 시점에 권한 요청 팝업이 나타나며, PUSH 권한은 SDK를 초기화할 때 요청됩니다. 네 항목 모두 선택 권한으로, 유저가 거부한다고 해도 게임 플레이에는 문제가 없습니다.

  1. 빌드된 Xcode 프로젝트에서 Permissions.zip 파일 압축을 풀어 프로젝트의 하위 경로에 끌어서 놓아 리소스를 배치합니다. Project > info > Localizations에 15개 언어가 반영되며, Permission.strings 파일을 선택했을 때 아래 인스펙터 영상에서 보이는 것처럼 체크되면 정상적으로 적용된 것입니다. 이후에는 원하는 내용으로 편집해 사용할 수 있습니다.
  2. Permission.strings 내 추가 가능한 권한 리스트에서 추가가 필요한 권한의 제목과 내용 값을 추가합니다. Xcode 프로젝트에 15개 언어 리소스를 추가했다고 예를 들면, Hive SDK v4.12.1부터는 한국어 리소스에 해당되는 Permission.strings (Korean)에 제목과 내용을 추가하거나 변경한 경우에만 Hive SDK 권한 고지 팝업에 반영됩니다.
Android

Android 리소스를 적용하려면 Unity 혹은 Cocos2d-x에서 다음과 같이 ../res 하위 경로에 Permissions.zip 파일을 압축풀기한 후 복사하고 붙여넣기하여 원하는 내용으로 편집 사용합니다.

Unity는 엔진 특성상 Hive SDK가 갖는 권한 고지 리소스와 충돌하는 문제가 있습니다. 이 때문에 커스터마이징할 권한 고지 리소스를 우선 적용하려면 아래와 같이 폴더 이름 뒤에 버전을 별도 표기하여 복사하고 붙여넣기해야 합니다. 아래 리소스 적용 영상을 참고하세요.

  • Android
  • Cocos2d-x

서버 점검 팝업

게임 서비스를 위해서는 게임 클라이언트의 업데이트 후에 하위 버전을 차단하거나 게임 서버의 점검 시간 동안 게임 접속을 차단하는 기능이 필요합니다. Hive는 Hive 콘솔에 설정된 정보에 따라 게임 강제 업데이트, 공지, 서버 점검 순으로 팝업을 노출하는 기능을 제공합니다. 게임에서는 Hive SDK에서 제공하는 UI를 이용하거나 Hive에서 제공하는 정보만 수신하여 커스터마이징 된 UI를 직접 구현할 수 있습니다.

게임 강제 업데이트 특정 버전의 게임 이용을 차단하고 업데이트를 위한 링크를 제공
서버 점검 게임 서버별로 점검 여부를 설정할 수 있으며, 점검 시간 동안 게임 관련 링크 제공을 권장함
공지 강제가 아닌 게임 업데이트에 대한 안내, 전체 유저에게 고지해야 할 중요한 공지사항의 노출을 위해 이용
  • 업데이트 및 점검 팝업은 초기화 단계에 포함되어 있지만 서버 점검 팝업은 서버가 자동으로 선택되거나, 유저가 직접 선택 혹은 변경하는 단계에 필수적으로 노출될 수 있도록 구현합니다.
  • Hive 초기화 단계 이후 ~ 게임 서버 접속 시점(게임에서 접속을 강제로 종료 시킬 수 있는 시점) 이전에 게임을 시작하지 않고 대기할 수 있을 경우, 서버 점검 팝업을 설정해도 접속을 차단할 수 없습니다. 이에 대비하여 게임에서 접속을 강제로 종료 시킬 수 있는 시점에 진입하는 단계에 서버 점검 팝업을 띄워야 합니다.

 


게임 서버가 여러 개의 경우 유저가 선택하거나 설정된 게임 서버 정보를 반드시 Hive에 설정해야 합니다. 유저가 게임 서버를 선택해야 하는 경우 서버 점검 팝업 노출 전에 서버 선택 UI를 구현하고 Configuration 클래스의 setServerId() 혹은 메서드를 호출하여 Hive 설정을 변경해 주세요. 해당 시점에 Hive 설정 변경과 함께 프로모션 새소식 데이터를 같이 갱신하고 싶다면 Configuration 클래스의 setServerId()대신 updateServerId()를 호출해 주세요.

게임 서버가 설정된 이후에는 게임에서 원하는 시점에 서버 점검 팝업을 노출할 수 있습니다. Hive 콘솔에서 서버 점검 팝업을 설정하고 점검 시간 동안 게임 접속을 차단시킵니다. 노출되는 팝업은 Hive SDK에서 제공하는 UI를 이용하거나 Hive에서 제공하는 정보만 수신하여 UI를 커스터마이징할 수 있습니다. 서버 점검 팝업은 게임 서버별로 설정이 가능합니다.

팝업 설정하기

서버 점검 정보, 강제 업데이트 정보, 공지 정보는 Hive 콘솔에서 설정합니다. Hive 콘솔에서 노출할 팝업을 먼저 설정한 후에 팝업 노출 API를 호출해야 합니다. 설정 방법에 대한 자세한 내용은 운영 > 프로비저닝 가이드를 참고하세요.

팝업 띄우기

Hive는 서버 점검 팝업이나 강제 업데이트 팝업, 공지 팝업을 직접 띄우기도 하고 여러분이 팝업을 구성하여 띄울 수 있도록 팝업에 넣을 내용을 반환하기도 합니다. Hive가 팝업을 띄우면 팝업은 Hive UI 스타일로 나타나지만 여러분이 직접 팝업을 띄우면 원하는 스타일로 팝업을 띄울 수 있습니다. Hive 팝업 이용 여부에 따라 아래와 같이 파라미터를 설정하여 AuthV4 클래스의 checkMaintenance() 메서드를 호출하세요.

    • Hive가 제공하는 팝업 이용하기: isShow 파라미터를 true로 설정하세요.
    • 직접 구성한 팝업을 제공하기 위해 팝업 정보 요청하기: isShow 파라미터를 false로 설정하세요. 팝업 정보에 대한 자세한 내용은 하단의 Hive가 반환하는 점검 팝업 정보를 참고하세요.

아래는 팝업 예시 스크린샷입니다.

다음은 Hive가 제공하는 UI로 서버 점검 팝업을 띄우는 예제 코드입니다. 서버 점검이 완료되지 않았을 때 유저가 이 팝업을 닫으면 종료 이벤트가 ResultAPI result로 전달됩니다.

Unity®

API Reference: hive.AuthV4.checkMaintenance

C++

API Reference: AuthV4::checkMaintenance

Kotlin

API Reference: com.hive.AuthV4.checkMaintenance

Java

API Reference: com.hive.AuthV4.checkMaintenance

Swift

API Reference: HIVEAuthV4:checkMaintenance

Obj-C

API Reference: HIVEAuthV4:checkMaintenance

Hive가 반환하는 팝업 정보

Hive는 checkMaintenance() 메서드를 통해 Hive 콘솔에 설정된 팝업 정보를 요청 받으면, 다음의 표에 정리된 값들을 AuthV4MaintenanceInfo 오브젝트에 담아 반환하며 이 값이 null로 리턴되면 팝업을 띄울 내용이 없음을 의미합니다.

  • AuthV4MaintenanceInfo 오브젝트 상세
    필드명 설명 타입
    title 팝업 제목 String
    message 팝업 내용 String
    button 팝업 버튼의 라벨 문구 String
    action 팝업 버튼을 눌렀을 때 어떤 동작을 할 것인지 의미

    • OPEN_URL: 외부 브라우저로 전달된 URL을 실행
    • EXIT: 앱 종료
    • DONE: 아무 처리 하지 않고 점검 팝업 종료
    AuthV4MaintenanceActionType 열거형
    url 외부 브라우저로 띄울 URL. action 필드 값이 OPEN_URL일 때 유효함 String
    remainingTime 점검 완료까지 남은 초단위 시간. 시간은 실시간 갱신되며 0초가 되면 앱이 종료됨 Integer

Hive 웹뷰 띄우기

약관 다시보기

약관 적용하기

Hive SDK는 초기화 시 유저의 접속 IP로 판단한 국가 및 퍼블리싱사에 맞는 적절한 약관을 노출시키지만, 이후 게임에서는 국가별로 어떤 약관에 대한 동의를 받는지 여부와 상관 없이 모든 유저가 약관 및 개인정보처리방침 등을 볼 수 있는 링크를 제공해야 합니다. Hive에서 제공하는 약관 링크를 연결하면 Hive 백오피스에 등록된 조건에 따라 노출될 약관이 자동으로 선택되어 노출됩니다. 약관 링크를 표기하는 규정은 퍼블리싱 회사에 따라 차이가 있습니다.

  • 적용 예시

약관을 표시하기 위해서는 AuthV4 클래스의 showTerms() 메서드를 호출하세요. 다음은 이용약관을 노출하는 예제 코드입니다.

Unity®

API Reference: hive.AuthV4.showTerms

C++

API Reference: AuthV4::showTerms

Android

API Reference: com.hive.AuthV4.showTerms

iOS

API Reference: HIVEAuthV4::showTerms

유저 프로필

유저는 프로필 이미지와 디스플레이 네임을 통해 본인의 개성을 표현할 수 있습니다. Hive 프로필 메뉴에서는 프로필 이미지와 디스플레이 네임을 확인하고 변경합니다.

모든 유저는 프로필 페이지를 가지며, 프로필 페이지에서 프로필 이미지 및 닉네임을 수정할 수 있습니다. 프로필의 수정은 Hive 멤버십 유저만 가능합니다. Facebook 등의 프로필 이미지 및 닉네임을 반환하는 IdP와 연동한 경우, 해당 IdP에서 제공한 이미지와 닉네임을 프로필에서 사용합니다.

  • 멤버십 연동 상태의 프로필
  • 게스트 및 다른 IdP 연동 상태의 프로필

유저 프로필 화면을 노출하기 위해서는 AuthV4 클래스의 showProfile()을 호출하면 됩니다.
다음은 유저 프로필을 노출하는 예제 코드입니다.

Unity®

API Reference: hive.AuthV4.showProfile

C++

API Reference: AuthV4::showProfile

Android

API Reference: com.hive.AuthV4.showProfile

iOS

API Reference: HIVEAuthV4::showProfile

문의하기

Hive 플랫폼의 고객 서비스 창구로 각 게임별 FAQ를 조회하고 문의할 수 있는 기능을 제공합니다. 게임 내 기능뿐만 아니라 Hive 모바일 및 PC 웹 사이트에서도 동일한 기능을 이용할 수 있습니다. 유저가 게임에 대한 문의를 등록할 수 있도록 CS Code(PlayerID)를 노출하고 Hive 고객센터로 연결되는 버튼을 제공하세요.

  • 1:1 문의 적용 예시 화면

1:1 문의를 노출하기 위해서는 AuthV4 클래스의 showInquiry() 함수를 호출하면 됩니다.
다음은 문의하기를 노출하는 예제 코드입니다.

Unity®

API Reference: hive.AuthV4.showInquiry

C++

API Reference: AuthV4::showInquiry

Android

API Reference: com.hive.AuthV4.showInquiry

iOS

API Reference: HIVEAuthV4::showInquiry

내 문의 내역 바로가기

Hive 고객센터는 Hive 멤버십 연동 유저에게 본인이 접수한 문의 내역을 바로 확인할 수 있는 기능을 제공합니다. AuthV4 클래스의 showMyInquiry() 메서드를 호출하여 내 문의 내역 바로 가기를 적용해보세요. 유저가 게임에 대한 문의 사항을 보다 간편하게 해결할 수 있는 환경이 구현됩니다. 다만, Hive 모바일이나 웹 사이트를 통해 문의한 경우에는 Hive 멤버십 로그인 여부를 확인할 수 없기 때문에 Hive ID와 CS Code(PlayerID)를 입력해도 앱에서는 노출되지 않습니다.

다음은 내 문의하기를 노출하는 예제 코드 입니다.

Unity®

API Reference: hive.AuthV4.showMyInquiry

C++

API Reference: AuthV4::showMyInquiry

Android

API Reference: com.hive.AuthV4.showMyInquiry

iOS

API Reference: HIVEAuthV4::showMyInquiry

Hive 챗봇 CS
챗봇 문의하기
  • 챗봇 문의하기 적용 예시 화면

챗봇 문의하기를 노출하기 위해서는 AuthV4 클래스의 showChatbotInquiry() 메서드를 호출합니다.

Argument Type Description
additionalInfo string 챗봇 페이지 노출 시 함께 전달할 데이터"{ \"init_path\":\"hive_sdk_api\" }"로 고정하며, 추가 전달할 값이 필요한 경우 컴투스플랫폼 선행개발팀과 협의

다음은 챗봇 문의하기를 노출하는 예제 코드입니다.

Unity®

API Reference: hive.AuthV4.showChatbotInquiry

C++

API Reference: AuthV4::showChatbotInquiry

Android

API Reference: com.hive.AuthV4.showChatbotInquiry

iOS

API Reference: HIVEAuthV4::showChatbotInquiry

챗봇 설정하기

챗봇에서 사용하는 AppDelegate는 iOS 앱의 최상위에 있는 객체에서 발생하는 공통적인 동작(메서드)을 정의하는 클래스로, Xcode 프로젝트를 이용해 빌드할 경우 자동 생성됩니다.

Hive SDK에서는 유저의 편의를 고려해 챗봇 UI를 세로 고정형으로 노출하는데, iOS에서 해당 기능을 정상 동작하려면 게임 엔진의 AppDelegate 클래스의 화면 회전 관련 메서드 application(_:supportedInterfaceOrientationsFor:)를 구현해야 합니다. 이 메서드의 return은 게임에 적용시킬 UIInterfaceOrientationMask 값으로 반환합니다. 가로 전용 게임일 경우 landscape, 세로 전용 게임일 경우 portrait, 가로와 세로 모두 지원하는 게임일 경우 landscape와 portrait를 모두 반환합니다.

 

Objective-c

Swift

iPad에서도 챗봇 화면을 세로 고정형으로 노출하고 싶다면 Xcode에서 아래 설정을 추가로 적용하고 빌드합니다.

커뮤니티 노출하기

게임에서 Hive 커뮤니티를 호출할 때, 자동 로그인 처리 및 정상 동작을 위해서 아래 API 를 사용해 주세요. 커스텀 커뮤니티를 사용하시는 경우, 여기를 참고하여 앱센터에서 URL을 등록해주세요. 웹뷰 호출을 위한 Hive 콘솔 화이트리스트에 자동 등록이 됩니다.

Unity

Cocos2d-x

Android

iOS

리모트 로깅

리모트 로깅은 클라이언트의 디버깅 로그를 Hive 서버에 보내 이미 상용에 출시된 앱의 디버깅용 로그를 원격으로 확인할 수 있는 기능입니다. Hive 콘솔에서 등록하는 방식이며, 타겟 유저의 리모트 로그만 활성화할 수 있습니다. 등록 방법에 대한 자세한 설명은 리모트 로깅 운영가이드에서 확인하세요.

  • 활성화
    리모트 로깅을 활성화하면 Hive 콘솔에 입력한 수집 시간 동안 Hive 로그와 게임 로그를 수집합니다. Hive 로그는 SDK에서 설정한 값을 기본으로 수집되고, 게임 로그는 게임에서 설정한 값이 수집됩니다.
  • 타겟팅
    리모트 로깅은 Hive SDK 초기화를 최소 한 번 이상 거쳐 DID가 발급된 유저만을 대상으로 설정할 수 있습니다. 다만 SDK를 초기화하기 전에 크래시나 오류가 발생한 앱에서는 사용할 수 없습니다.
  • 동작 방식
  • 예제 코드
    게임에서 로그를 수집하려는 위치마다 아래 코드를 삽입합니다.
    Unity®

    C++

    Android

    iOS

 

리모트 컨피그레이션

Hive를 적용한 게임에서는 앱의 각 버전과 1 대 1 매핑 되는 게임 서버 URL을 관리할 수 있습니다. 게임 서버 URL은 Configuration 클래스의 getMetaData() API를 호출하여 string 형태로 전달됩니다. 다음은 게임 서버 URL을 호출하는 예제 코드입니다.

Unity®

API Reference: hive.Configuration.getMetaData

C++

API Reference: Configuration::gertMetaData

Android

API Reference: com.hive.Configuration.getMetaData

iOS

API Reference: HIVEConfiguration:getMetaData