카카오 미설치 사용자 앱 연결

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.


카카오 sdk 버전: 2.7.8

안녕하세요. js sdk 2.7.8.버전으로 카카오 로그인을 구현하고 있습니다.
현재 카카오톡이 설치된 경우 정상동작 하나,
카카오톡이 설치되지 않은 AOS 사용자의 경우 “애플리케이션이 설치되어 있지 않습니다. 설치하겠습니까?”라는 문구가 뜨며 확인을 눌러도 플레이 스토어로 넘어가지 않습니다. 혹시 폐쇄망이나 개발 서버인 경우에 스토어로 넘어가지 않나요? 아니면 서비스 자체 앱 설정의 오류일까요?

다음은 authorize 호출부입니다.

Kakao.Auth.authorize({
redirectUri: redirectUri,
state: encodeURIComponent(JSON.stringify(kakaoState)),
throughTalk: true,
isPopup: false
});

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/console/app 에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456

858384 입니다.

어떤상황인지 이해 하기 어려운데요.

카카오톡이 설치안되어 있으면 그냥 카카오계정 로그인 페이지로 이동해야합니다.

테스트환경이 어떻게 되나요? 재현 영상 첨부해주시겠어요?

재현 영상 첨부합니다.
AOS에서 발생하고 있으며, 다른 AOS 디바이스에서는 카카오로 시작하기 버튼을 눌러도 아무 반응이 없습니다.
iOS에서는 카카오톡이 설치되어있지 않을 경우 카카오계정 입력 페이지로 이동합니다.

카카오로 시작하기 버튼을 눌러도 아무 반응이 없습니다.

이 증상은 카카오톡 설치만하고 로그인안한 증상인데요.
우선 설치 여부 확인해주시겠어요?

카카오톡 미설치된 AOS 디바이스를 기준으로 테스트하고 있습니다.
현재 테스트 기기에는 카카오 관련 앱이 전혀 설치되어 있지 않으며,
이전에는 “카카오로 시작하기” 버튼 클릭 시 아무 반응이 없던 디바이스에서도
지금은 첨부드린 영상과 동일한 문제가 발생하고 있습니다.

해당 문제는 모바일 웹에서는 정상적으로 카카오 계정을 입력하는 창이 뜨나, 앱에서 테스트할 경우에만 발생합니다.

모바일 웹 실행 영상 첨부드립니다.

앱 오류 영상입니다.

참고로, 카카오톡이 설치된 디바이스에서는 자동 로그인이 정상적으로 동작합니다.

인앱브라우저에서 발생하는 상황이셨군요.

“애플리케이션이 설치되어 있지 않습니다. 설치하겠습니까?”라는 문구는 카카오에서 출력하는 문구가 아니므로

개발하신 앱내 하이브리드앱 설정에 미설치 대응 로직이 있을 것으로 보이며 해당 로직에서 분기 처리를 못하는 것으로 보입니다.

관련 로직을 공유해주시면 어떤 상황인지 함께 살펴보겠습니다.


(1) 해당 로직을 제거하셔서 앱에서도 카카오계정 로그인페이지로 진입하도록 처리 하시면 좋을 것 같고

(2) 미설치 또는 설치했으나 미로그인 관련 분기처리는 아래 내용 참고 하시면 좋을 것 같습니다.

Android | Kakao Developers Android

안녕하세요. 추가 문의 사항이 생겨 문의드립니다.
저희는 현재 하이브리드 웹앱 환경이며 JavaScript sdk 사용중입니다.

최근 안내해주신 내용에 따라 앱 미설치 관련 로직을 수정하여 테스트해본 결과, AOS 환경에서 더 이상 “애플리케이션이 설치되어 있지 않습니다. 설치하겠습니까?” 문구는 출력되지 않았습니다.
다만 현재 카카오톡 앱이 미설치된 AOS 환경에서 ‘카카오톡으로 로그인하기’ 버튼 클릭 시 아무 반응이 없는 상태입니다.

그래서 공식 문서의 하이브리드 앱 가이드를 확인해보니 fallback url을 WebView에서 직접 처리하는 예제가 있던데, JavaScript SDK 내부에서 fallback 처리가 자동으로 제공되는게 아니라, 앱 쪽에서 직접 fallback URL을 처리해야 하는 구조가 맞는지 확인 부탁드립니다.
아래는 제가 참조한 공식문서 위치와 해당 문서에 있는 코드입니다.
https://developers.kakao.com/docs/latest/ko/javascript/hybrid#android-execute-kakaotalk

// Fallback URL이 있으면 현재 웹뷰에 로딩
val fallbackUrl = intent.getStringExtra("browser_fallback_url")
if (fallbackUrl != null) {
    view.loadUrl(fallbackUrl)
    Log.d(TAG, "FALLBACK: $fallbackUrl")
    return true
}

안녕하세요

일반적인 웹 브라우저라면 fallback 처리가 자동으로 진행되지만
웹뷰는 이를 직접 구현해야만 하는점 참고 부탁드립니다.

감사합니다. 그런데 웹뷰 설정이 되어있음에도 불구하고 계속해서 ‘카카오톡으로 로그인하기’ 버튼 클릭 시 아무 반응이 없습니다.

혹시 추가적으로 필요한 설정이 있는 지 문의드립니다.

안녕하세요.
테스트하신 기기에 설치된 카카오톡은 로그인되어 있는 상태인가요?

아니요. 설치되어있지 않은 기기에서 발생하는 문제입니다. 설치된 경우에는 정상적으로 동작합니다.

네, 그러면 shouldOverrideUrlLoading을 잘못 구현하신겁니다.

메시지 확인 부탁드려요.

인앱브라우저에 띄운 사이트 URL 알려주시면 android 앱하나 만들어 저도 톡미설치 상황에 정상작동하는지 확인 해보겠습니다.