인증에서는 Hive SDK v4.3.0부터 사용 가능한 Hive 플랫폼의 새로운 인증 시스템인 인증 v4에 대해 소개합니다. 인증 v4는 Hive SDK 초기화부터 로그인까지 일련의 과정을 담당합니다.
구성
인증은 3단계로 구성됩니다.
- SDK 초기화
- SDK를 초기화 한 후에 Hive의 모든 기능을 사용할 수 있습니다.
- SDK 초기화 단계에서는 약관, 업데이트·공지 팝업이 노출됩니다.
- SDK 초기화 단계에서 Android의 경우 권한 팝업이 노출됩니다.
- 게임 서버 설정 및 점검 팝업 노출
- 초기화 완료 후 유저가 게임 서버를 설정할 수 있도록 구현해야 합니다.
- 유저의 게임 서버가 결정된 후에 점검 팝업을 노출합니다.
- 로그인
- Hive 멤버십 뿐만 아니라 다양한 ID 제공업체 (ID Provider, 이하 IdP)의 인증을 이용해 게임에 로그인할 수 있습니다.
특징
- Apple Game Center, Google Play 게임, Facebook, QQ 등 IdP 인증을 유연하게 적용합니다.
- Hive 멤버십 가입 여부와 관계없이, Facebook과 같은 SNS 로그인 기능을 이용해 게임에 로그인할 수 있습니다.
- Apple Game Center, Google Play 게임 등 단말기에 설정된 계정을 이용한 묵시적 로그인을 지원합니다.
- 인증 및 로그인 절차에 대한 맞춤형 UI를 지원합니다.
- 필요에 따라 Hive SDK에서 제공하는 UI를 사용하지 않고, 함께 제공되는 API를 활용하여 게임 컨셉에 맞는 UI를 디자인할 수 있습니다.
- 분산 서버를 통한 안정적인 로그인을 지원합니다.
- 한국 외 지역에 분산되어 있는 서버를 이용하여 국제 인터넷 회선에 문제가 생기거나 Hive 서버에 장애가 발생했을 때도 유저가 게임에 로그인할 수 있습니다.
인증 v4 Helper
Hive SDK v4.7.0부터 로그인 기능을 더욱 쉽고 빠르게 적용할 수 있는 AuthV4.Helper가 제공됩니다.
- 게임 로그인 유저에 연동된 IdP 계정과 기기에 로그인된 IdP 계정을 비교하는 API가 개선되었습니다.
- 기기에서 로그인한 Google Play 게임 계정이나 Apple Game Center 계정을 실제 PlayerID에 연동된 계정과 직접 비교합니다.
- 게임에서 직접 확인해야 했던 정보를 SDK에서 확인합니다.
- 국가 정보를 판단하여 적절한 IdP 목록을 표시합니다.
(예. 국가 정보가 중국(CN)인 경우, 게스트 계정을 노출하지 않음) - 기기의 운영체제를 판단하여 적절한 IdP 목록을 표시합니다.
(예. Google 빌드 및 국가 정보가 중국(CN)인 경우, Google Play 게임을 노출하지 않음)
- 국가 정보를 판단하여 적절한 IdP 목록을 표시합니다.
- Hive 연동 가이드라인 이행이 더욱 쉬워졌습니다.
- Hive 연동 가이드라인에 맞추기 위해 게임에서 Hive API를 활용해 직접 구현하던 부분을 없앴습니다.
- Hive API를 사용할 때보다 직관적이고, 이해하기 쉽게 개선되었습니다.
IdP 종류
앞서 설명한 것과 같이 Hive 인증 v4는 IdP를 이용한 유저 인증이 가능합니다. 유저는 단말기에서 로그인한 IdP를 이용하거나, 원하는 IdP를 선택하여 로그인과 IdP 연동을 실행할 수 있습니다. 제공되는 IdP는 게임에 따라 다르게 설정할 수 있으며, Hive 플랫폼은 접속한 유저의 국가 정보에 따라 유저에게 적절한 IdP를 노출합니다.
- 인증 v4에서 제공하는 IdP 종류
- Hive 멤버십: Hive 회원 계정의 이메일, 비밀번호를 이용하여 유저를 인증합니다.
- Facebook: Facebook 계정을 이용하며, 유저 국가가 중국일 경우 노출되지 않습니다.
- Google Play Games: Google Play Games 프로필 계정을 이용하며 Android 플랫폼만 지원합니다. 유저의 국가가 중국일 경우 노출되지 않습니다. 아래의 Google 로그인과는 다릅니다.
- Google: 구글 이메일 계정을 이용하며 Android 외에도 iOS를 포함한 다른 플랫폼도 지원합니다. 플랫폼이 Android이면 Google Play Games 로그인과 Google 로그인을 동시에 지원할 수 있으며, 두 로그인은 다음 아이콘으로 구분합니다.
- Game Center: Apple Game Center 계정을 이용하여 유저를 인증하며, iOS인 경우에만 노출됩니다.
- QQ: Tencent의 QQ 계정을 이용하여 유저를 인증하며, 유저의 국가가 중국이거나 게임 언어가 중문 간체의 경우에만 노출됩니다. QQ 로그인은 Hive SDK v4.5.0부터 지원합니다.
- VK: VK 계정을 이용하여 유저를 인증하며, 유저의 게임 언어가 러시아어인 경우에만 노출됩니다. 유저의 국가가 중국일 경우 노출되지 않습니다. VK 로그인은 Hive SDK v4.6.0부터 지원합니다.
- WeChat: WeChat 계정을 이용하여 유저를 인증하며, 유저의 국가가 중국이거나 게임 언어가 중문 간체의 경우에만 노출됩니다. WeChat 로그인은 Hive SDK v4.6.0부터 지원합니다.
- Apple: Apple 계정을 이용하여 유저를 인증하며, iOS 13 이상 버전일 경우에만 노출됩니다. Apple 로그인은 Hive SDK v4.11.7.3부터 지원합니다.
- SignInWithApple: Android에서 Apple 계정을 이용하여 유저를 인증하며, Android API 21 이상에서 지원합니다. Hive SDK v4.15.6부터 지원합니다.
- LINE: LINE 계정을 이용하여 유저를 인증하며, Android SDK 17, iOS 10 이상 버전일 경우에만 노출됩니다. LINE 로그인은 Hive SDK v4.14.0부터 지원합니다.
- Weverse: Weverse 계정을 이용하여 유저를 인증하며, iOS 12 이상 버전일 경우에만 노출됩니다. Weverse 로그인은 Hive SDK v4.15.2부터 지원합니다.
- Huawei: Huawei 계정을 이용하여 유저를 인증하며, Android인 경우에만 노출됩니다. Huawei 로그인은 Hive SDK v4.16.2부터 지원합니다.
유저 식별자
인증에서 유저를 식별하는 유니크 키를 PlayerID라고 칭하며 다음과 같은 특징을 갖습니다.
- PlayerID는 여러 종류의 IdP와 연동할 수 있습니다.
- 하나의 PlayerID는 한 종류의 IdP 유저 ID를 여러개 가질 수 없습니다.
- 하나의 IdP 유저 ID는 같은 게임 내에서 여러개의 PlayerID와 연동할 수 없습니다.
- 동일한 IdP의 유저 ID라고 해도 PlayerID는 게임마다 다르게 발급됩니다.
- 어떤 IdP와도 연동되지 않은 유저를 게스트 유저라고 부릅니다.
PlayerID 예시표
NO | PlayerID | Game | Hive 멤버십 | Google Play 게임 | Game Center | |
1 | 10001 | A | X | F10000 | G10000 | A10000 |
2 | 10002 | A | H10000 | X | G20000 | X |
3 | 20001 | B | H10000 | X | X | X |
4 | 20003 | B | X | X | X | X |
- 1번 유저는 하나의 PlayerID에 Facebook, Google Play 게임, Apple Game Center 3종류의 IdP가 연동되어 있습니다.
- 1번과 2번 유저는 동일한 게임의 서로 다른 PlayerID에 서로 다른 Google Play 게임 유저 ID가 연동되어 있습니다.
- 2번과 3번 유저는 서로 다른 게임의 PlayerID에 동일한 Hive 멤버십 유저 ID가 연동되어 있습니다.
- 4번 유저는 어떤 IdP와도 연동되지 않은 게스트 유저입니다.