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 등록
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
TalkPlus.sharedInstance()?.add(self, tag: "tagHere")
}
// 채널 이벤트 delegate 등록 해제 (메모리 누수 방지를 위해서 반드시 등록 해제 필요)
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(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