카카오 SDK ‘com.kakao.sdk:v2-link:2.5.0’ 사용
아래와 같은 방식으로 웹앱에서 네이티브로 카카오링크 공유하기를 실행하고 있습니다.
/** 아래 **/
val templateArgs = HashMap<String, String>()
.apply {
// 내부 템플릿 파라미터 별 정보 설정
}
LinkClient.instance.scrapTemplate(requireContext(), shareUrl, 53138, templateArgs) { linkResult, error ->
hideLoadingDialog()
if (error != null) {
// 카카오링크 실패
try {
val existPackage = requireActivity().packageManager
.getLaunchIntentForPackage("com.kakao.talk")
if (existPackage == null) { // 카카오 앱이 없을 시
requireActivity().startActivity(Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse("market://details?id=com.kakao.talk")
})
} else {
// 카카오 앱 미설치 외의 이유에 의한 실패
}
} catch (e: Exception) {
e.printStackTrace()
}
} else if (linkResult != null) {
// 카카오링크 성공
startActivity(linkResult.intent)
}
}
/** **/
위와 같이 호출 시 최초 앱 설치 후 첫회는 카카오톡이 설치 되어 있어도 카카오링크가 실패를 하게 됩니다.
옵션이나 호출 방식의 문제가 있는건가 싶어 찾아보아도 틀린 부분을 찾지 못하여 문의드립니다.
실패시 전달되는 error의 값은 ApiError(statusCode=400, reason=TimeOut, response=ApiErrorResponse(code=-603, msg=timed out to scrap ‘링크 주소’, apiType=null, requiredScopes=null, allowedScopes=null)
해결책 공유 부탁드리겠습니다
P.S 혹시 현재 실행 화면의 웹 접속 주소(운영)에서 전달 주소(개발)로 전달 시 문제가 될까요? 주소는 운영, 개발 모두 적용되어 있습니다