카카오 로그인 하이브리드 앱 오류 문의드립니다!

안녕하세요!
Javascript SDK 카카오 로그인 서비스를 이용하고 있고, 현재 웹뷰 이용하여 하이브리드 앱으로 운영 중입니다.

Kakao.auth.login을 이용하여 간편 로그인 사용중인데요,
현재 안드로이드 11, 12 버전에서 카카오 계정 로그인 후 2단계 인증까지 완료하면 앱이 강제 종료되는 현상이 발생합니다.

앱 디버깅을 통해 로그를 확인해보았는데 아래와 같이 crash가 발생하면서 앱이 비정상 종료되는 상황입니다.
해당 현상은 안드로이드 11 이후 버전에서만 발생되며, 안드로이드 10 이전 버전에서는 정상적으로 동작합니다.

E/chromium: [ERROR:aw_browser_terminator.cc(123)] Renderer process (4341) crash detected (code 5).
A/chromium: [FATAL:crashpad_client_linux.cc(667)] Render process (4341)'s crash wasn't handled by all associated  webviews, triggering application crash.
A/libc: Fatal signal 5 (SIGTRAP), code -6 (SI_TKILL) in tid 4280 (er_test_android), pid 4280 (er_test_android)

이러한 경우에는 Kakao.auth.login()이 아닌, Kakao.auth.autorize()를 이용해야 하는건가요?
아니면 안드로이드 11버전부터 추가적으로 설정해야 하는 것이 있는지, 혹은 변경된 부분이 있는지 문의 드립니다.

안녕하세요.

웹뷰에서는 팝업사용 시, 환경에 따라 문제가 발생할 수 있어 입앱브라우저 여부를 판단하여 Kakao.auth.authorize() 기능을 사용하는 것을 권장드립니다.

2단계 인증시 발생하는 현상은 확인 후 답변 드리겠습니다.

1개의 좋아요

Kakao.auth.authorize()를 사용하도록 수정했는데요,
Kakao.auth.login()을 사용했을 때와 동일하게 안드로이드 11, 12 버전에서 동일한 현상(앱 비정상 종료)이 발생합니다.

2단계 인증 이후 동일한 현상이 발생하는데, 해당 현상 원인 확인 됐을까요?

안녕하세요.

답변이 늦어 죄송합니다.
재현이 되지 않아 아직 확인중에 있는데요.
혹시 shouldOverrideUrlLoading 처리 부분을 공유해 주실수 있을까요?
(개인메시지로도 전달 가능합니다 @woody.ho)

메시지로 전달드렸습니다!

개인메시지로 전달 받은 내용 확인하였습니다.
동일하게 구성하고 Kakao.auth.authorize() 테스트 시, 재현되지 않습니다.
개발중이신 앱의 다른 부분이 원인일 것 같은데요

아래는 테스트에 사용된 AndroidManifest.xml 정보입니다. 참고 부탁드립니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.books.webview">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   

    <application
        android:allowBackup="true"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>