콘텐츠로 이동

Hive SDK 개발 순서

Hive SDK 설치부터 앱 배포까지 전체 과정을 요약하면 아래와 같습니다.

  1. 설치
  2. 환경 설정
  3. 개발
  4. 빌드
  5. 배포

1. 설치

Hive SDK를 사용해 여러분의 앱에 인증, 결제와 같은 기능을 구현하려면, 먼저 Hive 콘솔에 가입해 AppID를 생성합니다. 그 후에, 개발 환경에 맞는 Hive SDK를 설치합니다.

설치 전 준비

Hive SDK 기능 대부분은 Hive 콘솔에 입력한 데이터를 필요로 합니다. 따라서, SDK를 사용하려면 먼저 Hive 콘솔에 가입 후 AppID를 생성합니다.

SDK 설치

콘솔에서 AppID를 생성한 후, SDK를 설치합니다. Hive SDK는 개발 엔진(Unity, Unreal Engine 등) 및 OS(Android, iOS)마다 설치 방법이 다른 경우가 있습니다. 예를 들어, 앱을 Unity 엔진으로 개발한다면 SDK Manager로 편리하게 최신 SDK 버전을 설치할 수 있지만 Native Android 환경에서 앱을 개발한다면 Gradle로 SDK를 설치해야 합니다.

Info
  • 다운로드 페이지에서 개발 엔진별로 최신 SDK 버전과 샘플 앱을 다운로드할 수 있습니다.
  • Maven(Android), Cocoapod(iOS)에서도 최신 SDK 버전을 배포합니다.

기능 설치

Hive SDK 설치를 마친 후에는 사용할 SDK 기능을 설치해야 합니다. SDK는 인증, 결제, 푸시 알림, 프로모션, 매치 메이킹 등 다양한 기능을 제공하며, 인증과 결제 기능은 필수로 사용하는 것을 나머지 기능은 선택에 따라 사용하는 것을 권장합니다.

Note

인증 기능을 설치한다는 말은 Google 로그인, Apple 로그인 등 원하는 인증 제공자(IdP, Identity Provider)를 선택한다는 뜻입니다. 만약 모든 IdP를 설치하지 않았어도 게스트 로그인은 기본으로 지원합니다. Hive SDK를 처음 사용하는 개발사는 게스트 로그인만 사용하여 빠르게 Hive SDK를 체험해볼 수 있습니다.

2. 환경 설정

SDK 설치가 끝났다면, SDK 환경 설정을 합니다. 필수 설정과 선택 설정이 있습니다.

(필수) 기본 설정: hive_config.xml

hive_config.xml은 SDK 동작에 꼭 필요한 설정값들을 가지고 있는 파일이며 앱 빌드에 포함합니다. SDK를 사용하려면 이 파일에 Hive 콘솔에서 생성했던 AppID와 사용할 IdP 등을 입력해야 합니다. SDK는 초기화 시점에서 hive_config.xml을 앱 빌드에 포함합니다.

SDK 설치와 마찬가지로, 개발 엔진(Unity, Unreal Engine 등) 및 OS(Android, iOS)마다 hive_config.xml 설정 방법이 다를 수 있습니다. 예를 들어, 앱을 Unity 엔진으로 개발하는 경우 hive_config.xml에 설정값을 직접 입력하지 않아도 Unity Inspectorhive_config.xml을 생성할 수 있는 반면, Native 환경에서는 이 파일을 수동으로 생성하고 파일에 값을 직접 입력해야 합니다.

(선택) 마켓별 설정

Google Play Games on PC, Amazon, Steam (Windows) 등 특정 앱 마켓을 이용하려는 경우, 추가 설정이 필요합니다.

(선택) 런타임 설정

일부 SDK 설정은 SDK 초기화(빌드 타임)이 아니라 앱 실행(런타임) 시점에 해야합니다. 단, 라이브 서비스 시에 런타임 설정 값 변경은 권장하지 않습니다.

3. 개발

로그 설정 등 개발 준비를 마친 후, 원하는 기능을 앱에 구현합니다. 앱 소스 코드 전체에서 앱 라이프사이클에 따라 발생하는 이벤트들을 Hive SDK에 전달하고, 이 이벤트를 받는 SDK 메서드를 호출해야 합니다. 아래는 SDK 개발 시 알아야할 주요 항목들입니다.

SDK 초기화

SDK 초기화는 SDK 기능들을 실행하기 위한 최초 준비 단계입니다. SDK 코드 흐름에서 초기화는 가장 먼저 실행되며, 초기화가 완료된 후에 인증, 결제, 프로모션 등 각 SDK 기능을 사용할 수 있습니다.

SDK는 초기화 과정에서 약관 동의 화면(앱 사용자가 앱을 실행할 때 노출하는 기기 식별 정보 수집, 개인 정보 수집 약관 동의 팝업 등)을 노출합니다. 컴플라이언스를 따르는 약관 동의 요청을 쉽고 간편하게 구현할 수 있다는 점은 SDK 주요 장점 중 하나입니다.

초기화를 완료하면 Hive 콘솔에서 기기 식별 정보와 로그인 시 지원하는 IdP 목록을 확인할 수 있습니다.

로그인

앞에서 설정한 IdP로 앱 사용자가 로그인하면, SDK는 사용자 식별 정보를 획득합니다. 여러분은 사용자를 식별하여 서비스를 제공할 때 이 정보를 활용할 수 있습니다.

로그인 구현 시 예외 처리를 반드시 구현해야 합니다. SDK 설정 에러 혹은 로그인에 성공했던 사용자가 발생시키는 문제에 대한 예외 처리가 필요합니다. 로그인에 성공했던 사용자를 예외 처리해야 하는 예시로, 이용 정지된 사용자의 로그인, 계정 충돌이 발생했을 때 이를 해결하는 과정 등이 있습니다.

앱 사용자가 로그인에 성공했다면 로그인 토큰을 검증해야 합니다. SDK는 사용자가 부적절한 사용자인지 판별하기 위해 검증할 수 있는 토큰을 발급하는데, 이 토큰을 검증해 토큰이 위조되지 않았음을 판단할 수 있습니다.

결제

결제는 앱 사용자에게 앱에서 판매하는 상품 목록을 보여주고 이를 구매하도록 하는 기능입니다. 앱에 상점을 구현하고 인앱 상품을 판매하는 경우, 상품 목록을 노출하고 국가, 통화 종류, 언어에 따라 판매 상품 정보를 다르게 제공합니다. 상품마다 상품 식별 코드가 존재하며 이 코드로 각 상품 정보를 구별합니다.

인앱 상점에서 상품을 판매하면 SDK는 영수증을 발급합니다. 여러분의 앱은 이 영수증 데이터를 받아서 영수증 검증 API를 호출해 영수증을 검증해야 합니다. 영수증이 유효하다면 앱에서 상품을 구매한 사용자에게 상품을 지급합니다. 상품 지급을 완료되면 SDK는 해당 결제 트랜잭션 종료를 선언합니다.

결제 트랜잭션 종료가 선언되면, 해당 구매 건 영수증은 상품 복구에 사용할 수 없습니다. 만약, 앱 사용자가 인앱 상점에서 상품을 구매했음에도 어떤 사유로 인해 상품이 사용자에게 지급되지 않은 경우, 발급한 영수증을 사용해 상품 지급을 다시 시도할 수 있습니다.

디버깅

로그를 활성화하면 개발 이슈를 확인하고 디버깅을 할 수 있습니다. 만약 개발 엔진이 Unity인 경우 RTT4U로 실시간 디버깅을 지원합니다.

4. 빌드

개발 엔진, OS, 또는 빌드 파이프 라인에 따라 빌드전에 확인할 항목들입니다. 예를 들어, Android 환경(Native Android 및 Unity Android)에서는 권한이 자동으로 SDK에 포함되므로 별도 설정이 필요하지 않습니다. 반면 Native iOS 환경에서는 빌드전에 앱에서 사용하려는 기능에 따라 권한을 선언해야 합니다. Unity iOS 환경에서는 HivePostProcess Editor로 필요한 권한만 자동으로 추가할 수 있습니다.

Note

Android OS에서는 다국어 리소스 최적화를 지원합니다. 사용하지 않는 언어를 앱에서 제거하거나 앱에 언어를 추가할 수 있습니다.

5. 배포

앱 마켓(Google Play Store, AppStore 등)에 앱을 배포하기 전에 Hive 플랫폼 정책을 따라 앱이 잘 구현되었는지 확인해야 하며, 앱에서 수집하는 개인 정보 데이터 유형과 목적을 앱 마켓에 제출해야 합니다. Hive SDK 또는 타사 라이브러리에서 사용하는 개인 정보 가이드를 참고해 제출합니다.