플랫폼 인증

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

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

인증 개념

Play 게임즈 서비스 v2에서 '로그인' 개념은 플랫폼 인증게임 내 인증이라는 두 개의 별도 레이어로 구분됩니다.

플랫폼 인증

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

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

플레이어 ID

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

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

게임 내 인증

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

  • 기본 ID: 자체 백엔드, Google로 로그인(SiWG) 또는 기타 제공업체를 기본 로그인 방법으로 사용할 수 있습니다.
  • 독립성: 플레이어는 Play 게임즈 서비스(플랫폼 ID)에 로그인하여 특정 IGA(예: 게스트 계정 또는 특정 SiWG 계정)에 로그인한 상태에서 업적을 획득할 수 있습니다.
  • 여러 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 게임즈 서비스와 통합하려면 다음 권장 단계를 따르세요.

초기화 및 인증

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

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

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

자동 로그인 메시지

프로필 만들기

플레이어가 플랫폼을 이용하려면 Play 게임즈 서비스 프로필이 필요합니다. 일부 플레이어는 게임을 시작할 때 Play 게임즈 서비스 프로필이 없을 수 있습니다. 이러한 플레이어에게는 계정을 만들라는 메시지가 표시됩니다.

자동으로 트리거되는 프로필 생성 메시지는 Play 게임즈 서비스 프로필 없이 게임을 실행할 때 기본적으로 자동으로 표시됩니다.

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

게임 내 인증

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

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

OAuth 범위

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

Play 게임즈 서비스 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 프로필이 없는 복귀 플레이어
Play 게임즈 서비스 프로필이 없는 복귀 플레이어 (확대하려면 클릭)

게스트 모드

플레이어는 로컬 게스트 계정을 사용하여 게임을 실행하고 플레이할 수 있습니다. PGS는 백그라운드에서 계속 인증합니다. 플레이어가 진행 상황 저장을 선택하면 게임에서 게스트 세션을 영구 IGA로 변환하고 이를 PGS 플레이어 ID에 바인딩합니다.

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