Google Play 게임즈 서비스 인증을 사용하여 게임의 사용자 플랫폼 인증 환경을 간소화하세요. Play 게임즈 서비스 SDK를 초기화하여 인증을 트리거합니다. 이렇게 하면 별도의 플랫폼 인증 흐름이 필요하지 않습니다.
사용자 계정을 연결하여 연속성 및 교차 기기 플레이 사용 설정
플레이어는 모바일, 태블릿, PC 등 다양한 기기와 플랫폼에서 좋아하는 게임을 즐깁니다. 이러한 플레이어의 핵심 기대치는 선택한 기기에 관계없이 중단한 부분부터 원활하게 게임을 재개할 수 있다는 것입니다.
사용자가 포기하게 되는 주요 원인 중 하나는 새 기기마다 별도로 로그인해야 한다는 요구사항입니다. 사용자는 불필요한 중단 없이 게임 환경에 즉시 몰입해야 합니다.
원활한 연속성 및 교차 기기 플레이를 지원하려면 다음 두 가지 주요 기능을 구현해야 합니다.
- 계정 연결
- Cloud Save
Play 게임즈 서비스 인증 프로세스는 플레이어 식별자를 위한 유연한 옵션을 제공합니다. 이 옵션을 사용하면 Play 게임즈 서비스를 자체 기존 ID 솔루션과 통합할 수 있습니다.
새 Play 게임즈 서비스 통합
기존 Play 게임즈 서비스 통합이 없는 게임의 경우 Recall API는 계정 연결을 관리하고 사용자 게임 계정과 Play 게임즈 서비스 계정 간의 연결을 저장하여 백엔드 설정을 간소화합니다.
Recall API를 사용한 계정 연결
Recall API는 크로스 플랫폼 게임에서 사용자 계정을 연결하는 데 권장되는 솔루션입니다. 이 API는 기존 Play 게임즈 서비스 통합이 없는 게임이나 Play 게임즈 서비스 외에 추가 플랫폼 인증 솔루션을 사용하는 게임에 특히 유용합니다.
Recall API는 계정 연결을 관리하여 게임의 백엔드 설정을 간소화합니다.
- 간소화된 백엔드: API는 계정 연결을 위해 게임의 백엔드 설정을 간소화합니다.
- Play 관리 연결: Play는 사용자의 게임 계정 (서드 파티 계정 포함)과 Play 게임 서비스 계정 간의 연결을 저장합니다.
- 진행 상황 복원: 개발자는 리콜 토큰을 생성하여 Play에 전송하며, Play는 이를 검색하여 사용자의 게임 진행 상황을 복원할 수 있습니다.
리콜 API를 구현할 때 개발자는 리콜 토큰이 불투명한 문자열인지 확인해야 합니다. 이러한 토큰에는 게이머에 관한 민감한 정보 또는 개인 식별 정보 (예: 이름, 이메일 주소, 인구통계)가 없어야 합니다.
게임은 사용자 데이터를 보호하고 보안을 유지하기 위해 리콜 토큰을 생성할 때 강력한 암호화 알고리즘을 사용해야 합니다.
리콜 작동 방식에 대해 자세히 알아보려면 리콜 API 를 참고하세요.
Recall API 기능을 구현하려면 게임 내에서 Play 게임즈 서비스 Recall API 통합을 참고하세요.
리콜 API로 여러 계정 관리
동일한 사용자의 여러 계정을 관리할 때는 각 계정을 별개의 페르소나로 취급할 수 있습니다. 이 접근 방식을 사용하면 사용자의 특정 컨텍스트에 따라 맞춤 환경을 제공할 수 있습니다.
이 방법을 구현하려면 다음 단계를 따르세요.
- 각 페르소나에 대해 고유한 토큰을 생성합니다. 게임 클라이언트 설정을 참고하세요.
- 리콜 API를 사용하여 이러한 토큰을 Play 게임즈 서비스 계정에 연결합니다. 토큰 저장을 참고하세요.
- Play 게임즈 서비스 계정이 여러 페르소나와 연결된 시나리오의 해결 정책을 설정합니다. 개발자 계정이 소유한 모든 게임의 최신 회수 토큰을 참고하세요.
다양한 정책 옵션 (예: 마지막 계정 자동 복원)을 사용할 수 있지만 사용자에게 메시지를 표시하는 것이 좋습니다. 이 프롬프트는 사용자에게 복원할 계정을 선택하라고 요청하여 명확하고 사용자 친화적인 환경을 제공해야 합니다.
기존 Play 게임즈 서비스 통합
이 섹션에서는 플레이어 계정을 바인딩하여 게임을 Play 게임즈 서비스와 통합하는 방법을 설명합니다. 플레이어 ID를 사용하여 인증된 플레이어를 식별하고 단일 Play 게임즈 서비스 사용자의 여러 게임 계정을 관리하는 방법을 알아봅니다.
Player_id와 바인딩
플레이어 ID는 Play 게임즈 서비스 플레이어 계정의 식별자입니다. 게임은 Play 게임즈 서비스를 사용하여 게임에 인증된 플레이어의 플레이어 ID를 검색할 수 있습니다.
Play 게임즈 서비스 Player_Id로 백엔드가 설정된 게임이나 아동 사용자 지원이 필요한 게임은 Player_Id를 사용하고 게임과 서드 파티 계정을 Player_Id에 바인딩해야 합니다.
플레이어 ID의 작동 방식 이해:
- 게임 내에서 일관성 유지: 사용자가 동일한 게임을 플레이할 때 여러 기기에서 플레이어 ID가 일관되게 유지됩니다.
- 게임 간 불일치: 사용자가 서로 다른 게임을 플레이할 때 플레이어 ID가 항상 일관되지는 않습니다.
자세한 내용은 차세대 플레이어 ID를 참고하세요.
바인딩을 사용하여 사용자별로 여러 계정 관리
단일 Play 게임즈 서비스 계정에 여러 사용자 계정을 연결하려면 테이블에 일대다 매핑을 만드세요.
Google 계정으로 로그인을 사용하는 교차 플랫폼 Google ID
Google 계정으로 로그인(SiwG)은 게임 개발자가 플레이어의 프로필 정보(이름, 이메일 주소, 프로필 사진)를 안전하게 수신할 수 있도록 지원하는 Google의 기본 ID 솔루션입니다.
Google 계정으로 로그인의 주요 이점은 웹, Android, iOS를 비롯한 다양한 플랫폼에서 사용할 수 있다는 점입니다. 플레이어가 이미 알고 신뢰하는 빠르고 안전하며 친숙한 로그인 환경을 제공합니다.
Google ID 토큰의 sub 필드와 바인딩
원활한 교차 플랫폼 환경을 만들려면 게임의 계정 시스템을 고유한 Google 계정 식별자에 연결하는 인증 전략을 구현하면 됩니다. 이 접근 방식은 Android에서 간소화된 Play 게임즈 서비스 인증을 활용하면서 iOS 및 웹과 같은 다른 플랫폼에서는 표준 Google 로그인 SDK를 사용합니다.
이 전략의 핵심은 Google ID 토큰의 sub 필드입니다. sub('주체') 필드는 Google 사용자 계정의 고유한 영구 식별자입니다. 이 ID는 플레이어의 모든 세션을 백엔드의 단일 게임 계정에 연결하는 '브리지'로 사용됩니다.
대략적인 흐름은 다음과 같습니다.
- Android: 게임에서 Play 게임즈 서비스 SDK를 초기화하여 Android 기기에서 인증을 자동으로 트리거합니다. Play 게임즈 서비스 v2 통합을 구성하여
email,profile,openid의 세 가지 로그인 범위를 요청합니다. 이는 표준 Google 로그인 SDK가 요청하는 것과 동일한 범위입니다. 이를 통해 플레이어의sub필드가 포함된 ID 토큰을 가져올 수 있습니다. - 웹 및 iOS: 게임에서 표준 웹용 Google 로그인, iOS 및 macOS용 Google 로그인 SDK를 사용합니다. 사용자가 로그인하면 SiwG SDK는 사용자의
sub필드도 포함된 ID 토큰을 제공합니다. - 계정 바인딩: 사용자가 두 플랫폼에서 동일한 Google 계정으로 로그인하므로 수신하는
sub필드가 동일합니다. 그런 다음 이sub값을 ID 솔루션의 내부 사용자 ID에 바인딩하여 통합된 사용자 환경을 만들 수 있습니다.
Android 통합
Android에서는 Google Play 게임즈 서비스 SDK를 기본 통합 지점으로 사용합니다. 핵심은 추가 로그인 범위를 요청하도록 Google Play 게임즈 서비스 로그인 클라이언트를 구성하는 것입니다. 이를 통해 백엔드에서 고유한 sub 필드를 비롯한 사용자 정보가 포함된 ID 토큰으로 교환할 수 있는 서버 측 인증 코드를 가져올 수 있습니다.
개략적으로 구현에는 다음이 포함됩니다.
통합 프로젝트에서 클라이언트 ID 설정: 통합하기 전에 Google Play 콘솔에서 Play 게임즈 서비스를 설정하여 OAuth 2.0 클라이언트 ID를 획득해야 합니다.
Play 게임즈 서비스 구성: 시작하기 전에 먼저 Google Play Console에서 게임을 추가하고 Play 게임즈 서비스 플랫폼 인증을 게임과 통합해야 합니다.
Google 계정으로 로그인 버튼 추가: 게임의 로그인 페이지 또는 사용자 설정 화면에 'Google 계정으로 로그인' 버튼을 추가합니다. 이 버튼을 누르면 로그인 또는 가입 흐름이 트리거됩니다. 이 버튼을 만들 때는 Google로 로그인 브랜드 가이드라인을 따르는 것이 좋습니다. 버튼에는 최소한 'Google' 또는 'Google 계정으로 로그인'이 명확하게 표시되어야 합니다. 가이드라인 링크에서는 규정을 준수하며 게임에서 사용할 수 있는 다운로드 가능한 UX 애셋도 제공합니다.
로그인 범위로 서버 인증 코드 요청: 플레이어가 버튼을 클릭하면 게임에서 일회성 서버 인증 코드를 요청합니다. 가장 중요한 단계는 다음 로그인 범위(
EMAIL,PROFILE,OPEN_ID)를 포함하도록 이 요청을 구성하는 것입니다.이를 구성하는 방법은 개발 환경에 따라 다릅니다.
Java/Kotlin:
requestServerSideAccess를 사용하여 서버 인증 코드를 가져오는 가이드를 참고하세요.Unity: Unity에서 인증 코드 가져오기 가이드를 참고하세요.
인증 코드 교환 및 백엔드에서 ID 토큰 확인: 이전 단계의 인증 코드를 백엔드 서버로 전송합니다. 서버에서 표준 OAuth 2.0 코드 교환 흐름 가이드에 따라 코드를 ID 토큰, 액세스 토큰, 갱신 토큰으로 교환합니다. 가이드에 설명된 대로 서버에서 ID 토큰을 확인해야 합니다.
sub필드 바인딩: ID 토큰이 성공적으로 확인되면 페이로드에서sub필드를 추출합니다. 이sub값을 ID 솔루션에서 Google ID의 고유 키로 사용합니다.데이터베이스에 이
sub값이 이미 있는 경우 사용자가 이전에 연결한 것입니다. 해당 게임 계정에 로그인합니다.이
sub값이 없는 경우 이sub와 연결된 게임 계정 시스템에 새 사용자 계정을 만들거나 ID 토큰에 제공된 사용자 정보 (예: 이메일 주소)를 일치시켜 계정 시스템의 기존 사용자 계정에 연결할 수 있습니다.
iOS, 웹, 기타 플랫폼 통합
Android, iOS, 웹 또는 PC 이외의 플랫폼에서는 표준 Google 로그인 SDK를 사용합니다. 목표는 Android 흐름과 동일합니다. Google ID 토큰을 안전하게 가져와 백엔드로 전송하고 sub 필드를 사용하여 계정을 연결하는 것입니다.
개략적으로 구현에는 다음이 포함됩니다.
클라이언트 측 통합: 공식 문서를 따라 플랫폼용 Google로 로그인 SDK를 통합합니다. 이 가이드에서는 Google로 로그인 버튼을 렌더링하는 것부터 ID 토큰을 검색하는 것까지 전체 클라이언트 측 흐름을 다룹니다.
전용 SDK가 없는 플랫폼 (예: 맞춤 게임 엔진 또는 PC 빌드)의 경우 OAuth 2.0 웹 서버 흐름을 수동으로 구현하여 필요한 토큰을 가져올 수 있습니다.
백엔드 로직: ID 토큰 (또는 인증 코드)을 백엔드로 전송합니다. 그런 다음 서버는 'Android에서 통합' 섹션의 4단계와 5단계에 설명된 것과 정확히 동일한 확인 및
sub필드 바인딩 로직을 실행합니다.
이러한 모든 Google로 로그인 흐름의 sub 필드는 Android에서 Google Play 게임즈 서비스 흐름에서 가져온 필드와 동일하므로 (동일한 Google 계정의 경우) 이 프로세스는 모든 플랫폼에서 사용자의 계정을 성공적으로 연결합니다.