카카오 로그인 Android 하이브리드 앱 적용 문의

안녕하세요

javascript SDK로 카카오 로그인 기능 구현하였고, 하이브리드앱 적용 가이드 참고하여 Android, iOS 앱투앱 처리하였습니다.
https://developers.kakao.com/docs/latest/ko/getting-started/sdk-js

그런데 Android에서 카카오앱으로 연결이되지 않고 그냥 카카오 로그인 웹페이지가 열립니다.
디버깅 해보니 두 값이 문제인데,
isIntentSupportAndroidWebView값은 true로 떨어지고
isSupportWebView 가 false로 반환되어 그런 것 같더라구요.

var isSupportWebView = /naver(inapp|fb_iab|daumapps|instagram|ebay/g.test(_k.UA.ua);
해당 정규식에 맞는 user agent를 추가했더니 카카오앱이 정상적으로 실행되었습니다.

하지만…이렇게 user agent에 naver, instagram 과 같은 스트링을 추가해 처리하는 방식도 맞지는 않는 것 같아 문의드립니다.
테스트 한 user agent 값은 아래와 같습니다.
mozilla/5.0 (linux; android 9; sm-g973n build/ppr1.180610.011; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/87.0.4280.101 mobile safari/537.36

iOS를 비롯하여 다른 브라우저에서는 정상적으로 동작하니 javascript SDK 사용을 잘못한 건 아닌 것 같은데,
팝업 웹뷰를 띄우는 createWindow 를 잘못 구현한건지… 잘 모르겠네요.
확인부탁드립니다
감사합니다~^^

안녕하세요.

혹시 Kakao.Auth.login 함수를 사용하셨는지 확인 부탁드려요.
팝업 방식으로 동작하는 Kakao.Auth.login은 웹뷰 마다 팝업 구현이 달라서
모든 웹뷰에서의 간편로그인을 지원하지는 않습니다.

그러나, 아래와 같이 UA를 수정해서 사용하실 수는 있습니다. (wv, version 제거)

mozilla/5.0 (linux; android 9; sm-g973n build/ppr1.180610.011) applewebkit/537.36 (khtml, like gecko) chrome/87.0.4280.101 mobile safari/537.36

반면에,
리다이렉트 방식으로 동작하는 Kakao.Auth.authorize 함수는 모든 웹뷰를 지원하고 있습니다.
아래 링크를 참고해주세요.
https://developers.kakao.com/docs/latest/ko/kakaologin/js#login

1개의 좋아요

아 그렇군요~ 답변 감사합니다. 알려주신 방법으로 수정해보겠습니다!^^