페이지 이동경로
  • 문서>
  • 카카오톡 채널>
  • Flutter

카카오톡 채널

Flutter

이 문서는 Kakao SDK for Flutter(이하 Flutter SDK)를 사용한 카카오톡 채널 기능 구현 방법을 안내합니다.

시작하기 전에

패키지 설정

카카오톡 채널 API를 사용하려면 설치를 참고하여 pubspec.yaml 파일에 Flutter SDK 전체 또는 카카오톡 패키지에 대한 의존성을 추가해야 합니다.

카카오톡 채널 추가하기

기본 정보

사전 설정 레퍼런스
플랫폼 등록 addChannelUrl()

사용자가 지정된 카카오톡 채널을 친구로 추가할 수 있도록 연결 페이지 URL을 제공합니다. TalkApiaddChannelUrl()을 호출합니다. 요청 시 사용자에게 친구 추가를 요청할 카카오톡 채널의 프로필 ID를 channelId 파라미터로 전달해야 합니다.

요청 성공 시, 지정된 카카오톡 채널로 이동할 수 있는 연결 페이지 URL을 반환합니다. 연결 페이지 URL은 launchBrowserTab() 메서드를 통해 기본 브라우저에서 열 수 있습니다. 사용자는 해당 페이지에서 카카오톡 채널로 이동하여 친구 추가할 수 있습니다.

이 기능은 사용자에게 카카오톡 채널을 강제로 추가시키지 않습니다. 사용자의 카카오톡 채널 추가 여부는 카카오톡 채널 관계 확인하기를 통해 확인할 수 있습니다.

// 연결 페이지 URL 구하기
Uri url = await TalkApi.instance.addChannelUrl('_ZeUTxl');

// 연결 페이지 URL을 브라우저에서 열기
try {
  await launchBrowserTab(url);
} catch (error) {
  print('카카오톡 채널 추가 실패 $error');
}

카카오톡 채널 채팅하기

기본 정보

사전 설정 레퍼런스
플랫폼 등록 channelChatUrl()

사용자가 지정된 카카오톡 채널의 채팅방으로 진입할 수 있는 연결 페이지 URL을 제공합니다. TalkApichannelChatUrl()을 호출합니다. 요청 시 카카오톡 채널의 프로필 ID를 channelId 파라미터로 전달해야 합니다.

요청 성공 시 지정된 카카오톡 채널의 채팅방으로 진입할 수 있는 연결 페이지 URL을 반환합니다. 연결 페이지 URL은 launchBrowserTab() 메서드를 통해 기본 브라우저에서 열 수 있습니다. 사용자가 해당 페이지에서 카카오톡 채널과 채팅하기를 선택하면, 연결 페이지는 커스텀 URL 스킴을 통해 카카오톡을 실행하고, 카카오톡에서 지정된 카카오톡 채널과의 채팅창이 열립니다.

// 카카오톡 채널 채팅 URL
Uri url = await TalkApi.instance.channelChatUrl('_ZeUTxl');

// 디바이스 브라우저 열기
try {
  await launchBrowserTab(url);
} catch (error) {
  print('카카오톡 채널 채팅 실패 $error');
}
참고: 안내 메시지

연결 페이지가 실행되었을 때, 해당 카카오톡 채널은 사용자에게 "안녕하세요, 무엇을 도와드릴까요?"라는 문구와 함께 사용자가 채팅을 요청했던 연결 페이지 URL을 담은 안내 메시지를 전송합니다.

카카오톡 채널 관계 확인하기

기본 정보

사전 설정 카카오 로그인 사용자 동의 레퍼런스
플랫폼 등록
카카오 로그인 활성화
동의 항목
필요 필요:
카카오톡 채널 추가 상태 및 내역
channels()
Channels

현재 로그인한 사용자와 앱에 연결된 카카오톡 채널의 친구 관계를 확인합니다. TalkApichannels()를 호출합니다. 특정 카카오톡 채널과의 관계만 확인하려면 publicIds 파라미터로 조회 대상 카카오톡 채널의 프로필 ID 리스트를 전달합니다.

요청 성공 시 Channels 객체를 받습니다. 각 카카오톡 채널과 사용자의 친구 관계는 Channels 하위의 Channel에 포함된 relation 값으로 확인할 수 있습니다.

  • ADDED: 카카오톡 채널이 추가된 상태
  • BLOCKED: 카카오톡 채널이 차단된 상태
  • NONE: 카카오톡 채널이 추가되거나 차단된 적 없는 상태

이 외 자세한 응답 정보는 REST API를 참고합니다.

try {
  Channels relations = await TalkApi.instance.channels();
  print('채널 관계 확인 성공'
        '\n${relations.channels}');
} catch (error) {
  print('채널 관계 확인 실패 $error');
}

사용자가 서비스와 연결된 카카오톡 채널을 추가 또는 차단했을 때 알림을 받으려면 카카오톡 채널 관계 알림 받기 기능을 사용합니다. 자세한 안내는 카카오톡 채널 관계 알림을 참고합니다.

더 보기