콘텐츠로 이동

Channel

채널 생성

대화를 위한 채널을 생성합니다.

  • 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이 지원되지 않습니다.
  HiveTalkPlusApi.CreateChannel(targetId, channelId, reuseChannel, maxMemberCount, hideMessagesBeforeJoin, channelType, channelName, invitationCode, imageUrl, metaData, (HiveTalkPlusChannel channel) => { 
     // SUCCESS
  }, (int statusCode, Exception e) => {
      // FAILURE
  });
  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?) {}
  })
  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를 이용하여 채널을 조회할 수 있습니다.

    HiveTalkPlusApi.GetChannel(channelId, (HiveTalkPlusChannel channel) => { 
       // SUCCESS
    }, (int statusCode, Exception e) => {
       // FAILURE
    });
  HiveTalkPlus.getChannel(channelId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
  override fun onSuccess(channel: HiveTalkPlusChannel?) {}
  override fun onFailure(i: Int, e: Exception?) {}
  })
  HiveTalkPlus.getChannel(channelId, success: { channel in
     // SUCCESS
  }, failure: { errorCode, error in
      // FAILURE
  })

 


채널 정보 업데이트

채널의 정보를 업데이트 할 수 있습니다.

  HiveTalkPlusApi.UpdateChannel(channel, maxMemberCount, hideMessagesBeforeJoin, channelName, invitationCode, imageUrl, metaData, (HiveTalkPlusChannel channel) => { 
     // SUCCESS
  }, (int statusCode, Exception e) => {
     // FAILURE
  });
  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?) {}
  })
  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 객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.

 HiveTalkPlusApi.GetPublicChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.getPublicChannelList(lastChannel,
     object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> {
         override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.getPublicChannelList(lastChannel, success: { channels in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

2. 현재 참여중인 채널 목록 조회

현재 참여 중인 채널 목록을 조회할 수 있습니다. Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴 받은 HiveTalkPlusChannel 객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.

 HiveTalkPlusApi.GetChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
HiveTalkPlus.getChannelList(lastChannel, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> {
    override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {}
    override fun onFailure(i: Int, e: Exception?) {}
})
 HiveTalkPlus.getChannelList(lastChannel, success: { channels in
    // SUCCESS
}, failure: { errorCode, error in
    // FAILURE
})

3. 숨긴 채널 목록 조회

사용자가 HideChannel함수를 호출하여 숨긴 채널을 조회할 수 있습니다. Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴 받은 HiveTalkPlusChannel 객체 중 마지막 객체를 넣으면 그다음 페이지를 조회할 수 있습니다.

 HiveTalkPlusApi.GetHiddenChannelList(lastChannel, (List<HiveTalkPlusChannel> channels) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.getHiddenChannelList(lastChannel,
     object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> {
         override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.getHiddenChannelList(lastChannel, success: { channels in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

4. 전체 채널의 안읽은 메시지 수 조회

현재 참여 중인 모든 채널에 안 읽은 메시지 숫자를 조회할 수 있습니다.

 HiveTalkPlusApi.GetTotalUnreadCount((int totalCount) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
});
 HiveTalkPlus.getTotalUnreadCount(object : HiveTalkPlus.CallbackListener<Int?> {
     override fun onSuccess(integer: Int?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
HiveTalkPlus.getTotalUnreadCount({ count in
   // SUCCESS
}, failure: { errorCode, error in
   // FAILURE
})

5. 참여중인 채널 검색

현재 참여 중인 채널 목록을 검색할 수 있습니다. 검색 가능한 항목은 채널명, 채널 참여 중인 사용자 목록입니다.

 HiveTalkPlusApi.SearchChannelList(lastChannel, channelName, memberIds, (List<HiveTalkPlusChannel> channels) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.searchChannelList(lastChannel, channelName, memberIds,
     object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusChannel?>?> {
         override fun onSuccess(channels: List<HiveTalkPlusChannel?>?) {}
         override fun onFailure(errorCode: Int, e: Exception?) {}
 })
 HiveTalkPlus.searchChannelList(lastChannel, channelName: channelName, membersIds: membersIds, success: { channels in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

 


채널 사용자 관리

1. 채널에 사용자 초대하기

채널에 사용자를 초대할 수 있습니다. 채널의 Owner가 아니어도 초대가 가능합니다.

 HiveTalkPlusApi.AddMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.addMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.addMember(to: channel, userIds: userIds, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

2. 채널에서 사용자 제거하기

채널에 참여한 사용자를 제거할 수 있습니다. 채널의 Owner만 수행 가능합니다.

 HiveTalkPlusApi.RemoveMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.removeMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.removeMember(to: channel, userIds: userIds, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

3. 사용자 차단하기

채널에 참여한 사용자를 차단하는 기능을 제공합니다. 차단된 사용자는 즉시 채널에서 퇴장당하며 차단 해제가 될 때까지 들어올 수 없습니다. 채널의 Owner만 수행 가능합니다.

 HiveTalkPlusApi.BanMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.banMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.banMember(to: channel, userIds: userIds, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

4. 사용자 차단 해제하기

채널에서 차단되었던 사용자를 차단해 제합니다. 채널의 Owner만 수행 가능합니다.

 HiveTalkPlusApi.UnBanMemberToChannel(channel, targetIds, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.unBanMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.unBanMember(to: channel, userId: userId, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

5. 사용자 Mute

채널에 참여한 특정 사용자가 메시지 발송을 못 하도록 막는 mute 기능을 제공합니다. 채널의 Owner만 수행 가능합니다.

 HiveTalkPlusApi.MuteMemberToChannel(channel, targetId, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.muteMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.muteMember(to: channel, userIds: userIds, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

6. 사용자 Mute 해제

채널 사용자의 mute 상태를 해제할 수 있습니다. 채널의 Owner만 수행 가능합니다.

 HiveTalkPlusApi.UnMuteMemberToChannel(channel, targetId, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.unMuteMemberToChannel(channel, targetIds,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.unMuteMember(to: channel, userIds: userIds, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

 


채널 참여 / 나가기

1. 채널에 참여하기

Public 타입의 채널은 Owner가 초대하지 않아도 사용자가 임의로 참여할 수 있습니다.

 HiveTalkPlusApi.JoinChannel(channelId, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.joinChannel(channelId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
    override fun onSuccess(channel: HiveTalkPlusChannel?) {}
    override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.joinChannel(channelId, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

2. InvitationOnly 채널에 참여하기

InvitationOnly 채널의 경우 채널에 정의된 invitationCode가 필요합니다. 해당 값을 입력하여 invitationOnly 채널에 참여할 수 있습니다.

 HiveTalkPlusApi.JoinChannel(channelId, invitationCode, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.joinChannel(channelId, invitationCode,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.joinChannel(channelId, invitationCode: invitationCode, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
})

3. 채널 나가기

채널에서 나갈 수 있습니다. deleteChannelIfEmpty 파라미터를 true로 설정하면 채널에 참가 멤버가 더 이상 없을 경우에만 채널에서 나갈 수 있습니다.

 HiveTalkPlusApi.LeaveChannel(channel, deleteChannelIfEmpty, () => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.leaveChannel(channel, deleteChannelIfEmpty,
     object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
         override fun onSuccess(channel: HiveTalkPlusChannel?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.leave(channel, deleteChannelIfEmpty: deleteChannelIfEmpty, success: {
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

 


채널 내 메시징

1. 채널 내 메시지 목록 조회

채널 내 메시지 목록을 조회할 수 있습니다. 마지막 수신 시간을 기준으로 정렬되어 있습니다.

 HiveTalkPlusApi.GetMessageList(channel, lastMessage, (List<HiveTalkPlusMessage> messages) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.getMessageList(channel, lastMessage,
     object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusMessage?>?> {
         override fun onSuccess(messages: List<HiveTalkPlusMessage?>?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.getMessageList(channel, last: lastMessage, success: { messages in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

2. 채널 내 파일 메시지 목록 조회

채널 내 파일이 첨부된 메시지 목록을 조회할 수 있습니다. 마지막 수신 시간을 기준으로 정렬되어 있습니다.

 HiveTalkPlusApi.GetFileMessageList(channel, lastMessage, (List<HiveTalkPlusMessage> messages) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.getFileMessageList(channel, lastMessage,
     object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusMessage?>?> {
         override fun onSuccess(messages: List<HiveTalkPlusMessage?>?) {}
         override fun onFailure(i: Int, e: Exception?) {}
 })
 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
 // 메시지 발송
 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
 });
 // 메시지 발송
 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?) {}
 })
 HiveTalkPlus..sendFileMessage(channel, text: text, type: type, metaData: metaData, filePath: filePath, success: { message in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

4. 메시지 읽음 확인

안 읽은 메시지 수를 카운팅 하기 위해 메시지 읽음 확인 API를 제공합니다.

 HiveTalkPlusApi.MarkAsReadChannel(channel, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.markAsReadChannel(channel, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
     override fun onSuccess(channel: HiveTalkPlusChannel?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.mark(asRead: channel, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

5. 특정 채널 안 읽은 메시지 수 확인

특정 메시지를 읽지 않은 사용자 수를 확인할 수 있는 기능을 제공합니다.

 channel.GetMessageUnreadCount(message);</pre>
 channel.getMessageUnreadCount(message);
 channel.getMessageUnreadCount(message);</pre>

 


채널 숨기기 / 보이기

1. 채널 숨기기

현재 참여 중인 채널 목록에 안 나오도록 채널을 숨길 수 있습니다.

 HiveTalkPlusApi.HideChannel(channelId, () => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
   // FAILURE
 });
 HiveTalkPlus.hideChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> {
     override fun onSuccess(unit: Unit?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.hideChannel(channelId, success: {
    // SUCCESS
 }, failure: { errorCode, error in
   // FAILURE
 })

2. 채널 보이기

현재 참여 중인 채널 목록에 다시 나오도록 채널을 숨김 해제를 할 수 있습니다.

 HiveTalkPlusApi.ShowChannel(channelId, () => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.showChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> {
     override fun onSuccess(unit: Unit?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.showChannel(channelId, success: {
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

 


채널 Freeze / Unfreeze

1. 채널 Freeze

채널을 프리징 합니다 (메시지 발송 기능 정지)

 HiveTalkPlusApi.FreezeChannel(channelId, () => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
 // FAILURE
 });
HiveTalkPlus.freezeChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> {
    override fun onSuccess(unit: Unit?) {}
    override fun onFailure(i: Int, e: Exception?) {}
})
 HiveTalkPlus.freezeChannel(channelId, success: {
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

2. 채널 Unfreeze

채널의 프리징 상태를 해제합니다 (메시지 발송 가능)

 HiveTalkPlusApi.UnfreezeChannel(channelId, () => {
   // SUCCESS
 }, (int statusCode, Exception e) => {
 // FAILURE
 });
 HiveTalkPlus.unfreezeChannel(channelId, object : HiveTalkPlus.CallbackListener<Unit?> {
     override fun onSuccess(unit: Unit?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.unfreezeChannel(channelId, success: {
    // SUCCESS
 }, failure: { errorCode, error in
    // FAILURE
 })

 


채널 주인 변경

채널 주인(owner)은 채널 소유권을 채널 내 멤버에게 이관할 수 있습니다.

 HiveTalkPlusApi.TransferOwnership(channel, targetUserId, (HiveTalkPlusChannel channel) => {
    // SUCCESS
 }, (int statusCode, Exception e) => {
    // FAILURE
 });
 HiveTalkPlus.transferChannelOwnership(channel, targetUserId, object : HiveTalkPlus.CallbackListener<HiveTalkPlusChannel?> {
     override fun onSuccess(channel: HiveTalkPlusChannel?) {}
     override fun onFailure(i: Int, e: Exception?) {}
 })
 HiveTalkPlus.transferOwnership(channel, targetUserId: targetUserId, success: { channel in
    // SUCCESS
 }, failure: { errorCode, error in
   // FAILURE
 })

 

Event

아래와 같이 이벤트를 받을 수 있습니다.

 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) => {
     // 채널이 삭제되었을 경우 발생하는 이벤트
 };
 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 채널이 삭제되었을 경우 발생하는 이벤트
 }

})
 // 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 채널이 삭제되었을 경우 발생하는 콜백
 }