이 문서는 Kakao SDK for JavaScript v1(이하 Legacy JavaScript SDK)를 사용한 카카오톡 채널 기능 구현 방법을 안내합니다.
최신 버전 JavaScript SDK 사용을 권장합니다. 최신 버전 JavaScript SDK는 최신 버전 다운로드에서 내려받을 수 있습니다. 자세한 내용은 최신 버전으로 업그레이드를 참고합니다.
이 문서에 포함된 기능 일부는 [도구] > [JS 데모]를 통해 사용해 볼 수 있습니다.
사전 설정 | 레퍼런스 |
---|---|
플랫폼 등록 | createAddChannelButton() addChannelUrl() |
사용자가 카카오톡 채널을 친구 추가하러 이동할 수 있도록 연결 페이지를 띄우는 기능입니다. 카카오톡 채널을 친구로 추가하려면 사용자가 로그인한 상태여야 합니다. 사용자가 로그인하지 않은 상태에서 카카오톡 채널 추가 버튼을 누른다면, 먼저 카카오 로그인 과정을 거칩니다.
카카오가 제공하는 카카오톡 채널 추가 버튼의 사용 여부에 따라 createAddChannelButton()
과 addChannel()
함수 중 하나를 선택해 연결 페이지(Bridge page)를 호출합니다.
createAddChannelButton()
: 카카오가 제공하는 카카오톡 채널 추가 버튼 사용addChannel()
: 직접 만든 버튼과 같은 서비스 웹 페이지 구성 요소의 클릭 이벤트 핸들러에서 해당 함수 호출이름 | 타입 | 설명 | 필수 |
---|---|---|---|
container | String |
버튼을 추가할 위치의 Element ID | O |
channelPublicId | String |
카카오톡 채널 프로필 ID 참고: 카카오톡 채널 프로필 ID 확인 방법 |
O |
Kakao.Channel.createAddChannelButton({
container: '#kakao-add-channel-button',
channelPublicId: '_ZeUTxl' // 카카오톡 채널 홈 URL에 명시된 id로 설정합니다.
});
Kakao.Channel.addChannel({
channelPublicId: '_ZeUTxl'
});
카카오톡 채널 추가 여부는 이 함수 호출 결과로 알 수 없습니다. 카카오톡 채널 관계 확인하기 API로 사용자와 카카오톡 채널의 관계를 조회해야 추가 또는 삭제 상태를 알 수 있습니다.
사전 설정 | 레퍼런스 |
---|---|
플랫폼 등록 | createChatButton() chat() |
사용자가 서비스의 카카오톡 채널과 1:1 채팅을 시작하는 기능을 제공하는 연결 페이지를 호출합니다. 카카오가 제공하는 1:1 채팅 버튼 사용 여부에 따라 createChatButton()
과 chat()
함수 중 하나를 선택해 사용합니다.
createChatButton()
: 카카오가 제공하는 1:1 채팅 버튼 사용chat()
: 직접 만든 버튼과 같은 서비스 웹 페이지 구성 요소의 클릭 이벤트 핸들러에서 해당 함수 호출카카오톡 채널을 친구로 추가하려면 사용자가 로그인한 상태여야 합니다. 사용자가 로그인하지 않은 상태에서 카카오톡 채널 채팅 버튼을 누른다면, 먼저 카카오 로그인 과정을 거칩니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
container | String |
버튼을 추가할 위치의 Element ID | O |
channelPublicId | String |
카카오톡 채널 프로필 ID 참고: 카카오톡 채널 프로필 ID 확인 방법 |
O |
Kakao.Channel.createChatButton({
container: '#kakao-talk-channel-chat-button',
channelPublicId: '_ZeUTxl' // 카카오톡 채널 홈 URL에 명시된 ID로 설정합니다.
});
Kakao.Channel.chat({
channelPublicId: '_ZeUTxl' // 카카오톡 채널 홈 URL에 명시된 ID로 설정합니다.
});
이 함수의 호출 결과는 사용자가 성공적으로 채팅방에 진입했는지 여부를 알려주지 않습니다.
사전 설정 | 카카오 로그인 | 동의항목 | 레퍼런스 |
---|---|---|---|
플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 카카오톡 채널 추가 상태 및 내역 |
request() |
현재 로그인한 사용자와 앱에 연결된 카카오톡 채널의 친구 관계를 확인합니다. url
을 /v1/api/talk/channels
로 지정하여 Kakao.API.request()
함수를 호출합니다.
사용자가 [카카오톡 채널 추가 상태 및 내역] 동의항목에 동의하지 않아 에러 응답을 받았을 경우, 추가 항목 동의 받기 기능을 사용해 사용자에게 다시 동의를 요청할 수 있습니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v1/api/talk/channels 로 고정 |
O |
success | Function(Object) |
API 호출이 성공할 때 실행되는 콜백 함수 | X |
fail | Function(Object) |
API 호출이 실패할 때 실행되는 콜백 함수 | X |
always | Function(Object) |
API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수 | X |
Kakao.API.request({
url: '/v1/api/talk/channels',
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error);
}
});
요청 성공 시 응답 정보는 REST API를 참고합니다.
사용자가 서비스와 연결된 카카오톡 채널을 추가 또는 차단했을 때 알림을 받으려면 카카오톡 채널 관계 알림을 사용합니다.