본문 바로가기
Unity/Manual

Unity Android 로그인 구현

by Dev_카페인 2024. 7. 8.
반응형

 


Unity Android 로그인 구현

 

CustomMainManifest 생성

 

 

 

 

jdk 다운로드

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

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을 다운로드해야 합니다.

사용 중인 운영체제에 따라 아래 명령어를 입력합니다.

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

 

 

원하는 폴더에 압축을 푼다.

 

openssl을 환경 변수에 등록해줘야 한다.

시스템 속성에서 하단 환경 변수를 클릭한다.

환경변수에서 Path 값을 수정해줘야한다.

편집을 눌러 새로만들기를 눌러주고

openssl bin 경로를 넣어준다.

 

 

터미널에서 디버그, 릴리즈 키 해시 생성

터미널에서 키 해시를 생성하려면 키 해시를 관리하는 키툴(keytool)이 필요합니다. Windows의 경우, Windows 라이브러리를 위한 OpenSSL을 다운로드해야 합니다.

사용 중인 운영체제에 따라 아래 명령어를 입력합니다.

 

디버그 키 해시 (Mac)

Mac
Windows
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

릴리즈 키 해시  (Mac)

Mac
Windows
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

 

 

디버그 키 해시 (Windows)

Mac
Windows
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

릴리즈 키 해시  (Windows)

Mac
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>이다.

 

인식된 환경 변수 - Windows Deployment

환경 변수를 사용하여 다른 컴퓨터에서 다를 수 있는 폴더를 식별하는 방법을 알아봅니다.

learn.microsoft.com

 

성공적으로 생성된 모습

 

 

안드로이드 스튜디오에서도 할 수 있는데

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 키가 출력된다.

 

 

 

 

 

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

 

 

 

 

반응형