처음에는 구글 로그인이 제대로 됐고, 리더보드가 뜨는 것까지 확인을 했었다.
근데 어느 순간부터 안됐던 건지, 구글 로그인도 안되고 로그인이 안되니 리더보드도 당연히 보이지 않았다.
도대체 그 부분 소스는 바꾼적도 없고, 설정을 건드린 것도 없었는데..
심지어.. 이 글을 읽는 유저들도 알다시피 로그인 구현은 다섯줄을 넘기지 않는다... 복잡한 소스가 아니니까.
너무 많은 시간을 빼았겼지만.. 결국 알아냈다.
keystore가 문제였다.
별 생각없이 게임을 만들고 나서 마지막에 keystore를 생성했는데, 그게 문제였던 것 같다.
내가 구글개발자 콘솔에 넣은 SHA-1의 값과 내가 생성한 keystore의 SHA-1의 값이 달라서였다.
다른 포스팅에 내가 사용한 keystore의 sha-1 추출하는 법을 적어놨으니 확인해보면 될것같다.
1. keystore의 sha-1를 구한다.
2. 구글 API 클라우드에서 OAuth 2.0 클라이언트 아이디를 하나 더 생성하고, 그에 맞는 API도 하나 더 생성한다.
3. OAuth 클라이언트를 만들었으니 구글 개발자 콘솔에서 Play 게임 서비스에 방금 만든 클라이언트로 갈아끼운다.
4. 구글 개발자 콘솔에서 이런저런 등등의 설정들을 모두 마치고, 유니티로 돌아와 클라이언트 id를 window > google play games > set up > google play setup 에서 클라이언트 ID를 다시 넣는다.
5. 그러고 나서 빌드를 하면 안될 수도 있다. 그래서 Assets > External Dependency Manager > Android Resolver > Force Resolve를 해주고 다시 빌드를 하게 되면 잘된다.
6. 끝.
상세한 부분들은 구글 검색을 하면 친절히 알려줄테니. 검색을 하기 바란다.
참고 : https://onionisdelicious.tistory.com/68
////////////////////////////////////////////////////////////////////
위에 처럼 하면 로그인이 잘되겠지만, 그건 테스트 상태일때만이다.
내 말은, 유니티에서 빌드를 해서 바로 그 apk파일로 진행을 할 땐 로그인이 가능하다.
하지만 플레이스토어에 올리고 올라간 그 게임으로 진행을 하게 되면, 또 로딩바만 돌고 끝나게 될것이다.
왜 이런식으로 만들어 놓았는지는 나도 초보개발자라 모르겠지만... 배포하는 게임의 서명키는 다른걸 넣어주어야 한다.
1. 구글 콘솔에 들어간다.
2. 설정 > 앱 무결정으로 들어간다.
3. 아래 사진처럼 나오는데,
- 실제 배포할때는 앱 서명키로 된 OAuth 2.0의 클라이언트 아이디를 넣어 주어야 한다.
- 테스트 할떄는 업로드 키 인증서.
나는 바보같이 그걸 모르고 업데이트 했다가. 또 로그인이 안되는 걸 경험했다.
다시 업데이트를 하기 싫어서. 일단은 내가 현재 사용중인 clientId에 SHA-1 지문으로 바꿔치기 했다.
그럼 다시 유니티로 바로 빌드해서 실행할때는 안되겠지...
제발 이걸로 끝이길 바란다... ^_ㅜ
나는 초보 개발자이고, 이번이 두번째 게임이기 때문에 삽질을 너무 많이 했다. 다른 초보개발자들은 나같은 삽질을 안했으면 하는 마음에서 글을 올린다...
'Unity' 카테고리의 다른 글
[Unity] 이미지 줄이거나 늘일때 안깨지도록 하기 (0) | 2023.07.06 |
---|---|
[Unity] Prefab으로 만든 목록의 버튼을 누르면 목록 리셋 (0) | 2023.06.27 |
[Unity] 애니메이션 딜레이 후 다시 재생 (0) | 2023.06.12 |
[Unity] Faild to update Android SDK package list. See the Console for details. (0) | 2021.08.08 |
[Unity] keystore sha256만 뽑아질때 (0) | 2021.08.08 |