Play 게임즈 서비스 v2로 이전 (Unity)

이 문서에서는 기존 게임을 게임 v1 SDK에서 게임 v2 SDK로 이전하는 방법을 설명합니다. Unity용 Play 게임즈 플러그인 버전 10 이하에서는 게임즈 v1 SDK를 사용합니다.

시작하기 전에

  • Play Console을 이미 설정하고 Unity Hub를 설치했는지 확인합니다.

Unity용 Google Play 게임즈 플러그인 다운로드

Play 게임즈 서비스의 최신 기능을 사용하려면 최신 플러그인 버전을 다운로드하여 설치하세요. GitHub 저장소에서 다운로드합니다.

이전 플러그인 삭제

Unity Hub에서 다음 폴더 또는 파일을 삭제합니다.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Unity 프로젝트에서 강조 표시된 폴더를 삭제합니다.
Unity 프로젝트에서 강조 표시된 폴더를 삭제합니다(확대하려면 클릭).

새 플러그인을 Unity 프로젝트로 가져오기

Unity 프로젝트에 플러그인을 가져오려면 다음 단계를 따르세요.

  1. 게임 프로젝트를 엽니다.
  2. Unity Hub에서 Assets(애셋) > Import Package(패키지 가져오기) > Custom Package(맞춤 패키지)를 클릭하여 다운로드한 unitypackage 파일을 프로젝트의 애셋으로 가져옵니다.
  3. 현재 빌드 플랫폼이 Android로 설정되어 있는지 확인합니다.

    1. 기본 메뉴에서 File > Build Settings를 클릭합니다.

    2. Android를 선택하고 Switch Platform을 클릭합니다.

    3. Window > Google Play Games 아래에 새 메뉴 항목이 있습니다. 표시되지 않으면 Assets > Refresh를 클릭하여 애셋을 새로고침한 다음 빌드 플랫폼을 다시 설정해 봅니다.

  4. Unity Hub에서 File(파일) > Build Settings(빌드 설정) > Player Settings(플레이어 설정) > Other Settings(기타 설정)를 클릭합니다.

  5. 타겟 API 수준 상자에서 버전을 선택합니다.

  6. 스크립팅 백엔드 상자에 IL2CPP를 입력합니다.

  7. 타겟 아키텍처 상자에서 값을 선택합니다.

  8. 패키지 이름 package_name을 확인합니다.이 정보를 나중에 사용할 수 있습니다.

    Unity 프로젝트의 플레이어 설정
    Unity 프로젝트의 플레이어 설정입니다.
  9. Play Console에서 Android 리소스 복사하기

  10. Unity 프로젝트에 Android 리소스 추가하기

자동 로그인 코드 업데이트

PlayGamesClientConfiguration 초기화 클래스를 PlayGamesPlatform.Instance.Authenticate() 클래스로 대체합니다. PlayGamesPlatform 초기화 및 활성화는 필요하지 않습니다. PlayGamesPlatform.Instance.Authenticate()를 호출하면 자동 로그인 결과가 가져옵니다.

C#

Unity Hub에서 PlayGamesClientConfiguration 클래스가 있는 파일을 찾습니다.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

다음과 같이 업데이트합니다.

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

소셜 플랫폼 선택

소셜 플랫폼을 선택하려면 소셜 플랫폼 선택을 참고하세요.

서버 인증 코드 가져오기

서버 측 액세스 코드를 가져오려면 서버 인증 코드 가져오기를 참고하세요.

로그아웃 코드 삭제

로그아웃 코드를 삭제합니다. Play 게임즈 서비스에는 더 이상 게임 내 로그아웃 버튼이 필요하지 않습니다.

다음 예에 표시된 코드를 삭제합니다.

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

게임 테스트

게임을 테스트하여 설계된 대로 작동하는지 확인합니다. 실행하는 테스트는 게임의 기능에 따라 다릅니다.

다음은 실행할 일반적인 테스트 목록입니다.

  1. 로그인 완료.

    1. 자동 로그인이 작동합니다. 사용자는 게임을 실행할 때 Play 게임즈 서비스에 로그인해야 합니다.

    2. 환영 팝업이 표시됩니다.

      샘플 시작 팝업
      샘플 시작 팝업 (확대하려면 클릭)

    3. 성공 로그 메시지가 표시됩니다. 터미널에서 다음 명령어를 실행합니다.

      adb logcat | grep com.google.android.

      성공 로그 메시지는 다음 예와 같습니다.

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. UI 구성요소 일관성 유지

    1. 팝업, 리더보드, 업적이 Play 게임즈 서비스 사용자 인터페이스 (UI)의 다양한 화면 크기와 방향에서 올바르고 일관되게 표시됩니다.

    2. Play 게임즈 서비스 UI에 로그아웃 옵션이 표시되지 않습니다.

    3. 플레이어 ID를 가져올 수 있고 해당하는 경우 서버 측 기능이 예상대로 작동하는지 확인합니다.

    4. 게임에서 서버 측 인증을 사용하는 경우 requestServerSideAccess 흐름을 철저히 테스트합니다. 서버가 인증 코드를 수신하고 이를 액세스 토큰으로 교환할 수 있는지 확인합니다. 네트워크 오류, 잘못된 client ID 시나리오에 대한 성공 및 실패 시나리오를 모두 테스트합니다.

게임에서 다음 기능 중 하나를 사용하고 있다면 테스트하여 마이그레이션 전과 동일하게 작동하는지 확인하세요.

  • 리더보드: 점수를 제출하고 리더보드를 확인합니다. 순위 및 선수 이름과 점수가 올바르게 표시되는지 확인합니다.
  • 업적: 업적을 잠금 해제하고 업적이 올바르게 기록되고 Play 게임즈 UI에 표시되는지 확인합니다.
  • 저장된 게임: 게임에서 저장된 게임을 사용하는 경우 게임 진행 상황을 저장하고 로드하는 작업이 원활하게 작동하는지 확인합니다. 이는 여러 기기에서 테스트하고 앱 업데이트 후에 테스트하는 데 특히 중요합니다.

마이그레이션 후 태스크

games v2 SDK로 이전한 후 다음 단계를 완료합니다.

  1. Play 앱 서명 사용하기

  2. AAB 파일 만들기

  3. 내부 테스트 버전 만들기

  4. 앱 서명 사용자 인증 정보 확인