public void LeaveChannel()
 {
     if (_rtmChannel != null)
     {
         _rtmChannel.LeaveWithCompletion(LeaveChannelBlock);
         _rtmChannel = null;
     }
 }
        public void JoinChannel(string channel)
        {
            var channelDelegate = new RtmChannelDelegate();

            channelDelegate.OnMessageReceived += OmMessageReceived;
            channelDelegate.ShowAlert         += (user, msg) => Console.WriteLine($"RTM alert. {user}: {msg}");;

            _rtmChannel = _rtmKit.CreateChannelWithId(channel, channelDelegate);

            if (_rtmChannel == null)
            {
                return;
            }

            _rtmChannel.JoinWithCompletion(JoinChannelBlock);
        }
 public override void MessageReceived(AgoraRtmChannel channel, AgoraRtmMessage message, AgoraRtmMember member)
 {
     InvokeOnMainThread(() => OnMessageReceived(member.UserId, message));
 }
 public override void MemberLeft(AgoraRtmChannel channel, AgoraRtmMember member)
 {
     InvokeOnMainThread(() => ShowAlert(member.UserId, "Left"));
 }