Callback

아래와 같이 Callback을 등록하여 받을 수 있습니다.

tag 값은 채널 이벤트 등록 또는 삭제를 위한 문자열 값으로써, 유니크한 문자열 값으로 설정하면 됩니다.

// 채널 이벤트 수신을 위한 리스너 등록
TalkPlus.addChannelListener(tag, new TalkPlus.ChannelListener() {
    @Override
    public void onMemberAdded(TPChannel channel, List<TPMember> users) {
        // 현재 참여중인 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백
    }

    @Override
    public void onMemberLeft(TPChannel channel, List<TPMember> users) {
        // 현재 참여중인 채널에 멤버가 나갔을 경우 발생하는 콜백
    }

    @Override
    public void onMessageReceived(TPChannel channel, TPMessage message) {
        // 현재 참여중인 채널에 메시지를 수신할 경우 발생하는 콜백
    }
    
    @Override
    public void onMessageDeleted(TPChannel channel, TPMessage message) {
        // 현재 참여중인 채널에 메시지가 삭제될 경우 발생하는 콜백
    }
    
    @Override
    public void onChannelAdded(TPChannel channel) {
        // 채널이 추가되었을 경우 발생하는 콜백
    }
    
    @Override
    public void onChannelChanged(TPChannel channel) {
        // 현재 참여중인 채널에 변동사항이 있을 경우 발생하는 콜백
    }

    @Override
    public void onChannelRemoved(TPChannel channel) {
        // 채널이 삭제되었을 경우 발생하는 콜백
    }
    
    @Override
    public void onMemberMuted(TPChannel channel) {
        // 현재 참여중인 채널에 멤버가 Mute 된 경우 발생하는 콜백
    }
    
    @Override
    public void onMemberUnMuted(TPChannel channel) {
        // 현재 참여중인 채널에 멤버가 UnMute 된 경우 발생하는 콜백
    }
    
    @Override
    public void onMemberBanned(TPChannel channel) {
        // 현재 참여중인 채널에 멤버가 Ban 된 경우 발생하는 콜백
    }
    
    @Override
    public void onMemberUnBanned(TPChannel channel) {
        // Ban 된 멤버가 Unban 된 경우 발생하는 콜백
    }
});

// 채널 이벤트 리스너 등록 해제
// 메모리 누수 방지를 위해서 반드시 등록 해제 필요
TalkPlus.removeChannelListener(tag);

정의된 interface는 다음과 같습니다.

public interface ChannelListener {
    default void onMemberAdded(TPChannel channel, List<TPMember> users) {}
    default void onMemberLeft(TPChannel channel, List<TPMember> users) {}
    default void onMessageReceived(TPChannel channel, TPMessage message) {}
    default void onMessageDeleted(TPChannel channel, TPMessage message) {}
    default void onChannelAdded(TPChannel channel) {}
    default void onChannelChanged(TPChannel channel) {}
    default void onChannelRemoved(TPChannel channel) {}
    default void onPublicMemberAdded(TPChannel channel, List<TPMember> users) {}
    default void onPublicMemberLeft(TPChannel channel, List<TPMember> users) {}
    default void onPublicChannelAdded(TPChannel channel) {}
    default void onPublicChannelChanged(TPChannel channel) {}
    default void onPublicChannelRemoved(TPChannel channel) {}
    default void onMemberMuted(TPChannel channel, List<TPMember> users) {}
    default void onMemberUnMuted(TPChannel channel, List<TPMember> users) {}
    default void onPublicMemberMuted(TPChannel channel, List<TPMember> users) {}
    default void onPublicMemberUnMuted(TPChannel channel, List<TPMember> users) {}
}

Last updated