콘텐츠로 이동

시작하기 전에

본 장에서는 SDK 적용하기 순서에 따라 개발하기 전에, SDK를 중심으로 한 서비스 간의 기본 데이터 흐름과 동작 방식을 알아봅니다.

기본 데이터 흐름

하이브 플랫폼에서 제공하는 콘솔, SDK, API 서버의 세 가지 시스템은 물리적으로 분리되어 운영되지만 각 기능 구현 시마다 요구되는 여러가지 데이터에 의해 유기적으로 연결되어 동작하기 때문에 SDK를 중심으로 한 시스템 간의 기본 데이터 흐름을 이해하는 것이 중요합니다.

구현히고자 하는 기능마다 SDK에서 호출하는 메소드 및 API, SDK와 통신하는 API 서버, 이 들 시스템 간에 주고받는 데이터는 각기 다릅니다. 그러나 SDK와 콘솔(콘솔 서버), 그리고 API 서버는 동일한 게임 식별자인 AppID에 의해 연결되어 있으며 이 AppID 식별을 기반으로 시스템 간의 각 기능 별 데이터 흐름이 동작할 수 있습니다.

플랫폼구조이미지

그림 1. AppID에 의한 기본 데이터 흐름

AppID는 게임을 식별하는 파라미터로 기능 구현에 앞서 각 시스템에 정의되어 있어야 합니다. 하이브 플랫폼을 사용하기 전 사전 준비 단계에서 콘솔에서 먼저 AppID 파라미터를 생성하고 SDK 기본 설정을 위한 hive_config.xml에 등록하며, API 서버로 최초 요청 시에도 파라미터로 전달합니다.

기본 데이터 흐름에 따른 동작 처리 순서

기본 데이터 흐름에 따라 각 시스템에서는 아래와 같은 순서로 필요한 설정과 동작을 수행합니다.

  1. [게임 UI -> 하이브 SDK] 게임 유저 동작에 의해 SDK 메소드 호출
  2. [하이브 SDK → 게임 서버] SDK 내 해당 기능 메소드에서 게임 서버 호출
  3. [게임 서버 -> 하이브 서버] 게임 서버에서 하이브 서버로 API 요청, 요청시 2.메소드 인자값(예: AppID) 전달
  4. [하이브 서버(콘솔) -> 게임 서버] 하이브 서버에서 게임 서버로 하이브 콘솔에 존재하는 응답값 전달
  5. [게임 서버 -> 하이브 SDK] 게임 서버에서 하이브 SDK의 해당 메소드로 API 응답값 반환
  6. [하이브 SDK -> 게임 UI] SDK 메소드 반환값을 게임 프론트엔드에 표시 혹은 동작 처리

    ※ 용어의 구분을 위해 콘솔, SDK, 서버 앞에 '하이브'를 명시하였으며, 기본 하이브 제품명에는' 하이브'를 포함하지 않음

데이트 흐름 참고 사항

SDK 적용하기에 앞서 사용하는 시스템과 관련하여 참고해야 하는 사항은 아래와 같습니다.

  • '게임 프론트엔트'와 게임 서버는 개발사 영역으로 하이브 플랫폼의 SDK, 콘솔, 서버를 연동 및 활용하여 게임에 필요한 기능을 구현합니다.
    • 'SDK'를 게임 클라이언트에 직접 적용하며, '게임 서버'와 '하이브 서버' 간 통신을 통해 SDK에서 필요한 데이터를 받아와서 처리하는 방식으로 개발합니다.
  • 콘솔과 콘솔 서버는 유저 입장에서는 분리된 시스템이지만, 하이브 플랫폼 입장에서는 항상 동기화되어 운영되는 하나의 시스템입니다. 즉 콘솔은 콘솔 서버 내 복잡한 유저 데이터를 한눈에 확인하고 쉽게 관리하기 위한 유저 인터페이스 기반의 백오피스입니다.
    • 예를 들어, 콘솔에서 AppID를 생성했다면 콘솔 서버에 해당 AppID가 생성된 것과 같습니다.

인증 구현을 위한 데이터 흐름 예시

게임에 적용해야할 필수 기능 중 하나인 인증을 구현한다면 SDK, 콘솔, API 서버 시스템 간의 데이터 흐름은 아래와 같습니다.

인증데이터흐름이미지

그림 2. 인증 구현 시 시스템 간의 데이터 흐름

게임 클라이언트에서 로그인 성공 후 PlayerInfo 응답값에 있는 토큰, PlayerID, DID를 이용하여 게임 서버에서는 로그인한 유저의 토큰키 유효성 여부를 검증 할 수 있습니다.

로그인, 빌링, 광고 배너, 푸시 메시지과 같은 특정 기능을 게임에 구현한다면, 아래의 '하이브 플랫폼 구조의 기본 데이터 흐름'과 같은 순서로 각 시스템에서 필요한 데이터 및 파라미터를 설정 후, SDK 메소드와 서버 API를 호출하여 데이터를 주고받는 방식으로 개발한다고 볼 수 있습니다.

개발 가이드 활용 방법

Note

하이브 플랫폼의 다양한 기능을 개발하는 데에 필요한 내용은 Hive 개발 가이드를 확인하세요.
SDK로 개발하려는 기능별로 필요한 데이터를 설정하고 연동하는 데에 필요한 내용은 Hive 콘솔 가이드를 확인하세요.