Unity Android 로그인 구현
CustomMainManifest 생성
jdk 다운로드
3개 중 원하는 파일 형식으로 다운로드
보통 JDK 는 C:\Program Files\Java\jdk-22 경로에 설치된다.
Keytool을 사용하기 위해 필요함
jdk 경로를 환경 변수에 등록해줘야 한다.
시스템 속성에서 하단 환경 변수를 클릭한다.
환경변수에서 Path 값을 수정해줘야한다.
편집을 눌러 새로만들기를 눌러주고 jdk bin 경로를 추가한다.
카카오 디벨로퍼
요구 사양
- Android Studio 3.6.1 이상
- API 23: Android 6.0(Marshmallow) 이상
참고: 외부 라이브러리 의존성
Android SDK는 아래와 같은 외부 라이브러리를 사용합니다. Android SDK 설치 시, 해당 외부 라이브러리가 자동으로 설치됩니다.
플랫폼
[내 애플리케이션] > [플랫폼]에서 Android 앱 정보를 입력합니다. 자세한 안내는 플랫폼 등록을 참고합니다.
키 해시 생성
OpenSSL 다운로드 필요
키 해시
키 해시(Key Hash)란 인증서(Certificate)의 인증서 지문 값(Certificate fingerprints)을 해시(hash)한 값으로, 악성 앱인지 판별하는 데 사용됩니다. 카카오 API를 호출하면 카카오 API 서버가 요청 헤더에 추가된 키 해시값과 카카오 플랫폼에 등록한 값이 일치하는지 확인합니다. 키 해시는 디버그 키 해시(Debug key hash)와 릴리즈 키 해시(Release key hash) 두 가지가 있습니다.
- 디버그 키 해시: 프로젝트를 처음 생성하거나 디버그할 때, 안드로이드 스튜디오에서 개발 환경에 맞게 자동으로 생성되는 디버그 인증서에서 해시(hash)한 값
- 릴리즈 키 해시: 앱 스토어에 앱을 배포하기 위해 생성한 릴리즈 인증서로부터 해시한 값
아래의 방법으로 디버그, 릴리즈 키 해시 값 확인 후, [내 애플리케이션] > [플랫폼] > [Android]에 모두 등록합니다. 자세한 안내는 플랫폼 등록을 참고합니다.
모든 개발 환경의 디버그 키 해시들과 릴리즈 키 해시를 등록해야 합니다. 키 해시가 등록되지 않은 앱에서는 카카오 API를 호출할 수 없습니다. 여러 명의 개발자가 앱의 개발에 참여하고 있다면 각 개발자들의 개발 환경에 따라 디버그 키스토어(keystore)가 각자 다르므로 각 디버그 키 해시를 모두 등록해야 합니다.
터미널에서 디버그, 릴리즈 키 해시 생성
터미널에서 키 해시를 생성하려면 키 해시를 관리하는 키툴(keytool)이 필요합니다. Windows의 경우, Windows 라이브러리를 위한 OpenSSL을 다운로드해야 합니다.
사용 중인 운영체제에 따라 아래 명령어를 입력합니다.
원하는 폴더에 압축을 푼다.
openssl을 환경 변수에 등록해줘야 한다.
시스템 속성에서 하단 환경 변수를 클릭한다.
환경변수에서 Path 값을 수정해줘야한다.
편집을 눌러 새로만들기를 눌러주고
openssl bin 경로를 넣어준다.
터미널에서 디버그, 릴리즈 키 해시 생성
터미널에서 키 해시를 생성하려면 키 해시를 관리하는 키툴(keytool)이 필요합니다. Windows의 경우, Windows 라이브러리를 위한 OpenSSL을 다운로드해야 합니다.
사용 중인 운영체제에 따라 아래 명령어를 입력합니다.
디버그 키 해시 (Mac)
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
릴리즈 키 해시 (Mac)
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
디버그 키 해시 (Windows)
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
릴리즈 키 해시 (Windows)
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
cmd 창을 열고 디버그 키를 입력한다.
USERPROFILE 경로는 C:\Users\<username>이다.
성공적으로 생성된 모습
안드로이드 스튜디오에서도 할 수 있는데
Kakao SDK로 디버그, 릴리즈 키 해시 확인
Android SDK의 Utility에서 제공하는 편의 기능 중 getKeyHash() 함수를 사용하여 키 해시 값을 문자열(String)로 구할 수 있습니다.
import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)
사실상 어떻게 쓰는지 잘 몰라서 뻘짓을 많이 했지만
카카오 sdk를 받아와서 안드로이드 스튜디오로 열었다.
sample-common 경로의 MainActivity를 찾아
import하고 hash 값을 출력하는데 성공했다.
import Utility를 해준다.
OnCreate안에 아래 코드를 적어 놓는다.
var keyHash = Utility.getKeyHash(this)
Log.d("KeyHash","Key : " + keyHash)
플레이 버튼을 눌러 실행시키고 하단에 로그 캣을 연 후에
tag가 KeyHash인 값을 찾아서 보면 오른쪽에 Hash 키가 출력된다.
'Unity > Manual' 카테고리의 다른 글
Unity SoundManager 구현하기 싱글톤 패턴을 활용한 BGM 및 SFX 관리 (3) | 2024.11.09 |
---|---|
Android Studio에서 AAR 파일 생성 및 Unity에서 사용하는 방법 (0) | 2024.07.09 |
Unity에서 Android 빌드 환경 설정하는 방법 단계별 가이드 (0) | 2024.07.06 |
Unity에서 데이터 테이블 사용하기: 게임 개발의 효율성을 높이기 위한 방법 (0) | 2024.06.18 |
Unity의 코루틴(Coroutine)에서 사용되는 yield return 구문 총 정리 (1) | 2024.06.16 |