구글 해시키

구글 해시키 획득방법

구글 해시키는 안드로이드 앱과 뒤끝 사이의 정보교환인증을 위해 필요한 값입니다.
생성된 키를 뒤끝 콘솔의 프로젝트에 등록하고, SDK를 초기화하는 과정에서 자동으로 apk 에서 구글 해시 키를 받아옵니다.
뒤끝 SDK의 Backend.Utils.GetGoogleHash (); 을 통해 획득할 수 있습니다.

뒤끝 인스팩터 창에서 구글해시키 획득 방법

주의
  • 해당 기능은 SDK 4.4.0부터 지원하고 있습니다.
  • DebugHash, ReleaseHash는 Java, openssl이 설치되어 있어야 정상적으로 실행이 됩니다. Sha1Hash의 경우는 필요로 하지 않습니다.
  • java는 Oracle사이트를 통해서 다운받으실 수 있습니다.
  • openssl은 맥 : openssl.org, 윈도우 : slproweb.com를 통해서 다운받으실 수 있습니다
  • 두 프로그램 설치후에는 컴퓨터를 재부팅하는 것을 권장합니다.
  • keystore나 openssl 경로에 공백 또는 특수문자가 있을 경우, 정삭적인 실행이 되지 않습니다.
  • keystore의 값을 잘못 지정하거나, alias, password, SHA1value가 틀릴 경우, 해당 앱과는 관련없는 hashKey가 출력 될 수 있습니다.

뒤끝 SDK를 다운받은 후, 유니티에 있는 The Backend > Edit Settings > GoogleHashKey를 이용하여 뒤끝 콘솔에서 이용할 해시키들을 얻으실 수 있습니다.

openssl 설치법(윈도우)

디버그 해시키 출력
  1. slproweb.com에서 Openssl을 다운받습니다.(그림1)

  2. 다운받은 설치파일을 실행시킵니다.

  3. I accept the agreement에 체크를 해줍니다.

  4. 경로값을 기본값인 Program Files가 아닌 공백이나 특수문자가 없는 경로로 수정해줍니다.(그림2)

  5. The Windows system directory에 체크를 해줍니다.

  6. 설정사항 확인 후, Install을 눌러줍니다.

  7. 설치 후, Finish를 누르기 전에, 체크박스를 모두 해제해 주시고 Finish를 누릅니다.(그림3)

디버그 해시키 얻는 방법

디버그 해시키 출력
  1. Debug 버튼을 클릭합니다.

  2. 다운받았던 openssl폴더에 있는 openssl파일을 Find버튼을 통해 찾습니다.
    Win의 경우 : Find를 눌러 openssl.exe를 찾습니다.
    Mac의 경우 : 경로를 찾지 않고 공백으로 둡니다(Generate 클릭시 자동으로 경로 지정).

  3. debug.keystore를 지정해줍니다.(경로는 개발환경에 따라 다를 수 있습니다.)
    기본적인 경로는 다음과 같습니다.(경로가 보이지 않을 경우에는 숨김 파일 보기을 활성화해주세요)
    Win의 경우 : C:\Users\.android\debug.keystore
    Mac의 경우 : ~/.android/debug.keystore

  4. 설정이 완료되면 Generate버튼을 눌러, DebugHash에 출력된 해시키를 뒤끝 콘솔에 넣어줍니다.

릴리즈 해시키 얻는 방법

릴리즈 해시키 출력
  1. Release 버튼을 클릭합니다.

  2. 다운받았던 openssl폴더에 있는 openssl파일을 Find버튼을 통해 찾습니다.
    Win의 경우 : Find를 눌러 openssl.exe를 찾습니다.
    Mac의 경우 : 경로를 찾지 않고 공백으로 둡니다(Generate 클릭시 자동으로 경로 지정).

  3. 유니티에 File > Build Settings > Player Settings > Android > Publishing Settings 에 있는 ProjectKeystore의 PasswordProject Key의 Alias를 입력해줍니다.

  4. 만들어두었던 keystore을 찾아줍니다

  5. Generate버튼을 눌러, ReleaseHash에 출력된 해시키를 뒤끝 콘솔에 넣어줍니다.

GooglePlay 앱서명 HashKey 얻는 방법

sha1 해시키 출력
  1. Sha1 버튼을 클릭해줍니다.

  2. 구글 플레이 콘솔 > 해당 어플리케이션 > 출시 관리 > 앱서명 인증서 > SHA-1 인증서 지문을 SHA1 빼고 복사해줍니다
    ex) AA:D5:48:C4:D1:BD:V7:BB:ND:MA:AA:B1:CF:DE:E9:F4:G9:H7:J9:L7

  3. 복사한 지문을 SHA1value에 입력해줍니다

  4. Generate 버튼을 눌러, Sha1Hash에 출력된 해시키를 뒤끝 콘솔에 넣어줍니다.

뒤끝 콘솔에 구글 해시키 등록 방법

Backend.Utils.GetGoogleHash (); 함수를 통해 획득한 구글 해시키는 뒤끝콘솔 > 서버 설정 > 인증정보 메뉴에서 등록할 수 있습니다.
디버그 칸, 릴리즈 칸 간의 성능차이는 없습니다.

뒤끝 콘솔 - 구글 해시키

구글 플레이에 올려서 받은 apk의 구글해시키와 이전의 구글해시키가 다릅니다.

구글 스토어에 apk를 업로드 할 때, google play 앱 서명을 체크하신 경우,
구글은 업로드된 apk에서 서명된 키 시그니처를 확인하고, 해당 시그니처를 삭제합니다.
이후, 구글은 구글의 인증키로 다시 시그니처를 생성하기 때문에 업로드 당시의 시그니처와 업로드 이후의 시그니처가 다릅니다.

디버깅을 위해 뒤끝 콘솔에서 업로드 전 구글해시키를, 배포를 위해 릴리즈 키에 업로드 후 구글해시키를 등록해주시면 됩니다.
뒤끝 이외의 파이어베이스(구글로그인/푸시서비스) 혹은 페이스북의 인증키 등록도 마찬가지로 진행해 주셔야 업로드된 버전의 apk에서 기능을 정상적으로 사용할 수 있습니다.

참고 : https://support.google.com/googleplay/android-developer/answer/7384423

구글 해시키는 총 3개가 생성될 수 있습니다.

  1. keyStore대신 디버그 키를 등록하여 생성된 디버그 해시키
  2. keyStore를 등록하여 생성된 릴리즈 해시키
  3. 구글 콘솔에 업로드 후 구글의 인증키로 생성된 사이닝 해시키

3번 사이닝 해시키를 릴리즈 해시키 칸에, 1번 혹은 2번을 디버그 해시키 칸에 등록하면 원활하게 서비스 및 테스트가 가능합니다.