카카오 SDK는 v2.5.3을 사용 중입니다.
안드로이드 앱에 카카오톡 채널링크를 연동해놨는데, 제대로 작동을 안 하네요.
해당 버튼을 눌렀을 때 실행되는 링크는 아래와 같습니다.
예상으로는 android 11 에서만 안 되는 듯 합니다.
다른 폰에서는 작동하는 것 같아요.
카카오 SDK는 v2.5.3을 사용 중입니다.
안드로이드 앱에 카카오톡 채널링크를 연동해놨는데, 제대로 작동을 안 하네요.
해당 버튼을 눌렀을 때 실행되는 링크는 아래와 같습니다.
예상으로는 android 11 에서만 안 되는 듯 합니다.
다른 폰에서는 작동하는 것 같아요.
안녕하세요~
가능하시면 이슈 발생 화면 캡쳐 부탁드리고, 이슈가 발생하는 디바이스 모델명, OS 정보, 이슈 재현 방법 등의 내용도 추가로 부탁드려요.
이슈 발생 화면은 첨부와 같습니다.
URL을 참고하니 정보는 아래와 같습니다.
이게 끝입니다.
혹시 z 플립에서만 발생하는 이슈인가요?
추가로 앱 id가 어떻게 되시는지 알려주시면 감사하겠습니다.
앱 id는 475497 입니다.
테스트 기기가 많지 않아서 다양하게 확인은 못 했습니다.
안드로이드 11, z 플립에서 발생하고
방금 안드로이드 10, lg g7+ 테스트해봤는데 동일하게 발생합니다.
서버 로그를 확인해봤는데, 키 해시가 일치하지 않아서 발생한 것으로 보여요
서버 로그에 전송된 키 해시 값은 zywI****************
로 id 475497 앱에는 등록되어있지 않은 키 해시 값입니다.
해당 해시 값을 등록해주시면 정상 동작할 것 같아요.
혹시 앱을 출시하신 후, 스토어에서 다운 받은 앱이 정상동작하지 않는 경우라면 해당 가이드 참고하셔서 키 해시 등록 부탁드려요
네 확인 감사합니다. 그런데 한 가지 의문이 있어서요.
지난번에도 이런 비슷한 문제가 있어서,
릴리즈 키 해시를 "내 어플리케이션"에 다시 등록한 적이 있습니다.
그 당시 값이… C3u6Njx****************** 였구요. 등록하고 어떤 기기에서는 정상 작동하는 것을 확인했습니다.
그런데 이번에 릴리즈 키 해시인 zywIoA*******************를 구글 스토어에서 가져와서 또 등록을 해야하니 뭔가 좀 헷갈립니다.
처음 등록한 릴리즈 키 해시(C3u6Njx…)와 지금 등록할 릴리즈 키 해시(zywloA)가 다른 건가요???
키 해시 값은 개발 환경에서 가지고 있는 인증서 바이너리에 대한 해시값으로 환경에 따라 달라지는 고유 값 입니다. 따라서 같은 코드를 빌드하더라도 어떤 환경에서 빌드했는지에 따라서 키 해시 값이 달라집니다.
그렇기 때문에 플레이 스토어에 앱을 출시하고, 플레이 스토어에서 해당 앱을 다운로드 받아서 실행했다면 다운로드 받은 앱의 키 해시 값은 구글 서버 내의 인증서를 통해 생성된 것이기 때문에 기존에 사용하던 키 해시 값과는 달라지게 됩니다.
처음 등록하신 릴리즈 키 해시 C3u6******* 이 어떤 환경에서 얻어진 키 해시 값인지는 제가 정확히 알 수 없으나, 현재는 zywI****************의 키 해시 값이 API 서버로 전송되고 있어서 해당 값을 등록해주셔야 정상 동작할 것 같아요.
답변 감사합니다.
처음 등록한 키 해시는 카카오 디벨로퍼 문서에 있는 내용대로, 디버그 키해시 및 릴리즈 키해시를 구해서 넣어준 값입니다. (C3u6…는 릴리즈 키 해시입니다.)
그렇다면, 매번 빌드할 때마다 키 해시를 확인하고 카카오 "내 애플리케이션"에 갱신해줘야하는 것일까요??
아뇨 항상 동일한 환경(PC)에서 빌드한다면 키 해시가 변경되지 않습니다.
앱을 플레이스토어에 출시한게 아닌가요?
플레이스토어에 출시했습니다.
제 맥에서만 작업을 하고, 출시했는데 변경된 게 의아하네요.
전에 한번 깃헙에서 코드를 다시 받아서 프로젝트 빌드를 했었는데, 그 때 꼬인것 일 수도있을 것 같아요.
근데,
keytool -exportcert -alias {키} -keystore {위치} | openssl sha1 -binary | openssl base64
위 방법으로 가져온 릴리즈 키 해시랑
echo {SHA-1} | xxd -r -p | openssl base64
이 방법으로 가져온 릴리즈 키 해시랑 다른 점은 이해가 안 가네요.
Google Play 앱 서명(App Signing)을 사용한다면 직접 릴리즈 키 해시를 생성하지 않고, Google Play Console에서 얻은 SHA-1 인증서 지문(SHA-1 certificate fingerprint)을 Base64로 인코딩하여 사용해야 합니다.
가이드에 나와있듯이 플레이스토어에 출시한 앱은 Google Play Console에서 얻은 인증서를 기반으로 키 해시를 구해야 하기 때문에 로컬 환경에서 릴리즈 키 해시를 구한 것과 키 해시가 달라지는 점 참고부탁드려요.
넵 감사합니다. 정말 많은 도움이 되었습니다.
피드백 100억만점!!!