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

카카오톡 채널

Legacy Android

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

애플리케이션 설정 확인

이 기능을 사용하려면 카카오디벨로퍼스(Kakao Developers, 이하 개발자 웹사이트) 애플리케이션(이하 앱) 설정에 Android 플랫폼 및 키 해시 등 정보가 등록되어 있어야 합니다. 자세한 내용은 애플리케이션 등록을 참고합니다.

카카오톡 채널 추가하기

사용자가 카카오톡 채널을 친구로 추가하는 연결 페이지를 엽니다. 이 기능은 사용자에게 카카오톡 채널을 강제로 추가시키지 않습니다. 기능 동작 시 plusFriendId 값으로 지정된 카카오톡 채널로 이동할 수 있는 연결 페이지(Bridge page)를 띄울 뿐이며, 연결된 페이지에서 사용자가 카카오톡 채널을 추가할지 직접 선택할 수 있습니다.

KakaoTalkService 클래스에서 제공하는 addFriend API로 연결 페이지 출력을 요청합니다.

Parameter

Name Type Description Required
plusFriendId String 카카오톡 채널 프로필 ID
채널 URL에서 https://pf.kakao.com/ 부분을 제외한 뒷자리 값
예) 채널 URL이 https://pf.kakao.com/_ZeUTxl인 경우, 카카오톡 채널의 프로필 ID는 _ZeUTxl
O

웹 브라우저에서 카카오톡 채널 추가하기 요청을 하면 연결 페이지가 실행되고, 연결 페이지에서 카카오톡 채널 추가 페이지 커스텀 URL 스킴(Custom URL Scheme)이 열립니다. 연결 페이지는 사용자 환경에 따른 분기 처리 역할을 합니다.

Sample

try {
    PlusFriendService.getInstance().addFriend(PlusFriendActivity.this, "_ZeUTxl");
} catch (KakaoException e) {
    // 에러 처리 (앱키 미설정 등등)
    Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}

카카오톡 채널 추가 여부는 이 API가 알려주지 않습니다. 채널 관계 확인하기 API로 사용자와 채널의 관계를 조회해야 추가 또는 삭제 상태를 알 수 있습니다.

카카오톡 채널 채팅

이 기능은 사용자가 카카오톡 채널 1:1 채팅방으로 이동할 수 있는 연결 페이지를 띄웁니다. KakaoTalkService 클래스에서 제공하는 chat API로 연결 페이지 출력을 요청합니다. plusFriendId 파라미터로 사용자와 채팅할 카카오톡 채널의 프로필 ID를 전달해야 합니다.

Parameter

Name Type Description Required
plusFriendId String 카카오톡 채널 프로필 ID
채널 URL에서 https://pf.kakao.com/ 부분을 제외한 뒷자리 값
예) 채널 URL이 https://pf.kakao.com/_ZeUTxl인 경우, 카카오톡 채널의 프로필 ID는 _ZeUTxl
O

사용자는 연결 페이지에서 카카오톡 채널과의 1:1 채팅방으로 들어갈 수 있습니다. 카카오톡 채널 추가하기와 마찬가지로 연결 페이지는 사용자 환경에 따른 분기 처리를 하며, 카카오톡 실행 및 지정된 화면을 이동하기 위한 커스텀 URL 스킴을 실행합니다.

Sample

try {
    PlusFriendService.getInstance().chat(PlusFriendActivity.this, "_ZeUTxl");
} catch (KakaoException e) {
    // 에러 처리 (앱키 미설정 등등)
    Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}

카카오톡 채널 채팅 API는 사용자가 성공적으로 채팅방에 진입했는지 여부를 알려주지 않습니다.

연결 페이지 URL 직접 얻기

연결 페이지 URL만 얻어 활용할 수도 있습니다.

try {
String addFriendUrl = PlusFriendService.getInstance().addFriendUrl(PlusFriendActivity.this, "_ZeUTxl");
String chatUrl = PlusFriendService.getInstance().chatUrl(PlusFriendActivity.this, "_ZeUTxl");
...

} catch (KakaoException e) {
    // 에러 처리 (앱키 미설정 등등)
    Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}

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

동의 항목 설정 필요

이 API를 사용하려면 동의 항목 설정을 참고하여 [카카오톡 채널 추가 상태 및 내역] 동의 항목을 설정해야 합니다.

사용자가 로그인한 상태에서 KakaoTalkService 클래스에서 제공하는 requestPlusFriends API로 카카오톡 채널 관계 확인하기를 요청합니다. 성공 콜백의 PlusFriendsResponseREST API의 응답과 동일합니다.

Sample

KakaoTalkService.getInstance().requestPlusFriends(new
TalkResponseCallback<PlusFriendsResponse>() {
  @Override
  public void onNotKakaoTalkUser() {
    // 카카오톡 유저가 아님
  }

  @Override
  public void onSessionClosed(ErrorResult errorResult) {
    // 로그인이 필요함
  }


  @Override
  public void onFailure(ErrorResult errorResult) {
    // 그 외 에러
  }

  @Override
  public void onSuccess(PlusFriendsResponse result) {
    // 성공적으로 플친 관계를 확인한 경우
  }
});

사용자가 [카카오톡 채널 추가 상태 및 내역] 동의 항목에 동의하지 않아 에러 응답을 받았을 경우, 추가 항목 동의 받기 기능을 사용해 사용자에게 다시 동의를 요청할 수 있습니다.

사용자가 서비스와 연결된 카카오톡 채널을 추가 또는 차단했을 때 알림을 받으려면 카카오톡 채널 관계 알림 받기 기능을 사용합니다. 자세한 구현 방법 및 콜백 요청 정보는 카카오톡 채널 알림을 참고합니다.

더보기