답변 공유 1 )
3009(10) 오류 코드의 경우, 인증 설정이 잘못되었을 때 내려주는 코드입니다.
또한 블로그에서 확인하신 내용은 https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes#SUCCESS_CACHE() 해당 페이지의 내용과는 관련없는 에러코드 입니다.
말씀주신 것과 같이 구글 플레이 콘솔의 앱 서명 키 인증서의 SHA-1 인증서 지문도 등록해주셔야 합니다.
또한 해당 에러 관련하여 아래의 내용도 다시 확인을 부탁드립니다.
해당 페이지의 상위 메뉴로 이동 후 (APIs & Services > Credentials)
OAuth 2.0 Client IDs 항목에
Web application Type 뿐만 아니라 Android Type 역시 2개 존재하는지 확인 부탁드립니다.
Web application 타입은 서버에서 Auth Code 변환 및 토큰 검증을 하기 위해 필요며, Gamebase 콘솔에 입력하는 client id 이므로 필요합니다.
Android 타입에서 인증을 허용할 package name과 서명 정보를 입력하게 되므로 Android 타입 역시 Android 단말기에서 인증하기 위해서는 필요합니다.
Android 타입이 2개 필요한 이유는, 업로드 서명/앱 서명 모두 등록해줘야 스토어에 배포하지 않아 업로드 서명만 적용된 테스트 빌드로도 인증에 성공할 수 있기 때문입니다.
OAuth 2.0 인증 설정에 업로드 키/앱 키 모두 Android 인증 타입으로 선언되어 있는지 확인 부탁드리겠습니다.
답변 공유 2 )
해당 에러는 Google 인증에 필요한 정보가 잘못되었을 때 Google에서 리턴하는 에러입니다.
이 에러는 로그인을 테스트한 APK와 실제 Google Play Store에 배포된 앱의 APK에 적용된 서명이 다른 경우 발생할 수 있습니다.
아래 사항을 참고하시어 확인을 부탁드립니다.
1. 앱 서명 키 해시 값 확인 및 Google API 콘솔 등록
- 앱 서명 키 해시 값 확인:
- Google Play Console에 로그인하여, 앱 무결성 > 앱 서명 탭에서 앱 서명 키의 SHA-1 해시 값을 확인하고 복사합니다.
- Google API 콘솔에 등록:
- Google Cloud Console에 로그인하여 프로젝트를 선택합니다.
- API 및 서비스 > 사용자 인증 정보로 이동한 후, OAuth 2.0 클라이언트 ID를 선택합니다.
- SHA-1 인증서 지문 추가 옵션을 통해 복사한 앱 서명 키의 해시 값을 붙여넣고 저장합니다.
2. 키스토어의 인증서 해시 값 확인 및 일치 여부 검토
- 키스토어란: 키스토어는 앱에 서명을 위한 인증서를 저장하는 보안 파일로, NHN Cloud Gamebase에서는 이를 사용해 Google 인증을 안전하게 관리합니다.
- 키스토어 해시 값 확인:
- keytool을 사용해 키스토어 인증서의 SHA-1 해시 값을 확인합니다.
- keytool -list-v-keystore[키스토어 경로]-alias[별칭 이름]
- Gamebase 콘솔에서 사용하는 인증서의 해시 값과 Google API 콘솔에 등록된 값이 일치하는지 확인합니다.
3. Google API 콘솔 클라이언트 ID와 Secret Key 확인
- Google API 콘솔 설정:
- Google API 콘솔에서 OAuth 2.0 클라이언트 ID 설정의 클라이언트 ID와 Secret Key가 Gamebase 콘솔에 정확히 입력되었는지 확인합니다.
- Gamebase 콘솔 설정 확인:
- Gamebase 콘솔의 게임 > 인증 정보 관리에서 Google 인증 설정에 클라이언트 ID와 Secret Key가 일치하는지 점검합니다.
4. 승인된 리디렉션 URI 확인
- Gamebase 인증 가이드에 명시된 승인된 리디렉션 URI가 Google API 콘솔에 정확히 등록되어 있는지 확인합니다.
- 예를 들어, Gamebase 콘솔에서 안내하는 리디렉션 URI가 누락되었거나 잘못된 경우, 인증이 정상적으로 작동하지 않을 수 있습니다.
- 리디렉션 URI 확인 방법:
- Google API 콘솔에서 OAuth 2.0 클라이언트 ID 설정의 승인된 리디렉션 URI에 다음과 같은 URI들이 등록되어야 합니다:
5. 테스트 환경과 마켓 버전의 서명 키 확인
- 3009 오류는 테스트 환경과 마켓에 배포된 앱의 서명 키가 다를 때 발생할 수 있습니다.
- Google Play 서명 서비스를 사용하는 경우, 앱 서명 키의 해시 값이 Google API 콘솔에 정확히 등록되어 있는지 다시 한 번 점검합니다.
6. 업로드 키 재설정
- 모든 설정을 확인한 후에도 문제가 해결되지 않는 경우, Google Play Console에서 업로드 키를 새로 생성하여 Google API 콘솔에 등록합니다.
- Gamebase 가이드에 따라 업로드 키를 재설정하고, 변경된 해시 값을 API 콘솔에 등록합니다.
- 업로드 키 재설정에 대한 자세한 내용은 업로드 키 재설정 지원 페이지를 참고하세요.
제 문제는
구글스토어에 업로드된 프로젝트와 내부테스트 프로젝트의 서명키 참조가 달라 생기는 오류였습니다
게임베이스 콘솔>인증정보>구글 ios client ID 잘못기입되어있어 수정
구글 클라우드 콘솔>Oauth 2.0 클라이언트ID 쪽 이전 웹 애플리케이션(유형) 제거
구글 클라우드 콘솔>Oauth 2.0 클라이언트ID 안드로이드(유형) 에 플레이스토어의 앱서명키 및 업로드 키 추가 생성
안드로이드 앱서명키도+업로드키 추가
하니 해결되었습니다
-IAM 및 관리자
왼쪽 상단에 프로젝트 선택을 선택했는지 꼭 확인하자
- 앱서명키 제대로 등록했는지 확인하기
- 값을 제대로 등록했는지 확인
- URL& APPKEY는 해당 사이트 오른쪽 상단에 있으며
리전(지역)이 제대로 등록되어있는지 확인(다르면 안됨)
- URL 잘 등록되어있는지 확인
참고)
SHA키 추출 방법
https://thenight-avicii.tistory.com/11
nhn 사이트
https://docs.nhncloud.com/ko/Game/Gamebase/ko/oper-app/#authentication-information
앱 - NHN Cloud 사용자 가이드
Game > Gamebase > 콘솔 사용 가이드 > 앱 NHN Cloud Console에서 Game > Gamebase > App을 클릭하여 앱의 기본 정보를 설정할 수 있습니다. 앱: 앱 정보 관리 클라이언트: 클라이언트 버전과 상태 정보 관리 설치
docs.nhncloud.com
구글 로그인 연동
https://velog.io/@army262/Toast-Gamebase-Goolge-Login-%EC%97%B0%EB%8F%99
[Toast Gamebase] Goolge Login 연동
toast console : https://console.toast.comgoogle api console : https://console.cloud.google.com/apis/google play consle : https://play.
velog.io
Google 클라우드 플랫폼
로그인 Google 클라우드 플랫폼으로 이동
accounts.google.com
게임베이스 세팅
https://docs.nhncloud.com/ko/Game/Gamebase/ko/unity-started/
시작하기 - NHN Cloud 사용자 가이드
Game > Gamebase > Unity SDK 사용 가이드 > 시작하기 Gamebase Unity SDK 사용 환경 및 초기 설정에 대해 설명합니다. Environments [참고] Unity 지원 버전 Android [주의] 2019년 8월 1일부터 Google Play에 게시되는 신규
docs.nhncloud.com
샘플앱
https://docs.nhncloud.com/ko/Game/Gamebase/ko/Overview/#gamebase-sample-app
개요 - NHN Cloud 사용자 가이드
Game > Gamebase > 개요 게임플랫폼 선두기업 NHN 의 10년 노하우를 담은 Gamebase, 자신있게 추천합니다. Gamebase SDK 만 적용하면, 모든 서비스를 손쉽게 이용 가능합니다. Gamebase Sample App Gamebase의 다양한
docs.nhncloud.com
'유니티' 카테고리의 다른 글
unity 바이너리(Binary)란? 왜 필요할까 (0) | 2025.01.23 |
---|---|
이벤트 함수의 실행 순서와 상황 (0) | 2025.01.23 |
[unity error]InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings (0) | 2025.01.13 |
KEYSTORE 생성하기 (0) | 2025.01.13 |
[Error] No 'git' executable was found. (0) | 2025.01.09 |