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

초기화 동작 방식

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

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

인앱 업데이트

인앱 업데이트는 업데이트 팝업 설정에 따라 앱을 종료하지 않고 백그라운드에서 앱을 업데이트할 수 있는 기능입니다. 인앱 업데이트는 다음 조건에서 사용할 수 있습니다.

  • Google Play 스토어만 지원합니다.
  • Android 모바일, Android 태블릿, ChromeOS 디바이스만을 지원합니다.
  • 앱 파일 형식은 AAB(Android App Bundle)와 APK를 모두 지원합니다. 단, APK 확장 파일(.obb파일)은 지원하지 않습니다.
  • AAB는 최대 200MB, APK는 최대 150MB 용량을 지원합니다.

초기화 다이어그램

Hive 인증키 등록하기

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

Unity®

API Reference: Configuration.setHiveCertificationKey

C++

API Reference: Configuration::setHiveCertificationKey

Kotlin

API Reference: Configuration.hiveCertificationKey

Java

API Reference: Configuration.INSTANCE.setHiveCertificationKey

Swift

API Reference: ConfigurationInterface.setHiveCertificationKey

Objective-C

API Reference: [HIVEConfiguration setHiveCertificationKey: hiveCertKey]

초기화 구현하기

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

서버 점검 팝업

게임 서비스를 위해서는 게임 클라이언트의 업데이트 후에 하위 버전을 차단하거나 게임 서버의 점검 시간 동안 게임 접속을 차단하는 기능이 필요합니다. 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: AuthV4.checkMaintenance

C++

API Reference: AuthV4::checkMaintenance

Kotlin

API Reference: AuthV4.checkMaintenance

Java

API Reference: AuthV4.INSTANCE.checkMaintenance

Swift

API Reference: AuthV4Interface.checkMaintenance

Objective-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
    startDate 점검 시작일 String
    endDate 점검 종료일 String
    customerButton 고객센터 버튼 텍스트(점검 팝업에서는 “” 전달됨) String
    customerLink 고객센터 버튼 링크(점검 팝업에서는 “” 전달됨) String
    exButtons 팝업 버튼 정보(최대 3개까지 전달됨) JSONArray
    exButtons.action 팝업 버튼을 눌렀을 때 어떤 동작을 할 것인지 의미OPEN_URL: 외부 브라우저로 전달된 URL을 실행EXIT: 앱 종료DONE: 아무
    처리 하지 않고 점검 팝업 종료
    AuthV4MaintenanceActionType 열거형
    exButtons.button 팝업 버튼의 라벨 문구 String
    exButtons.url 외부 브라우저로 띄울 URL.
    action
    필드 값이 OPEN_URL일 때 유효함
    String

Hive 웹뷰 띄우기

약관 다시보기

약관 적용하기

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

  • 적용 예시

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

Unity®

API Reference: AuthV4.showTerms

C++

API Reference: AuthV4::showTerms

Kotlin

API Reference: AuthV4.showTerms

Java

API Reference: AuthV4.INSTANCE.showTerms

Swift

API Reference: AuthV4Interface.showTerms

Objective-C

API Reference: [HIVEAuthV4 showTerms]

약관 동의 내역 삭제하기

게임 유저가 게임을 최초 실행할 때 게임 약관에 한 번 동의한 후에는, 약관에 동의한 내역이 기기에 남습니다. 아래 resetAgreement 메서드는 이 내역을 삭제합니다.

Unity®

C++

Kotlin

Java

Swift

Obj-C

Hive 프로필

Hive 프로필 화면을 노출하려면 AuthV4 클래스의 showProfile()을 호출합니다. 프로필 화면을 노출하면, 유저는 프로필 화면에서 프로필 이미지와 별명을 확인하고 변경할 수 있습니다.

 

다음은 Hive 프로필을 노출하는 예제 코드입니다.

Unity®

API Reference: AuthV4.showProfile

C++

API Reference: AuthV4::showProfile

Kotlin

API Reference: AuthV4.showProfile

Java

API Reference: AuthV4.INSTANCE.showProfile

Swift

API Reference: AuthV4Interface.showProfile

Objective-C

API Reference: [HIVEAuthV4 showProfile]

 

만약 Hive 멤버십 IdP를 제공한다면, Hive 멤버십은 아래와 같이 Hive 프로필 화면에 있는 Hive 계정 설정에서 비밀번호 변경과 탈퇴 기능을 제공하므로, 반드시 showProfile()을 구현해야 합니다.

Hive 멤버십 IdP 연동 상태의 프로필

게스트 및 다른 IdP 연동 상태의 프로필

 

Hive 멤버십 IdP가 아닌 다른 IdP만을 제공하더라도, 프로필 화면을 노출하면 해외 로그인 차단, 전체 로그아웃, 로그인 기록 확인 등 보안 기능을 제공할 수 있습니다. 따라서, 프로필 화면을 노출하도록 showProfile() 구현을 권장합니다. Facebook 등 프로필 이미지와 닉네임을 반환하는 IdP와 연동한 경우, 해당 IdP에서 제공한 이미지와 닉네임을 프로필에 자동으로 불러옵니다.

문의하기

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

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

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

Unity®

API Reference: AuthV4.showInquiry

C++

API Reference: AuthV4::showInquiry

Kotlin

API Reference: AuthV4.showInquiry

Java

API Reference: AuthV4.INSTANCE.showInquiry

Swift

API Reference: AuthV4Interface.showInquiry

Objective-C

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

Kotlin

API Reference: AuthV4.showMyInquiry

Java

API Reference: com.hive.AuthV4.showMyInquiry

Swift

API Reference: AuthV4Interface.showMyInquiry

Objective-C

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

Kotlin

API Reference: AuthV4.showChatbotInquiry

Java

API Reference: com.hive.AuthV4.showChatbotInquiry

Swift

API Reference: AuthV4Interface.showChatbotInquiry

Objective-C

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에서 아래 설정을 추가로 적용하고 빌드합니다.

커뮤니티 노출하기

커뮤니티에서 자동 로그인 처리 및 정상적인 동작을 위해서는 아래와 같이 API 호출을 통해 노출해주세요. 하이브 규약을 따르는 커뮤니티 사이트를 설정할 때 withhive.com, com2us.com이 아닌 커스텀 도메인 주소를 사용하려면, 사용할 도메인 주소를 Hive 콘솔 화이트리스트에 등록한 후 이 API를 호출해야합니다.

 

Unity®

API Reference: SocialV4.showCommunity

C++

API Reference: SocialV4.showCommunity

Kotlin

API Reference: SocialV4.showCommunity

Java

API Reference: SocialV4.INSTANCE.showCommunity

Swift

API Reference: SocialV4Interface.showCommunity

Objective-C

API Reference: HIVESocialV4 showCommunity

리모트 로깅

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

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

API Reference: Logger.log

C++

API Reference: Logger::log

Kotlin

API Reference: Logger.i

Java

API Reference: Logger.INSTANCE.i

Swift

API Reference: LogInterface.log

Objective-C

API Reference: Objective-C

 

리모트 컨피그레이션

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

Unity®

API Reference: Configuration.getMetaData

C++

API Reference: Configuration::getMetaData

Kotlin

API Reference: Configuration.getMetaData

Java

API Reference: Configuration.INSTANCE.getMetaData

Swift

API Reference: ConfigurationInterface.getMetaData

Objective-C

API Reference: HIVEConfiguration getMegaData