Google Sign-In Unity Plugin
하란대로 하면 안되서 정리한다 ㅠㅠ.
1. Plugin download.
Google Sign-In Unity Plugin release에서 최신 버전을 다운로드 받는다.
google-signin-plugin-1.0.4.unitypackage 및 GoogleSignIn-sample.unitypackage 파일을
다운로드 받는다.
2. Unity 프로젝트 생성 및 패키지 임포트.
작업에 사용한 Unity 버전은 2019.3.0f6 버전으로 다음 위치에서 패키지를 임포트합니다.
하지만, 기대와 다르게 임포트하자마자 에러를 만나게 됩니다.
에러 내용은 다음과 같습니다.
Library\PackageCache\com.unity.textmeshpro@2.0.1\Scripts\Editor\TMP_PackageUtilities.cs(310,17): error CS0433: The type 'Task' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
해결 방법은 다음 링크에 나와있는대로 패키지의 parse 폴더를 제외합니다.
error CS0433: The type 'Task' exists in both Unity.Tasks,....
그리고 나면 또 다른 에러가 엄청나게 나옵니다.
해당 에러에 대한 힌트는 다음 링크에서 확인 가능합니다.
ArgumentException: Requested value 'x86' was not found
간단하게 요약하면 unity-jar-resolver 패키지를 설치하면 됩니다.
최신 버전은 v1.2.137 이고 zip 파일을 다운로드 하고 압축을 푼 뒤에
play-services-resolver-1.2.137.0 패키지를 설치해주면 됩니다.
다음 그림과 같이 버전이 낮은 파일이 이미 사용중일 수 있지만
최신 버전으로 업데이트 합니다.
그리고 나면 더이상 쓸모없는 파일을 삭제할 지 묻는 다이얼로그 윈도우가 뜨게 되는데,
삭제하겠다고 선택하면 됩니다.
그럼 더 이상 에러는 발생하지 않습니다.
마지막으로 제일 처음 다운로드 받았던 샘플 패키지를 임포트하면 준비는 끝났습니다.
3. Keystore 생성.
먼저 File - Build Settings - Platform을 Android로 변경한 뒤,
App signing을 위해 키를 생성합니다.
키 분실의 우려가 있으므로 프로젝트 아래 적당한 경로에 저장하고
버전 관리 시스템을 사용할 수 있도록 합니다.
구글 앱 서명 방식이 변경되어 앱 서명 인증서와 업로드 인증서로 나뉘고 구글에서
관리하도록 변경되어 분실을 하게 되더라도 복구할 방법이 현재는 존재합니다.
위 그림과 같이 키스토어에 키를 하나 생성합니다.
그리고 나면 최종적으로 다음과 같이 설정됩니다.
그리고 Player - Other Settings에서 사용할 Package Name을 설정해 주면 됩니다.
4. Google APIs.
Google Sign-In api 사용을 위해 사용자 인증 정보를 생성합니다.
Google API console에서 사용자 인증 정보 - 사용자 인증 정보 만들기를 선택한 뒤,
OAuth 클라이언트 ID를 선택하고 마지막으로 Android 선택 후 내용을 채워주면 됩니다.
생성한 뒤 Unity에서 Web Client Id를 설정합니다.
Canvas를 선택하고 Signin Sample Script 컴포넌트에 설정합니다.
그리고 빌드한 뒤 apk 배포 후 테스트 해보면 역시나 안된다.
이름도 거룩하다, DeveloperError ...
5. Google Sign-In for Android.
Google Sign-In for Android 페이지에서 아래로 스크롤 하다 보면
Configure a project 버튼을 찾을 수 있습니다.
최종적으로 Web client (Auto-created for Google Sign-in) 이름으로 생성된
OAuth 2.0 클라이언트 ID가 생기고 이 아이디를 사용해야 로그인이 됩니다.
참고로, Google API console에서 클라이언트 ID를 생성할 때 Android가 아니라
웹 애플리케이션을 선택해서 만들어도 됩니다.
이제 만들어진 클라이언트 ID로 빌드하게 되면 로그인이 드디어 됩니다.
댓글 없음:
댓글 쓰기