이 문서는 채널톡 iOS SDK(이하 SDK)의 delegate에 대해서 설명합니다.
delegate는 SDK에서 발생하는 이벤트 알림을 받아볼 수 있도록 합니다.
이를 위해 CHTChannelPluginDelegate를 채택한 클래스에게 delegate를 위임해야 합니다. 예시는 다음과 같습니다.
메신저 화면을 여는 이벤트에 대한 딜리게이트 메소드입니다. 아래의 경우에 호출됩니다.
showMessenger를 호출한 경우openChat을 호출한 경우유저가 채널 버튼를 눌러 메신저를 연 경우
메신저 화면을 닫는 이벤트에 대한 딜리게이트 메소드입니다. 아래의 경우에 호출됩니다.
hideMessenger를 호출한 경우sleep을 호출한 경우shutdown을 호출한 경우유저가 명시적으로 메신저 화면을 닫는 경우
새 유저챗이 생성되는 이벤트에 대한 딜리게이트 메소드 입니다. 아래의 경우에 호출됩니다.
유저의 명시적인 새 채팅 생성
chatId = nil인openChat
❗️ onBadgeChanged(unread: Int, alert: Int)를 사용해 주세요.
유저의 뱃지 개수 변경에 대한 딜리게이트 메소드입니다. 뱃지 갯수가 변경되거나, 부트하는 경우에 호출됩니다.
유저의 읽지 않은 알림 갯수에 대한 딜리게이트 메소드입니다. 알림 갯수가 변경되거나, 부트하는 경우에 호출됩니다.
alert : 유저가 읽지 않은 중요 알림 갯수입니다. 채널 버튼에서 숫자로 알림이 표현됩니다.
unread : 유저가 읽지 않은 모든 알림 갯수입니다. alert 메시지의 수를 포함합니다. 채널 버튼에서 빨간 점으로 알림이 표현됩니다.
class ViewController: CHTChannelPluginDelegate {
func onBadgeChanged(unread: Int, alert: Int) {
...
}
}- (void)onBadgeChangedWithUnread:(NSInteger)unread alert:(NSInteger)alert {
}유저에 의해 팔로업 정보가 수정되는 경우에 호출됩니다.
ChannelIO.updateUser 에 의해서는 호출되지 않습니다. 딕셔너리의 값은 nullable 합니다.
유저가 채팅 안에서 링크를 누르거나, 링크 버튼을 누르는 경우에 호출됩니다.
해당 함수가 true를 반환하는 경우, SDK에서 수행하는 URL 리다이렉트는 동작하지 않습니다.
인앱 메시지 팝업이 불리는 경우에 대한 알림입니다.
매니저로부터 메시지가 도착하거나, 마케팅 메시지가 도착하는 경우에 호출됩니다.
이 함수의 파라미터 event에 대한 자세한 정보는 CHTPopupData 문서를 참고합니다.