하이브리드앱(웹뷰) 카카오 로그인 앱 실행 관련 문의

안녕하세요.

프론트 (react.js)로 javascript sdk를 사용하여 카카오 로그인 처리를 하였습니다.

"Script src={'https://developers.kakao.com/sdk/js/kakao.min.js'} strategy={'afterInteractive'} onLoad={initialize}"

Flutter로 하이브리드 앱 (webview)을 사용하고 있는데 안드로이드에서 앱설치되어 있으면 앱이 나와야하는데

앱이 동작하지 않고 웹뷰로 나와서 문의드립니다. (ios는 정상동작)

아래는 flutter 소스입니다. canLaunchUrl(url) 가 ture가 되지 않습니다.

AndroidManifest.xml

web_view_detail.dart


안녕하세요.

안드로이드에서 앱설치되어 있으면 앱이 나와야하는데

설치된 카카오톡은 로그인 되어 있나요?

안녕하세요.

앱은 설치되고 로그인된 상태입니다.

canLaunchUrl이 정상적으로 동작하지 않습니다.

디버그로 url.toString() 한 값은 아래와 같습니다.
intent:#Intent;action=com.kakao.talk.intent.action.CAPRI_LOGGED_IN_ACTIVITY;launchFlags=0x08880000;S.com.kakao.sdk.talk.appKey=5ec67d2eec9317d4407447514662badf;S.com.kakao.sdk.talk.redirectUri=http://172.30.1.5:3000/auth/join;S.com.kakao.sdk.talk.kaHeader=sdk/1.43.5%20os/javascript%20sdk_type/javascript%20lang/ko-KR%20device/Linux_aarch64%20origin/http%3A%2F%2F172.30.1.5%3A3000;S.com.kakao.sdk.talk.extraparams={"client_id"%3A"5ec67d2eec9317d4407447514662badf"%2C"redirect_uri"%3A"http%3A%2F%2F172.30.1.5%3A3000%2Fauth%2Fjoin"%2C"response_type"%3A"code"%2C"auth_tran_id"%3A"hk2fz2232qk5ec67d2eec9317d4407447514662badfm01uf0x5"%2C"is_popup"%3Atrue};S.browser_fallback_url=https%3A%2F%2Fkauth.kakao.com%2Foauth%2Fauthorize%3Fclient_id%3D5ec67d2eec9317d4407447514662badf%26redirect_uri%3Dhttp%253A%252F%252F172.30.1.5%253A3000%252Fauth%252Fjoin%26response_type%3Dcode%26auth_tran_id%3Dhk2fz2232qk5ec67d2eec9317d4407447514662badfm01uf0x5%26ka%3Dsdk%252F1.43.5%2520os%252Fjavascript%2520sdk_type%252Fjavascript%2520lang%252Fko-KR%2520device%252FLinux_aarch64%2520origin%252Fhttp%25253A%25252F%25252F172.30.1.5%25253A3000%26is_popup%3Dfalse;end;

launchURL 바로 하면 어떻게 되나요?

if (url.scheme == “intent”) {
try {
await launchUrl(url);
return NavigationActionPolicy.CANCEL;
} catch (e) {
print(e);
}

카카오톡 앱 버전은 11.0.0 입니다.
화면에 보여지는 에러는 net: ERR_UNKNOWN_URL_SCHEME

에러 로그 입니다.
E/FrameEvents(14920): updateAcquireFence: Did not find frame.
I/flutter (14920): PlatformException(ACTIVITY_NOT_FOUND, No Activity found to handle intent { intent:#Intent;action=com.kakao.talk.intent.action.CAPRI_LOGGED_IN_ACTIVITY;launchFlags=0x08880000;S.com.kakao.sdk.talk.appKey=5ec67d2eec9317d4407447514662badf;S.com.kakao.sdk.talk.redirectUri=http://172.30.1.5:3000/auth/join;S.com.kakao.sdk.talk.kaHeader=sdk/1.43.5%20os/javascript%20sdk_type/javascript%20lang/ko-KR%20device/Linux_aarch64%20origin/http%3A%2F%2F172.30.1.5%3A3000;S.com.kakao.sdk.talk.extraparams={"client_id"%3A"5ec67d2eec9317d4407447514662badf"%2C"redirect_uri"%3A"http%3A%2F%2F172.30.1.5%3A3000%2Fauth%2Fjoin"%2C"response_type"%3A"code"%2C"auth_tran_id"%3A"3lemaqrgb425ec67d2eec9317d4407447514662badfm01zw3sk"%2C"is_popup"%3Atrue};S.browser_fallback_url=https%3A%2F%2Fkauth.kakao.com%2Foauth%2Fauthorize%3Fclient_id%3D5ec67d2eec9317d4407447514662badf%26redirect_uri%3Dhttp%253A%252F%252F172.30.1.5%253A3000%252Fauth%252Fjoin%26response_type%3Dcode%26auth_tran_id%3D3lemaqrgb425ec67d2eec93

아래 내용 참고해보시겠어요?

https://velog.io/@mlmlmlmlz/Flutter-안드로이드-WebView-이니시스-intent-오류-해결

https://devtalk.kakao.com/t/topic/129159

MainActivity에 채널만들고 안드로이드 네이티브를 호출하니 정상동작하네요.

답변 감사합니다.

1개의 좋아요