[Unity3D] Google Play Games Plugin에서 ERROR_NOT_AUTHORIZED 에러가 발생할 때

Google Play Games Plugin을 Unity에 붙이고 로그인을 시도하면 ERROR_NOT_AUTHORIZED 에러가 발생하면서 로그인이 안되는 경우가 있습니다.

이 문제는 Google Play Console의 설정을 제대로 하지 않은 경우게 발생합니다.

문제 해결을 위해서 두가지를 확인해야 합니다.

첫번째는 Unity에서 GPGS의 설정입니다.

  1. Unity에서 <Window-Google Play Games-Setup-Android setup...> 메뉴를 선택합니다.

  2. 아래와 같은 창이 뜹니다. 이 창의 항목들을 설정해 줘야 합니다.

  3. Directory to save constant, Constants class name은 적당하게 입력해 줍니다.
    Directory to save constant : Resource Definition 에 정의된 값들을 저장한 C# 파일을 생성할 폴더 위치
    Constants class name : Resource Definition에 정의된 값들을 저장한 C# Class의 이름
  4. Resources Definition은 Google Play Console에서 가져옵니다.
    업적, 이벤트 중 하무거나 하나 추가하고나면 '리소스 받기' 메뉴가 나타납니다. 업적과 이벤트를 하나도 추가하지 않고 받아올 수도 있을텐데 버튼이 등장하지 않네요.

  5. Web App Client ID는 입력을 해도 되고 안해도 되는 부분인데 Firebase나 외부 로그인 모듈을 사용하려면 입력해 줍니다.

두번째는 Google Play Console의 설정입니다.

  1. Google Play Console API 사이트에 접속합니다.
    https://console.developers.google.com
  2. OAuth 2.0 클라이언트 ID에서 Android 클라이언트 정보가 있는지 확인해 봅니다.
    (아마 별다른 셋팅이 없었다면 없을 겁니다.)

  3. '사용자 인증 정보 만들기' 를 클릭하고 'OAuth 클라이언트 ID'를 선택합니다.

  4. 아래와 같은 화면이 있고 '서명 인증서 지문' 과 '패키지 이름'을 입력해야 합니다.

  5. Google Play Console의 프로젝트에서 SHA-1 인증서 지문을 복사하여 4번 항목의 '서명 인증서 지문' 부분에 붙여넣습니다.

    만약 인증서를 업로드 하라거나 어쩌구 메시지가 뜨면 APK를 빌드할 때 사용한 key store를 등록해야 합니다. 관련 정보는 해당 메뉴의 도움말을 참고하세요.
    업로드 인증서를 실수로 입력하는 경우가 많으니 주의!

4번 항목의 '패키지 이름'은 Unity에서 APK를 빌드할 때 사용한 것을 넣어줍니다.

위의 두가지가 조금이라도 잘못 설정되어 있으면 로그인이 제대로 안됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다