본문 바로가기
Flutter

[Flutter] kakao login issue - 카카오톡 설치 여부 확인 안되는 현상

by Banlim 2021. 3. 19.

[삽질의 기록]

 

최근에 새로운 프로젝트에서 Flutter로 카카오 소셜 로그인을 구현하는 작업을 맡았다.

pubspec.yaml 파일에 kakao_flutter_sdk를 추가하고, 로그인 페이지에서 '카카오톡으로 로그인하기' 버튼을 누르면, 카카오 계정을 통해 로그인 하도록 구현했다.

 

pubspec.yaml

kakao_flutter_sdk: ^0.5.4

 

카카오 소셜 로그인 기능을 테스트 하는 도중 API 30인 에뮬레이터에서 카카오톡이 설치되어있지 않기 때문에 웹을 통해 로그인 하도록 코드를 작성하였으나, 해당 기능이 작동되지 않는 것을 확인했다.

또한, Android 11인 실제 디바이스에서 테스트 했을 때, 분명 카카오톡이 설치되었음에도 설치 여부를 체크하지 못하는 현상이 발생했으며, 카카오톡 설치가 안 되었더라도, 웹을 통해 카카오 로그인 기능이 작동되야 하나 제대로 작동하지 못하였다.

 

// 카카오톡 설치 여부 판단하는 코드

final isInstalled = await isKakaoTalkInstalled();

setState(() {
	isInstalled ? _startKakaoLogin() : _startKakaoLoginWeb();
});

 

kakao sdk 버전을 '^0.6.0-beta.1'으로 수정해서 시도해보고, 구글링을 통해 Manifest 파일에서 쿼리를 추가하면 된다는 말에 추가도 해보았지만 여전히 해결되지 않았다. (0.6.0-beta.1은 빌드할 때 문제가 발생했다.)

 

// 구글링으로 찾은 쿼리문

<queries>
  <package android:name="com.kakao.talk" />
</queries>

 

결론적으로 이 방법이 좋은 방법은 아닌 것 같지만 해결하긴 했다.

build.gradle 파일에서 compileSdkVersion과 targetSdkVersion의 값을 변경하여 해결하였다.

 

// 기존 build.gradle

android {
    compileSdkVersion 30

    defaultConfig {
    	...
        targetSdkVersion 30
    }
    . . .
}

 

// 수정한 build.gradle

android {
    compileSdkVersion 29

    defaultConfig {
    	...
        targetSdkVersion 29
    }
    . . .
}

 

2021.04.19

+) 이 글이 kakao_flutter_sdk github의 issue에 참고자료로 등록되어있는 것을 확인했다!

내가 겪은 이슈를 다른 사람도 겪었고, 해당 issue를 통해 이 오픈소스에 기여한 것 같아 기분이 좋아서 아래에 해당 링크 첨부했다.

글 확인해보니, 해당 이슈를 수정하여 0.6.1 버전으로 배포했다고 한다!

github.com/kakao/kakao_flutter_sdk/issues/69

 

안드로이드에서 isKakaoTalkInstalled가 제대로 동작하지 않습니다. · Issue #69 · kakao/kakao_flutter_sdk

Android 11인 실제 디바이스에서 테스트 했을 때, 분명 카카오톡이 설치되었음에도 설치 여부를 체크하지 못하는 현상이 발생합니다. 저랑 비슷한 사례가 있어 참고링크 보내드립니다. https://it-banl

github.com