[JAVASCRIPT] 카카오링크 링크 공유 오류(init문제 기록)

[JAVASCRIPT] 카카오링크 링크 공유 오류(init문제 기록)

카카오톡 버튼을 클릭하면은 카카오톡이 실행되면서 메세지를 전송할 수 있게 하는 기능을 카카오에서는 제공을 하고 있습니다.
설명을 보면은 간단하게 처리를 할 수 있지만 한번 로딩된 페이지에서 카카오톡 전송 버튼을 1회 누르고 다시 누를경우에 문제가 발생하는 경우가 있어서 기록을 남겨 둡니다.

function sendKakalink() {
	Kakao.init('카카오톡API key');
	Kakao.Link.sendTalkLink({
		label: '메세지',
		image: {
			src: '이미지 주소',
			width: '이미지 넓이',
			height: '이미지 높이'
		},
		webButton: {
			text: '제목',
			url: '웹페이지 URL' // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
		}
	 });
}

초기에는 위에 처럼 사용하여서 초기 전송에는 성공하였지만 한번 보낸후 다시 버튼을 누르면은 반응을 하지 않아서 수정 하게 되었습니다.
카카오의 개발자 포럼에서 어렵게 찾았습니다. 애초에 이런 문제가 일어난것이 제가 코드를 잘못 작성한것도 있지만은 레퍼런스에서는 전혀 설명이 되어 있지 않기도 합니다.

포럼에서 코멘트를 달아 주신분이 kakao.init 한번만 호출 해야 한다고 해서 카카오톡으로 링크를 보낼때 1번만 호출하도록 하였습니다.
임시 방편일 수도 있지만은 전혀 사용하지 않을수도 있고 해서 함수 호출 부분에 넣은것이 문제였나 봅니다.

아래는 함수 안에서 해결 하는 방법이며, 함수 밖에서 미리 호출을 해 놓아도 상관은 없을것 같은데, 전 그렇게 하지 않아서 일단 제가 해결하고 테스트해서 정상 작동되는 코드를 올려 놓습니다.

function sendKakalink() {
	try {
		if (Kakao) {
			Kakao.init('카카오톡API key');
		};
	} catch(e) {};

	Kakao.Link.sendTalkLink({
		label: '메세지',
		image: {
			src: '이미지 주소',
			width: '이미지 넓이',
			height: '이미지 높이'
		},
		webButton: {
			text: '제목',
			url: '웹페이지 URL' // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
		}
	 });
}

* 참조
카카오링크 개발자 가이드 주소  : https://developers.kakao.com/docs/js#%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%EB%A7%81%ED%81%AC

카카오 포럼 링크 : https://devtalk.kakao.com/t/kakao-link-sendtalklink/3731

이전글
다음글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다