kakao.auth.login 대신 kakao.auth.authorize를 써야 intent 스킴으로 내려오는 것인가요?
하이브리드 앱 설명 페이지는 읽어 보았으나 구체적으로 어떤 메서드를 호출해야 한다는 것에 대한 부분이 나와있지 않았습니다.
kakao.auth.login 의 경우 모든 웹뷰를 지원하지 않는다는 말이 있는데 현재 앱에서는 ; wv 부분을 지우고 호출하고 있으나
역시 같은 현상이 발생하고 있습니다. kakao.auth.login으로 호출 시 ios와 android 웹뷰에서 모두 앱으로 바로 연결되기 위한 user-agent 조건이 무엇인지 말씀 부탁드립니다. (intent 스킴이나 커스텀 스킴으로 내려오도록)
kakao.auth.login 팝업으로 호출되고, kakao.auth.authorize는 리다이렉트 되는 방식으로
인앱브라우저 구현에 따라 팝업 구현이 달라서 kakao.auth.login는 오작동 문의 사례가 빈번하여 kakao.auth.authorize를 권유드리고 있습니다.
intent 스킴으로 내려오는 것은 user-agent 에 따라 달라지는데요.
모바일 인앱 브라우저에서 “카카오톡으로 로그인” 은 아래 기준으로 노출 설정됩니다.
지원 가능한 카카오톡 버전 : And 9.1.0 / iOS 9.0.0 이상
지원 가능 어플리케이션 : Chrome, Safari 등 기본 브라우저 + Naver / Facebook / Instagram
그외 비표시 (단, 서비스 상황에 따라 버튼 미노출 설정 변경될 수 있음)
추가적으로 궁금한 사항이 있습니다.
조건에 맞는 UA로 수정하여 로그인 요청을 하고 있는데
앱 미설치 시, kakao.auth.login 에서 내려오는 intent scheme에 package 명이 명시되어 있지 않은데, 이 경우 어떻게 스토어 내 다운로드 페이지로 유도해야 하는지 궁금합니다. 보통 이런 경우 package 명을 통해 필요한 앱을 명시해주는 걸로 알고 있는데 패키지명이 없으니 스토어로 연결시키는 조건을 정하기가 까다롭네요.
앱이 설치된 경우, 로그인 중간 단계에서 멈춘 후 카카오 로그인을 시도하면 (권한만 허용한 상태) intent 스킴에 fallback url이 내려오긴 하는데 자동으로 앱이 실행되며 로그인 단계로 넘어가지는 않고 있네요. 이 부분은 자동으로 연결되도록 처리가 불가능하실까요?
하이브리드 앱에서 해당 함수를 사용하기 위해서는 앱에 네이티브 SDK를 연동하여 사용해야 하는 것 같은데 맞나요?
그냥 intent 스킴에 package명만 정의해서 내려주면 해당 intent 처리가 불가능 할 때 패키지 명에 정의되어 있는 앱으로 스토어 이동을 시켜주면 되는데 굳이 네이티브 SDK까지 연동을 해야 하는지 궁금합니다.
카카오톡 설치 후 어떤 진행도 되지 않은 상태라면 정상적으로 앱 로그인 화면으로 연결이 됩니다.
하지만 설치 후 권한요청을 받고 로그인 입력폼을 작성하는 화면에서 앱을 종료하면 이후 재 호출시 앱으로 연결이 되지 않습니다.
다시 로그인 과정을 완료하면 앱으로 연결이 됩니다.
요약하면
아예 로그인 진행이 안된 상태이거나 완료된 상태 -> 앱으로 정상 연결
중간에 멈춘 상태 -> 앱으로 연결되지 않음
상단에 이미지 첨부드리곘습니다.
인텐트 스킴은 두 경우 모두 비슷하게 넘어오는 것 같네요.
카톡 앱에서 화면이 달라 인텐트 처리가 안되어 있는 것인가요?
현재 제 서비스의 구조와 목적을 다시 말씀드리면 하이브리드 앱에서 카카오 로그인을 구현 중이고,
(웹페이지는 Javascript SDK를 사용하므로 네이티브 웹뷰에서는 여기서 내려주는 url을 사용합니다)
앱에서는 네이티브 앱으로 연결되도록 처리가 되어야 합니다.
1번의 경우도 스킴에 package명을 함께 내려주시면 좋을 것 같은데 안 내려주는 특별한 이유가 있을까요?
혹시 없다면 이부분도 함께 전달해주시면 감사하겠습니다.
intent스킴을 받아 처리할 때 굉장히 다양한 형태의 스킴이 내려오기 때문에 패지키명이 따로 내려오지 않으면 어떨 때 카카오 설치 페이지로 이동시켜야 하는지 조건처리가 애매해지는 것 같아요.
일단 intent 에 내려오는 action=com.kakao.talk.intent.action.CAPRI_LOGGED_IN_ACTIVITY 을 기준으로 처리하려고 하는데 이걸 기준 값으로 지정하면 될지 궁금합니다.