728x90

처음에는 구글 로그인이 제대로 됐고, 리더보드가 뜨는 것까지 확인을 했었다.

근데 어느 순간부터 안됐던 건지, 구글 로그인도 안되고 로그인이 안되니 리더보드도 당연히 보이지 않았다.

도대체 그 부분 소스는 바꾼적도 없고, 설정을 건드린 것도 없었는데..

심지어.. 이 글을 읽는 유저들도 알다시피 로그인 구현은 다섯줄을 넘기지 않는다... 복잡한 소스가 아니니까. 

너무 많은 시간을 빼았겼지만.. 결국 알아냈다. 

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

 

[Unity/Theory] 구글 플레이와 연동하여 기능을 구현하자! (초반 앱 승인하기)

!!! NOTICE !!! 이 글은 유니티의 이론을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 게임 개발자라면 반드시 만나게

onionisdelicious.tistory.com

 

////////////////////////////////////////////////////////////////////

 

위에 처럼 하면 로그인이 잘되겠지만, 그건 테스트 상태일때만이다.

내 말은, 유니티에서 빌드를 해서 바로 그 apk파일로 진행을 할 땐 로그인이 가능하다.

하지만 플레이스토어에 올리고 올라간 그 게임으로 진행을 하게 되면, 또 로딩바만 돌고 끝나게 될것이다.

왜 이런식으로 만들어 놓았는지는 나도 초보개발자라 모르겠지만... 배포하는 게임의 서명키는 다른걸 넣어주어야 한다.

1. 구글 콘솔에 들어간다.

2. 설정 > 앱 무결정으로 들어간다.

3. 아래 사진처럼 나오는데,
   - 실제 배포할때는 앱 서명키로 된 OAuth 2.0의 클라이언트 아이디를 넣어 주어야 한다.
   - 테스트 할떄는 업로드 키 인증서.

 

 

나는 바보같이 그걸 모르고 업데이트 했다가. 또 로그인이 안되는 걸 경험했다.

다시 업데이트를 하기 싫어서. 일단은 내가 현재 사용중인 clientId에 SHA-1 지문으로 바꿔치기 했다. 

그럼 다시 유니티로 바로 빌드해서 실행할때는 안되겠지...

제발 이걸로 끝이길 바란다... ^_ㅜ

나는 초보 개발자이고, 이번이 두번째 게임이기 때문에 삽질을 너무 많이 했다. 다른 초보개발자들은 나같은 삽질을 안했으면 하는 마음에서 글을 올린다... 

+ Recent posts