Callback

채널 이벤트를 받기 위해서는 아래와 같이 Delegate를 등록해야 합니다.

// 채널 이벤트 수신을 위한 delegate 등록
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [[TalkPlus sharedInstance] addChannelDelegate:self tag:@"tagHere"];
}

// 채널 이벤트 delegate 등록 해제 (메모리 누수 방지를 위해서 반드시 등록 해제 필요)
- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [[TalkPlus sharedInstance] removeChannelDelegate:@"tagHere"];
}

정의된 Delegate 이벤트는 아래와 같습니다.

@protocol TPChannelDelegate <NSObject>

// 현재 참여중인 채널에 새로운 멤버가 추가되었을 경우 발생하는 콜백
-(void)memberAdded:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

// 현재 참여중인 채널에 멤버가 나갔을 경우 발생하는 콜백
-(void)memberLeft:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

// 현재 참여중인 채널에 메시지를 수신할 경우 발생하는 콜백
-(void)messageReceived:(TPChannel *)tpChannel message:(TPMessage *)tpMessage;

// 현재 참여중인 채널에 메시지가 삭제될 경우 발생하는 콜백
-(void)messageDeleted:(TPChannel *)tpChannel message:(TPMessage *)tpMessage;

// 채널이 추가되었을 경우 발생하는 콜백
-(void)channelAdded:(TPChannel *)tpChannel;

// 현재 참여중인 채널에 변동사항이 있을 경우 발생하는 콜백
-(void)channelChanged:(TPChannel *)tpChannel;

// 채널이 삭제되었을 경우 발생하는 콜백
-(void)channelRemoved:(TPChannel *)tpChannel;

// 현재 참여중인 채널에 멤버가 Mute 된 경우 발생하는 콜백
-(void)memberMuted:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

// 현재 참여중인 채널에 멤버가 UnMute 된 경우 발생하는 콜백
-(void)memberUnmuted:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

// 현재 참여중인 채널에 멤버가 Ban 된 경우 발생하는 콜백
-(void)memberBanned:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

// Ban 된 멤버가 Unban 된 경우 발생하는 콜백
-(void)memberUnbanned:(TPChannel *)tpChannel users:(NSArray<TPMember *> *)users;

@end

Last updated