안녕하세요 카카오링크 API 구현하다 궁금증이 생겨서 질문드립니다.
제가 현재 사용자 정의 템플릿으로 구현중인데 버튼에 대한 액션을 코드상에서 정의하고 싶거든요.
그런데 코드상에서 어떻게 버튼 액션을 구현해야하는지 잘 이해가 안되서 질문드리게 되었습니다.
아래 코드상에서도 버튼 액션에 대한 커스텀이 가능할까요?
[사용자 정의 템플릿 코드 (Kotlin)]
// 공유할 웹페이지 URL
// * 주의: 개발자사이트 Web 플랫폼 설정에 공유할 URL의 도메인이 등록되어 있어야 합니다.
val url = "https://developers.kakao.com"
val templateId = templateIds["customMemo"] as Long
// 카카오톡 설치여부 확인
if (LinkClient.instance.isKakaoLinkAvailable(context)) {
// 카카오톡으로 카카오링크 공유 가능
LinkClient.instance.scrapTemplate(context, url, templateId) { linkResult, error ->
if (error != null) {
Log.e(TAG, "카카오링크 보내기 실패", error)
}
else if (linkResult != null) {
Log.d(TAG, "카카오링크 보내기 성공 ${linkResult.intent}")
startActivity(linkResult.intent)
// 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
Log.w(TAG, "Warning Msg: ${linkResult.warningMsg}")
Log.w(TAG, "Argument Msg: ${linkResult.argumentMsg}")
}
}
} else {
// 카카오톡 미설치: 웹 공유 사용 권장
// 웹 공유 예시 코드
val sharerUrl = WebSharerClient.instance.scrapTemplateUri(url, templateId)
// CustomTabs으로 웹 브라우저 열기
// 1. CustomTabs으로 Chrome 브라우저 열기
try {
KakaoCustomTabsClient.openWithDefault(context, sharerUrl)
} catch(e: UnsupportedOperationException) {
// Chrome 브라우저가 없을 때 예외처리
}
// 2. CustomTabs으로 디바이스 기본 브라우저 열기
try {
KakaoCustomTabsClient.open(context, sharerUrl)
} catch (e: ActivityNotFoundException) {
// 인터넷 브라우저가 없을 때 예외처리
}
}
답변 부탁드립니다.