플랫폼 인증

Google Play Games 서비스 (PGS)와 게임을 통합하는 첫 번째 단계는 플랫폼 인증을 구현하는 것입니다. 업적, 리더보드, 이벤트와 같은 다른 모든 기능에 액세스하려면 이 단계가 필요합니다.

Play 게임즈 서비스 SDK는 게임 실행 시 플랫폼 인증을 자동으로 실행하므로 게임이 Google Play Games Level Up 사용자 환경 가이드라인을 구현하고 충족할 수 있도록 PGS v2 SDK를 게임과 통합하고 권장되는 인증 흐름을 구현해야 합니다.

인증 개념

Play 게임즈 서비스 v2에서 '로그인' 개념은 플랫폼 인증인게임 인증 이라는 두 가지 고유한 레이어로 구분됩니다.

플랫폼 인증

Play Games 서비스는 플랫폼 참여 레이어를 제공합니다. 게이머 프로필을 사용하여 Google Play 게임즈 생태계와의 플레이어 관계를 관리하여 업적, 리더보드, 퀘스트와 같은 기능에 액세스합니다. 플랫폼 인증에는 다음과 같은 주요 특징이 있습니다.

  • 자동 및 자동: 게임이 실행될 때 인증이 백그라운드에서 자동으로 실행됩니다. Play Games 서비스에는 수동 로그인 버튼이 필요하지 않습니다.
  • 플레이어 ID: 플랫폼 인증에 성공하면 Play 게임즈 서비스에서 안정적인 플레이어 ID 를 제공합니다. 이 ID는 동일한 게임에서 기기 간에 일관됩니다. 이 ID를 주로 업적 진행 상황과 같은 플랫폼 기능을 추적하는 데 사용합니다.
  • 분리됨: Play Games 서비스는 게임의 기본 ID 시스템으로 사용하여 플레이어의 인게임 계정 (IGA), 게임 진행 상황 또는 인벤토리를 관리해서는 안 됩니다. Play Games 서비스는 영구 플랫폼 식별자 역할을 합니다.

플레이어 ID

플레이어 ID는 Play 게임즈 서비스 플레이어 계정의 식별자입니다. 게임은 Play Games 서비스 인증을 사용하여 게임에 로그인하는 플레이어의 플레이어 ID를 검색할 수 있습니다. 게임 클라이언트 통합, 게임 서버 통합, 클라우드 저장 서비스는 ID를 사용하여 Play Games 서비스의 플레이어 데이터에 안전하게 액세스할 수 있습니다.

사용자 ID는 사용자가 여러 기기에서 게임을 플레이할 때 일관됩니다. 하지만 게임 간에 항상 일관적이지는 않습니다. 자세한 내용은 차세대 플레이어 ID를 참고하세요.

인게임 인증

게임 내에서 플레이어 진행 상황, 인벤토리, 통화를 결합하는 ID 시스템인 인게임 계정 (IGA)을 관리합니다.

  • 기본 ID: 자체 백엔드, Google 계정으로 로그인(SiWG) 또는 기타 제공업체를 기본 로그인 방법으로 사용할 수 있습니다.
  • 독립성: 플레이어는 특정 IGA(예: 게스트 계정 또는 특정 SiWG 계정)에 로그인한 상태에서 Play 게임즈 서비스(플랫폼 ID)에 로그인하여 업적을 획득할 수 있습니다.
  • 여러 IGA 관리: Play 게임즈 서비스는 플랫폼 인증만 처리합니다. 게임은 플레이어의 IGA에 대한 기본 인증을 관리합니다. 즉, 플레이어가 IGA 간에 전환할 수 있는 게임의 기존 흐름에는 변경사항이 없습니다. 플레이어가 계정을 전환할 때 PGS를 통해 Play 게임즈 플랫폼에 계속 인증되며 영구 플레이어 ID 에 대해 업적 및 기타 PGS 기능과 관련된 데이터가 계속 전송됩니다.

SiWG를 사용한 교차 플랫폼 연속성

플레이어가 Android, iOS, 웹에서 진행 상황을 이어갈 수 있도록 Google로 로그인 을 기본 인게임 인증 방법으로 사용하세요. 다음 사항을 고려하세요.

  • Google 계정으로 로그인 버튼: PGS v1에서 Google Play 버튼은 플랫폼 및 게임 로그인을 모두 처리하는 경우가 많았습니다. v2에서는 이러한 프로세스가 분리되어 있습니다. 플레이어가 IGA를 인증하고 액세스할 수 있도록 표준 Google 계정으로 로그인 버튼을 구현합니다.
  • Google 로그인 SDK:
    • Android와 iOS 모두 표준 Google 로그인 SDK를 사용하여 플레이어를 IGA에 인증합니다.
    • Google Open ID를 플레이어의 인게임 계정의 기본 식별자로 사용합니다.
    • Play 게임즈 서비스 플레이어 ID 를 사용하여 업적과 같은 Play 게임즈 기능에 대한 플레이어의 진행 상황을 보고합니다.

권장 통합

Play Games 서비스와 게임을 통합하려면 다음 권장 단계를 따르세요.

초기화 및 인증

이 단계는 게임을 초기화하고 인증하는 데 필요합니다.

시작 시 Play Games 서비스 v2 SDK를 초기화하여 플랫폼 인증을 구현합니다. 자세한 내용은 Android 게임의 플랫폼 인증을 참고하세요. 이 단계는 업적 및 리더보드와 같은 Play Games 서비스 기능에 액세스하는 데 필요합니다.

인증은 게임 실행 중에 자동 백그라운드 프로세스로 실행됩니다. 기존 Play 게임즈 서비스 사용자는 인증에 성공하면 환영 메시지를 보게 됩니다. Play 게임즈 서비스 프로필이 없는 사용자는 SDK 초기화 중에 프로필을 만들라는 메시지가 표시됩니다.

자동 로그인 메시지

프로필 만들기

플레이어가 플랫폼에 참여하려면 Play 게임즈 서비스 프로필이 필요합니다. 일부 플레이어는 게임을 시작할 때 Play 게임즈 서비스 프로필이 없을 수 있습니다. 이러한 플레이어는 프로필을 만들라는 메시지가 표시됩니다. 다음 옵션 중 하나를 선택하여 사용자에게 적합한 환경을 결정할 수 있습니다.

자동 트리거 프로필 만들기 메시지

Play Games 서비스 프로필 없이 게임을 실행하면 자동 트리거 프로필 만들기 메시지가 기본적으로 자동으로 표시됩니다.

게임을 실행할 때 프로필 생성 메시지가 표시됩니다.
게임을 실행할 때 표시되는 프로필 만들기 메시지 (확대하려면 클릭)

자동 트리거 프로필 만들기 메시지 중지

자동 트리거 메시지를 방지하도록 매니페스트 파일을 구성하여 실행 시 프로필 메시지를 사용 중지합니다. 이렇게 하면 Play 게임즈 서비스 프로필이 없는 사용자가 Play 게임즈 서비스 프로필을 만들라는 메시지가 표시되지 않고 게임을 계속 로드할 수 있습니다.

사용자는 모든 ID 제공업체로 로그인할 수 있지만 Play Games 플랫폼 인증으로 인증하도록 유도하는 프로필 만들기 메시지를 표시해야 합니다. 필요에 따라 이 메시지를 표시하되 사용자가 업적 및 리더보드와 같은 기능에서 상당한 진행 상황을 만들기 전에 표시되도록 하세요.

다음 권장 시점에 프로필 메시지를 트리거하는 것이 좋습니다.

  • 튜토리얼을 완료한 후
  • 보상이 제공되는 순간 (예: 경기에서 승리, 희귀 아이템 수집, 주요 기록 달성)
  • 두 번째 세션을 시작할 때

자세한 내용은 자동 트리거 프로필 만들기 방지 (Java)자동 트리거 프로필 만들기 방지 (Unity)를 참고하세요.

인게임 인증

플랫폼 인증이 성공적으로 실행되면 개발자는 현재 게임 상태에 따라 플레이어가 IGA에 액세스할 수 있도록 다음 단계를 구현해야 합니다.

  1. 기기에 활성 게임 세션이 있는 경우 플레이어가 현재 세션을 재개하도록 허용합니다.
  2. 활성 게임 세션이 없는 경우:
    1. 마지막으로 플레이한 IGA가 PGS 플레이어 ID와 연결된 원활한 복원 시나리오의 경우, 연결된 IGA를 자동으로 복원합니다.
    2. 그렇지 않으면 플레이어에게 애플리케이션의 지정된 로그인 또는 계정 만들기 화면을 표시합니다. 그러면 플레이어가 선호하는 인증 방법을 선택하여 기존 IGA를 설정하거나 로그인할 수 있습니다.

OAuth 범위

Play 게임즈 서비스는 OAuth 시스템 을 사용하며, 이를 통해 플레이어는 자신의 계정에 대한 액세스 권한을 게임에 부여할 수 있습니다. Play 게임즈 서비스는 게임에 관한 고유한 범위(games-lite)를 가지며 게임에 저장된 게임 기능이 사용되는 경우에는 다른 범위(drive.appdata)를 사용합니다. 저장된 게임 기능을 사용하면 게임 데이터가 저장되는 사용자의 Google Drive 계정에 액세스할 수 있습니다.

Play Games 서비스 v2 SDK를 사용하는 경우 추가 OAuth 범위를 요청할 수 있습니다. 추가 OAuth 범위가 필요한 경우 requestServerSideAccess를 호출하는 것이 좋습니다. 자세한 내용은 서버 승인 코드 가져오기 또는 서버 승인 코드 검색을 참고하세요.

이상적인 인증 흐름을 위한 사용자 환경 가이드라인

다음 가이드라인에서는 PGS v2 통합을 사용한 권장 인증 흐름을 설명합니다. 신규, 기존, 재사용자, 게스트 모드의 시나리오를 다룹니다.

새로운 플레이어

이 흐름은 게임을 이전에 플레이한 적이 없는 기기에서 게임을 처음으로 실행하는 사용자에게 적용됩니다.

  1. 실행 시 PGS SDK가 초기화되어 사용자의 플랫폼 ID (PGS 플레이어 ID)를 인증합니다.
  2. 이 백그라운드 핸드셰이크 후 게임은 플레이어에게 IGA 만들기 옵션(예: 새 계정 만들기, Google 계정으로 로그인 또는 기타 소셜 로그인 방법)을 표시합니다.
  3. 플레이어가 IGA를 만들거나 선택하면 게임은 이 계정을 백엔드에서 선택한 기본 식별자에 결합합니다.
  4. 게임은 또한 이 선택한 IGA를 PGS 플레이어 ID에 결합하여 원활한 복원을 위해 마지막으로 플레이한 IGA로 표시합니다.
로그인된 PGS 프로필이 있는 신규 플레이어
PGS 프로필에 로그인한 새로운 플레이어 (확대하려면 클릭)
PGS 프로필이 없는 신규 플레이어
PGS 프로필이 없는 새로운 플레이어 (확대하려면 클릭)
로그인된 PGS 프로필이 있는 신규 플레이어
PGS 프로필에 로그인한 새로운 플레이어 (확대하려면 클릭)

활성 세션이 있는 플레이어

이 시나리오에서는 이미 활성 세션이 있는 기기에서 게임을 실행하는 플레이어를 설명합니다. 목표는 원활한 진입 환경을 제공하는 것입니다.

  1. 플레이어가 앱을 실행하면 PGS가 백그라운드에서 자동으로 인증되어 업적 및 기타 Play 게임즈 기능에 대한 진행 상황을 추적할 수 있는 플레이어 ID를 제공합니다.
  2. 동시에 게임은 로그인 화면을 건너뛰고 플레이어를 활성 IGA 세션 또는 플레이어 ID와 연결된 마지막으로 플레이한 IGA에 즉시 로그인시켜 게임플레이를 즉시 재개할 수 있도록 합니다.
로그인된 PGS 프로필로 동일한 기기에서 게임 실행
PGS 프로필에 로그인한 상태로 동일한 기기에서 게임 실행 (확대하려면 클릭)
로그아웃된 PGS 프로필로 동일한 기기에서 게임 실행
PGS 프로필에서 로그아웃한 상태로 동일한 기기에서 게임 실행 (확대하려면 클릭)
PGS 프로필이 없는 동일한 기기에서 게임 실행
PGS 프로필이 없는 상태로 동일한 기기에서 게임 실행 (확대하려면 클릭)
로그인된 PGS 프로필과 연결된 IGA로 새 기기에서 게임 실행
PGS 프로필에 로그인하고 IGA가 연결된 상태로 새 기기에서 게임 실행 (확대하려면 클릭)
로그인된 PGS 프로필이 있고 연결된 IGA가 없는 새 기기에서 게임 실행
PGS 프로필에 로그인하고 IGA가 연결되지 않은 상태로 새 기기에서 게임 실행 (확대하려면 클릭)
로그아웃된 PGS 프로필로 새 기기에서 게임 실행
PGS 프로필에서 로그아웃한 상태로 새 기기에서 게임 실행 (확대하려면 클릭)
PGS 프로필이 없는 새 기기에서 게임 실행
PGS 프로필이 없는 상태로 새 기기에서 게임 실행 (확대하려면 클릭)

계정을 전환하는 플레이어

이 흐름은 활성 세션이 있는 플레이어가 계정을 전환하기 위해 게임 설정으로 이동할 때 발생합니다. 예를 들어 대체 계정을 사용하기 위해 기본 계정에서 로그아웃합니다.

  1. 플레이어가 현재 IGA에서 로그아웃하지만 PGS 플랫폼 연결은 활성 상태로 유지됩니다.
  2. 플레이어가 다른 IGA로 로그인하면 게임은 이 새 계정을 원활한 복원을 위해서만 마지막으로 플레이한 IGA로 현재 PGS 플레이어 ID에 결합합니다.
PGS 프로필에 바인드되지 않은 IGA로 전환
PGS 프로필에 결합되지 않은 IGA로 전환 (확대하려면 클릭)
동일한 로그인 PGS 프로필에 바인드된 IGA로 전환
동일한 PGS 프로필에 결합된 IGA로 전환 (확대하려면 클릭)
다른 PGS 프로필에 바인드된 IGA로 전환
다른 PGS 프로필에 결합된 IGA로 전환 (확대하려면 클릭)
기기에 PGS 프로필이 없는 상태에서 IGA 전환
기기에 PGS 프로필이 없는 상태로 IGA 전환 (확대하려면 클릭)
로그아웃된 PGS 프로필로 IGA 전환
PGS 프로필에서 로그아웃한 상태로 IGA 전환 (확대하려면 클릭)
존재하지 않는 IGA로 전환
존재하지 않는 IGA로 전환 (확대하려면 클릭)

재사용자를 위한 원활한 복원

이 시나리오는 플레이어가 비활성 기간 후, 재설치 후 또는 완전히 새로운 기기에서 게임을 실행할 때 적용됩니다. 게임은 원활한 복원을 구현하는 것이 좋습니다.

  1. 실행 시 PGS는 사용자를 인증하고 게임에 PGS 플레이어 ID를 제공합니다.
  2. 게임은 백엔드를 확인하거나 (Recall API를 사용하는 경우 검색된 리콜 토큰) 마지막으로 플레이한 IGA가 이미 이 PGS ID에 연결되어 있는지 확인합니다.
  3. 연결이 발견되면 게임은 플레이어의 진행 상황을 자동으로 복원하고 플레이어를 로그인시켜 수동 로그인 화면을 완전히 건너뜁니다.
  4. 그렇지 않으면 게임은 플레이어에게 로그인 화면을 표시합니다.
    1. 그러면 플레이어가 로그인 방법을 선택하고 IGA에 로그인합니다.
    2. 그러면 게임은 이 IGA를 PGS 플레이어 ID와 함께 원활한 복원을 위해 마지막으로 플레이한 IGA로 결합합니다.
로그아웃된 PGS 프로필이 있는 복귀 플레이어
PGS 프로필에서 로그아웃한 플레이어 (확대하려면 클릭)
로그인된 PGS 프로필과 연결된 IGA가 있는 복귀 플레이어
PGS 프로필에 로그인하고 IGA가 연결된 재사용자 (확대하려면 클릭)
로그인된 PGS 프로필이 있고 연결된 IGA가 없는 복귀 플레이어
PGS 프로필에 로그인하고 IGA가 연결되지 않은 플레이어 (확대하려면 클릭)
PGS 프로필이 없는 복귀 플레이어
PGS 프로필이 없는 복귀 플레이어 (확대하려면 클릭)

게스트 모드

플레이어는 로컬 게스트 계정을 사용하여 게임을 실행하고 플레이할 수 있습니다. Play 게임즈 서비스는 여전히 백그라운드에서 플레이어를 인증합니다. 플레이어가 진행 상황 저장을 선택하면 게임은 게스트 세션을 영구 IGA로 변환하고 플레이어 ID에 결합합니다. 충돌 해결에 관한 자세한 내용은 게스트 계정을 참고하세요.

게스트 모드 - IGA가 생성되지 않음
게스트 모드 - IGA가 생성되지 않음 (확대하려면 클릭)
게스트 모드 - IGA 생성됨
게스트 모드 - IGA가 생성됨 (확대하려면 클릭)