카카오링크 질문 (v2)

안녕하세요

카카오 링크를 1.27.0 버전 사용중에 있다가 최신 버전으로 변경 과정에서 질문사항이 있어서 문의 남깁니다.

사용한 SDK : 2.0.2

카카오 링크를 사용하여 공유기능을 구현하였었는데
2.0.2 로 바꾸니까 아래와 같은 에러가 납니다.

ClientError(reason=NotSupported, msg=Kakaotalk not installed)

에러를 보면 카카오톡 클라이언트가 설치되어 있지 않아서 지원하지 않는다는 에러로 보이는데요

v1에서는 카카오톡이 설치가 되어있지 않으면 웹뷰가 떠서 로그인 후 공유시키는 과정이 있었는데 v2 부터는 카카오톡 설치가 필수 조건이 된 것인지 궁금합니다.

개발자 문서 에는 아래와 같이 웹페이지가 뜬다고 기술되어 있습니다.
https://developers.kakao.com/docs/latest/ko/message/android

요청이 성공하면 Android SDK는 카카오톡을 실행하거나, 웹 페이지를 통해 카카오계정으로 로그인하여 메시지를 보낼 친구 및 대화방 목록을 보여줍니다. 사용자가 메시지를 보낼 친구 또는 대화방을 선택하면 메시지가 전송됩니다.

답변 부탁드리겠습니다
감사합니다.

v2에서는 카카오링크 실행을 개별 메소드로 분리했습니다.

해당 메소드들을 조합해서 아래와 같이 작성하실 수 있습니다.

if (LinkClient.instance.isKakaoLinkAvailable(context)) {
    // 카카오톡으로 공유
    LinkClient.instance.scrapTemplate(context, "https://developers.kakao.com") { linkResult, error ->
        if (error != null) {
            Log.e(TAG, "카카오링크 실패", error)
        } else {
            startActivity(linkResult!!.intent)
        }
    }
} else {
    // 웹으로 공유
    WebSharerClient.instance.scrapTemplateUri("https://developers.kakao.com").let {

        KakaoCustomTabsClient.openWithDefault(context, it)
        // 또는
        //startActivity(Intent(Intent.ACTION_VIEW, it))
    }
}

아 몰랐네요 감사합니다!!

@escomicv

외부 브라우저 실행과정이 부담스러우시면 직접 CustomTabs를 사용하시거나
SDK 유틸로 제공되는 KakaoCustomTabsClient 를 사용하실 수 있습니다.

위 예제 코드에 추가 했습니다.