채널 생성
대화를 위한 채널을 생성합니다.
targetId
의 경우HiveTalkPlusUser
객체에서getUserId
함수를 통하여 얻어올 수 있습니다.- data의 경우, 최대 5개의 key-value pair를 입력할 수 있습니다. key의 최대 size는 128자 이고 최대 value size는 1024자입니다.
- 채널 타입의 경우 private, public, invitationOnly 타입을 지원합니다.
- type 필드는 필수 입니다.
- invitationOnly 타입의 경우 invitationCode도 추가적으로 필수 필드입니다.
Type | 정의값 | Join 가능 여부 | FCM 지원 |
---|---|---|---|
PRIVATE | private | 불가 | 지원 |
PUBLIC | public | 가능 | 지원 |
INVITATION ONLY | invitationOnly | 가능, Invitation Code 필요 | 지원 |
BROADCAST | broadcast | 가능 | 지원 |
SUPER_PUBLIC | super_public | 가능 | 미지원 |
SUPER_PRIVATE | super_private | 가능 | 미지원 |
- PRIVATE 타입의 경우 채널 id와 참여 사용자(targetIds)가 동일한 경우 reuseChannel 파라미터를 true로 설정하여 기존 생성된 채널을 재사용할 수 있습니다. 이는 1:1 대화를 구현하는데 유용하게 사용할 수 있습니다.
- PUBLIC 타입 채널에 ban당하지 않은 사용자는 누구나 가입할 수 있습니다.
- INVITATION_ONLY 타입의 경우 invitationCode를 제공해야 채널 가입이 가능합니다.
- BROADCAST 타입의 경우:
- 채널 owner가 메시지 발송 시 채널 멤버 모두에게 메시지가 발송됩니다.
- 채널 owner가 아닌 채널 멤버가 메시지 발송 시 채널 owner에게만 메시지가 전달됩니다.
- SUPER_PRIVATE, SUPER_PUBLIC 타입의 경우,
- 최대 멤버 제한수를 100명 이상으로 설정할 수 있습니다.
- members와 bannedUsers 필드에 사용자 정보가 채워져서 내려오는 일반 채널과 달리:
- members와 bannedUsers 필드는 빈 상태로 내려옵니다.
- FCM Push Notification이 지원되지 않습니다.
1 2 3 4 5 |
HiveTalkPlusApi.CreateChannel(targetId, channelId, reuseChannel, maxMemberCount, hideMessagesBeforeJoin, channelType, channelName, invitationCode, imageUrl, metaData, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.createChannel(targetIds, channelId, reuseChannel, maxMemberCount, hideMessagesBeforeJoin, channelType, channelName, invitationCode, imageUrl, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.createChannel(withUserIds: targetIds, channelId: channelId, reuseChannel: reuseChannel, maxMemberCount: maxMemberCount, hideMessagesBeforeJoin: hideMessagesBeforeJoin, channelType: channelType, channelName: channelName, invitationCode: invitationCode, imageUrl: imageUrl, metaData: metaData, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 조회
참여중인 채널 혹은 Public 채널에 한하여 채널 ID를 이용하여 채널을 조회할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetChannel(channelId, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.getChannel(channelId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getChannel(channelId, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 정보 업데이트
채널의 정보를 업데이트 할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.UpdateChannel(channel, maxMemberCount, hideMessagesBeforeJoin, channelName, invitationCode, imageUrl, metaData, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.updateChannel(channel, maxMemberCount, hideMessagesBeforeJoin, channelName, invitationCode, imageUrl, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.update(channel, maxMemberCount: maxMemberCount, hideMessagesBeforeJoin: hideMessagesBeforeJoin, channelName: channelName, invitationCode: invitationCode, imageUrl: imageUrl, metaData: metaData, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 목록 조회
1. 전체 Public 채널 목록 조회
참여 중이 아니더라도 전체 Public 채널 목록을 조회할 수 있습니다.
Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴 받은 HiveTalkPlusChannel
객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetPublicChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.getPublicChannelList(lastChannel, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> { override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getPublicChannelList(lastChannel, success: { channels in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 현재 참여중인 채널 목록 조회
현재 참여 중인 채널 목록을 조회할 수 있습니다. Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴 받은 HiveTalkPlusChannel
객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.getChannelList(lastChannel, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> { override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getChannelList(lastChannel, success: { channels in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
3. 숨긴 채널 목록 조회
사용자가 HideChannel
함수를 호출하여 숨긴 채널을 조회할 수 있습니다. Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴 받은 HiveTalkPlusChannel
객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetHiddenChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.getHiddenChannelList(lastChannel, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> { override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getHiddenChannelList(lastChannel, success: { channels in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
4. 전체 채널의 안읽은 메시지 수 조회
현재 참여 중인 모든 채널에 안 읽은 메시지 숫자를 조회할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetTotalUnreadCount((int totalCount) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.getTotalUnreadCount(object : HiveTalkPlus.CallbackListener<Int?> { override fun onSuccess(integer: Int?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getTotalUnreadCount({ count in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
5. 참여중인 채널 검색
현재 참여 중인 채널 목록을 검색할 수 있습니다.
검색 가능한 항목은 채널명, 채널 참여 중인 사용자 목록입니다.
1 2 3 4 5 |
HiveTalkPlusApi.SearchChannelList(lastChannel, channelName, memberIds, (List<HiveTalkPlusChannel> channels) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.searchChannelList(lastChannel, channelName, memberIds, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> { override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {} override fun onFailure(errorCode: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.searchChannelList(lastChannel, channelName: channelName, membersIds: membersIds, success: { channels in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 사용자 관리
1. 채널에 사용자 초대하기
채널에 사용자를 초대할 수 있습니다. 채널의 Owner가 아니어도 초대가 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.AddMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.addMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.addMember(to: channel, userIds: userIds, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 채널에서 사용자 제거하기
채널에 참여한 사용자를 제거할 수 있습니다. 채널의 Owner만 수행 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.RemoveMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.removeMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.removeMember(to: channel, userIds: userIds, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
3. 사용자 차단하기
채널에 참여한 사용자를 차단하는 기능을 제공합니다. 차단된 사용자는 즉시 채널에서 퇴장당하며 차단 해제가 될 때까지 들어올 수 없습니다. 채널의 Owner만 수행 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.BanMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.banMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.banMember(to: channel, userIds: userIds, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
4. 사용자 차단 해제하기
채널에서 차단되었던 사용자를 차단해 제합니다. 채널의 Owner만 수행 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.UnBanMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.unBanMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.unBanMember(to: channel, userId: userId, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
5. 사용자 Mute
채널에 참여한 특정 사용자가 메시지 발송을 못 하도록 막는 mute 기능을 제공합니다. 채널의 Owner만 수행 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.MuteMemberToChannel(channel, targetId, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.muteMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.muteMember(to: channel, userIds: userIds, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
6. 사용자 Mute 해제
채널 사용자의 mute 상태를 해제할 수 있습니다. 채널의 Owner만 수행 가능합니다.
1 2 3 4 5 |
HiveTalkPlusApi.UnMuteMemberToChannel(channel, targetId, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.unMuteMemberToChannel(channel, targetIds, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.unMuteMember(to: channel, userIds: userIds, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 참여 / 나가기
1. 채널에 참여하기
Public 타입의 채널은 Owner가 초대하지 않아도 사용자가 임의로 참여할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.JoinChannel(channelId, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.joinChannel(channelId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.joinChannel(channelId, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. InvitationOnly 채널에 참여하기
InvitationOnly 채널의 경우 채널에 정의된 invitationCode가 필요합니다. 해당 값을 입력하여 invitationOnly 채널에 참여할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.JoinChannel(channelId, invitationCode, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.joinChannel(channelId, invitationCode, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.joinChannel(channelId, invitationCode: invitationCode, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
3. 채널 나가기
채널에서 나갈 수 있습니다. deleteChannelIfEmpty
파라미터를 true
로 설정하면 채널에 참가 멤버가 더 이상 없을 경우에만 채널에서 나갈 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.LeaveChannel(channel, deleteChannelIfEmpty, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.leaveChannel(channel, deleteChannelIfEmpty, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.leave(channel, deleteChannelIfEmpty: deleteChannelIfEmpty, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 내 메시징
1. 채널 내 메시지 목록 조회
채널 내 메시지 목록을 조회할 수 있습니다. 마지막 수신 시간을 기준으로 정렬되어 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetMessageList(channel, lastMessage, (List<HiveTalkPlusMessage> messages) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.getMessageList(channel, lastMessage, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusMessage?>?> { override fun onSuccess(messages: List<HiveTalkPlusMessage?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getMessageList(channel, last: lastMessage, success: { messages in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 채널 내 파일 메시지 목록 조회
채널 내 파일이 첨부된 메시지 목록을 조회할 수 있습니다. 마지막 수신 시간을 기준으로 정렬되어 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.GetFileMessageList(channel, lastMessage, (List<HiveTalkPlusMessage> messages) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 |
HiveTalkPlus.getFileMessageList(channel, lastMessage, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusMessage?>?> { override fun onSuccess(messages: List<HiveTalkPlusMessage?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.getFileMessageList(channel: channel, last: lastMessage, success:{ messages in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
3. 메시지 발송
채널에 메시지를 발송할 수 있습니다. 현재 지원하는 타입은 text, hidden, custom, admin 타입입니다.
- hidden 메시지 타입 발송 시, push notification은 발송되지 않습니다.
- admin 메시지 타입은 TalkPlus 대시보드 또는 REST API를 통해서만 발송이 가능합니다.
- data의 경우, 최대 5개의 Key-value 형식의 데이터를 넣을 수 있습니다.
- key값의 최대 길이는 128자이고, value값의 최대 길이는 1024자입니다.
- 메시지 텍스트와 data 둘 다 빈 값일 경우 발송에 실패합니다.
메세지 텍스트의 허용된 최대 길이는 8192자입니다.
Type | 정의값 |
---|---|
TEXT | TYPE_TEXT |
HIDDEN | TYPE_HIDDEN |
CUSTOM | TYPE_CUSTOM |
ADMIN | TYPE_ADMIN |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 메시지 발송 HiveTalkPlusApi.SendMessage(channel, text, type, metaData, (HiveTalkPlusMessage message) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); // 파일 업로드 HiveTalkPlusApi.SendFileMessage(channel, text, type, metaData, filePath, (HiveTalkPlusMessage message) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 메시지 발송 HiveTalkPlus.sendMessage(channel, text, type, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusMessage?> { override fun onSuccess(message: HiveTalkPlusMessage?) {} override fun onFailure(i: Int, e: Exception?) {} }) // 파일 업로드 HiveTalkPlus.sendFileMessage(channel, text, type, metaData, file, object : HiveTalkPlus.CallbackListener<HiveTalkPlusMessage?> { override fun onSuccess(message: HiveTalkPlusMessage?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus..sendFileMessage(channel, text: text, type: type, metaData: metaData, filePath: filePath, success: { message in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
4. 메시지 읽음 확인
안 읽은 메시지 수를 카운팅 하기 위해 메시지 읽음 확인 API를 제공합니다.
1 2 3 4 5 |
HiveTalkPlusApi.MarkAsReadChannel(channel, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.markAsReadChannel(channel, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.mark(asRead: channel, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
5. 특정 채널 안 읽은 메시지 수 확인
특정 메시지를 읽지 않은 사용자 수를 확인할 수 있는 기능을 제공합니다.
1 |
channel.GetMessageUnreadCount(message); |
1 |
channel.getMessageUnreadCount(message); |
1 |
channel.getMessageUnreadCount(message); |
채널 숨기기 / 보이기
1. 채널 숨기기
현재 참여 중인 채널 목록에 안 나오도록 채널을 숨길 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.HideChannel(channelId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.hideChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.hideChannel(channelId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 채널 보이기
현재 참여 중인 채널 목록에 다시 나오도록 채널을 숨김 해제를 할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.ShowChannel(channelId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.showChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.showChannel(channelId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 Freeze / Unfreeze
1. 채널 Freeze
채널을 프리징 합니다 (메시지 발송 기능 정지)
1 2 3 4 5 |
HiveTalkPlusApi.FreezeChannel(channelId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.freezeChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.freezeChannel(channelId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 채널 Unfreeze
채널의 프리징 상태를 해제합니다 (메시지 발송 가능)
1 2 3 4 5 |
HiveTalkPlusApi.UnfreezeChannel(channelId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.unfreezeChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.unfreezeChannel(channelId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
채널 주인 변경
채널 주인(owner)은 채널 소유권을 채널 내 멤버에게 이관할 수 있습니다.
1 2 3 4 5 |
HiveTalkPlusApi.TransferOwnership(channel, targetUserId, (HiveTalkPlusChannel channel) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
1 2 3 4 |
HiveTalkPlus.transferChannelOwnership(channel, targetUserId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> { override fun onSuccess(channel: HiveTalkPlusChannel?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
1 2 3 4 5 |
HiveTalkPlus.transferOwnership(channel, targetUserId: targetUserId, success: { channel in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
Event
아래와 같이 이벤트를 받을 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
HiveTalkPlusApi.OnMemberAdded += (sender, args) => { // 현재 참여중인 채널에 새로운 멤버가 추가되었을 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnMemberLeft += (sender, args) => { // 현재 참여중인 채널에 멤버가 나갔을 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnMessageReceived += (sender, args) => { // 현재 참여중인 채널에 메시지를 수신할 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnChannelAdded += (sender, args) => { // 채널이 추가되었을 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnChannelChanged += (sender, args) => { // 현재 참여중인 채널에 변동사항이 있을 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnChannelRemoved += (sender, args) => { // 채널이 삭제되었을 경우 발생하는 이벤트 }; HiveTalkPlusApi.OnPublicMemberAdded += (sender, args) => { // Public 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백 }; HiveTalkPlusApi.OnPublicMemberLeft += (sender, args) => { // Public 채널에 멤버가 나갔을 경우 발생하는 콜백 }; HiveTalkPlusApi.OnPublicChannelAdded += (sender, args) => { // Public 채널이 추가되었을 경우 발생하는 콜백 }; HiveTalkPlusApi.OnPublicChannelChanged += (sender, args) => { // Public 채널에 변동사항이 있을 경우 발생하는 콜백 }; HiveTalkPlusApi.OnPublicChannelRemoved += (sender, args) => { // 채널이 삭제되었을 경우 발생하는 이벤트 }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
HiveTalkPlus.addChannelListener(tag, object : HiveTalkPlus.ChannelListener() { override fun onMemberAdded(channel: HiveTalkPlusChannel?, users: List<HiveTalkPlusUser>?) { // 현재 참여중인 채널에 새로운 멤버가 추가되었을 경우 발생하는 이벤트 } override fun onMemberLeft(channel: HiveTalkPlusChannel?, users: List<HiveTalkPlusUser>?) { // 현재 참여중인 채널에 멤버가 나갔을 경우 발생하는 이벤트 } override fun onMessageReceived(channel: HiveTalkPlusChannel?, message: HiveTalkPlusMessage?) { // 현재 참여중인 채널에 메시지를 수신할 경우 발생하는 이벤트 } override fun onChannelAdded(channel: HiveTalkPlusChannel?) { // 채널이 추가되었을 경우 발생하는 이벤트 } override fun onChannelChanged(channel: HiveTalkPlusChannel?) { // 현재 참여중인 채널에 변동사항이 있을 경우 발생하는 이벤트 } override fun onChannelRemoved(channel: HiveTalkPlusChannel?) { // 채널이 삭제되었을 경우 발생하는 이벤트 } override fun onPublicMemberAdded(channel: HiveTalkPlusChannel?, users: List<HiveTalkPlusUser>?) { // Public 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백 } override fun onPublicMemberLeft(channel: HiveTalkPlusChannel?, users: List<HiveTalkPlusUser>?) { // Public 채널에 멤버가 나갔을 경우 발생하는 콜백 } override fun onPublicChannelAdded(channel: HiveTalkPlusChannel?) { // Public 채널이 추가되었을 경우 발생하는 콜백 } override fun onPublicChannelChanged(channel: HiveTalkPlusChannel?) { // Public 채널에 변동사항이 있을 경우 발생하는 콜백 } override fun onPublicChannelRemoved(channel: HiveTalkPlusChannel?) { // Public 채널이 삭제되었을 경우 발생하는 이벤트 } }) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
// YOUR_CLASS_INSTANCE : HiveTalkPlusChannelDelegate를 구현하는 클래스 인스턴스 HiveTalkPlus.add(YOUR_CLASS_INSTANCE, tag: tag) func memberAdded(_ channel: HiveTalkPlusChannel!, users: [HiveTalkPlusUser]!) { // 현재 참여중인 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백 } func memberLeft(_ channel: HiveTalkPlusChannel!, users: [HiveTalkPlusUser]!) { // 현재 참여중인 채널에 멤버가 나갔을 경우 발생하는 콜백 } func messageReceived(_ channel: HiveTalkPlusChannel!, message: HiveTalkPlusMessage!) { // 현재 참여중인 채널에 메시지를 수신할 경우 발생하는 이벤트 } func channelAdded(_ channel: HiveTalkPlusChannel!) { // 채널이 추가되었을 경우 발생하는 콜백 } func channelChanged(_ channel: HiveTalkPlusChannel!) { // 현재 참여중인 채널에 변동사항이 있을 경우 발생하는 콜백 } func channelRemoved(_ channel: HiveTalkPlusChannel!) { // 채널이 삭제되었을 경우 발생하는 콜백 } func publicMemberAdded(_ channel: HiveTalkPlusChannel!, users: [HiveTalkPlusUser]!) { // Public 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백 } func publicMemberLeft(_ channel: HiveTalkPlusChannel!, users: [HiveTalkPlusUser]!) { // Public 채널에 멤버가 나갔을 경우 발생하는 콜백 } func publicChannelAdded(_ channel: HiveTalkPlusChannel!) { // Public 채널이 추가되었을 경우 발생하는 콜백 } func publicChannelChanged(_ channel: HiveTalkPlusChannel!) { // Public 채널에 변동사항이 있을 경우 발생하는 콜백 } func publicChannelRemoved(_ channel: HiveTalkPlusChannel!) { // Public 채널이 삭제되었을 경우 발생하는 콜백 } |