본문 바로가기

전생의 기억/Unity

Unity 에서 Facebook SDK For Unity 연동 에러 해결하기(Android) - OpenSSL, Unity Editor No Response, Freezing, KeyHash 생성, FaceBookSettings 응답없음

이번에 인디게임 경연대회를 준비하면서, Facebook SDK를 Unity 상에서 연동해야하는 일이 생겨서 작업 도중, 연동이 잘 안되는 상황이 되었다. 이후, 이틀정도 삽질하다가 겨우 알아낸 방법들을 공유하고자 합니다.

 

- 결론 - 

OpenSSL을 이용하여 Unity의 FaceBook SDK 소스를 통해 Debug용 Android KeyHash를 자동으로 생성하는 작업을 수동으로 직접 해줌으로써 해결.

- 준비되어야 할 사항-

1. openssl이 설치 되어있어야 합니다.

2. java jdk가 설치되어 있어야합니다.

3. 위의 두 패키지에 대한 환경변수 등록이 되어있어야 합니다.(커맨드 또는 터미널 창에서 명령어 입력이 가능해야함)

4. release용 /keystore 또는 Debug용 .keystore 파일의 경로를 정확히 알고 있어야합니다.

 - 보통 Debug용 .keystore 파일은 ~home/.android(숨겨진 디렉토리)/       <- 해당 경로에 존재합니다.

 - Release용 .keystore 파일은 직접 관리하시겠죠 ㅎ

 

-------------------------------------------------------------------------------------------------------------------------

수동으로 Debug Android Hash Key 및 Relese용 HashKey생성 방법('<' , '>' 는 제거하시고 명령어를 입력하시기 바랍니다.)Mac OS

: 터미널 실행 후 아래 명령어 입력하면 26자리의 KeyHash를 얻을 수 있습니다.

keytool -exportcert -alias <키별명(alias)> -keystore <~/.android/debug.keystore 또는 debug.keystore 파일이 존재하는 경로> | openssl sha1 -binary | openssl base64

 

or 

 

keytool -exportcert -alias <키별명(alias)> -keystore <~/.android/debug.keystore 또는 debug.keystore 파일이 존재하는 경로> | openssl sha1 -binary | openssl enc -a -e

 

예시 )

Window OS

CMD 창에서 아래의 명령어 입력

 

keytool -exportcert -alias <androiddebugkey(키 별명)> -keystore <%HOMEPATH%\.android\debug.keystore(키스토어 파일 경로> | openssl sha1 -binary | openssl base64

 

 

이상, 28자리의 키 해시 생성 방법을 알아보았습니다.

해당 방법으로 출력된 28자리의 KeyHash를 FaceBook Develop 사이트의 내 앱에서 일반 설정에 추가하시면 되겠습니다.

 

원본 참조는 Facebook Document의 FaceBook SDK For Android에 기재되어있는 내용입니다. Unity로 접근하다보니 시간이 한참 걸렸습니다. 애초에 오어스 연동을 해본 경험이 있었다면 훨씬 쉽게 해결할 수 있었을 듯합니다.

 

 

안드로이드 어플리케이션의 Debug및 Release용 Key Hash 수동 추출방법

https://developers.facebook.com/docs/android/getting-started

 

시작하기 - Android SDK - 문서 - Facebook for Developers

 

developers.facebook.com

 

 

증상

 

1. FaceBook SDK Import 후, FaceBook 탭의 Edit Setting을 클릭하였을 때, Unity Editor 멈춤, 응답없음.

 

2. Unity 응답없음 상태에서 Unity Hub를 종료하였을 때, FacebookSetting 파일이 열리지만, KeyHash 값이 생성되지않음.

 

 

 

알아봤던 여러 해결방법들 ( 실패 )

 

OpenSSL Version 문제  (1.0.x  -> 0.9.8 버전으로 다운 그레이드 하기)

https://stackoverflow.com/questions/30994605/facebook-unity-sdk-setting-crash-in-editor

 

facebook unity sdk setting crash in Editor

After installing OpenSSL (1.0.1x) x64 vision. I pressed the Facebook>Edit Setting, and the Unity Editor crashed. Before I installed OpenSSL. It worked but OpenSSL was not found. Here is how I set...

stackoverflow.com

JDK 설치 및 환경변수 설정 등등