Chat / iOS
Chat iOS v4
Chat iOS
Chat
iOS
Home
/
Chat
/
iOS
/
Channel
This is the new Docs for Chat SDK v4 for iOS. To see the previous Docs, click here.

Enter and exit an open channel

A user can enter up to ten open channels and only receives messages from the entered channels. If the user is disconnected from the Sendbird server with the disconnect(completionHandler:) method, they no longer receive messages. To continue receiving messages from the user's participating open channels, they have to be reconnected to the server with the connect(userId:authToken:completionHandler:) method and re-enter the open channels.

If the client app is in the background, the user is disconnected from the Sendbird server. However, when the client app runs in the foreground again, the Chat SDK automatically reconnects the open channels the user has entered. When a user temporarily loses connection to the Sendbird server due to unstable connection, the SendbirdChat instance attempts to reconnect the user and the open channels the user has entered.

// Call the instance method of the channel object.
channel.enter { error in
    guard error == nil else {
        // Handle error.
        return
    }

    // The current user successfully entered the open channel.
    // By using APIs, the current user can chat with other users in the channel.
}

A user can exit open channels as shown below. After exiting, the user can no longer receive messages from the channel.

// Call the instance method of the channel object.
channel.exit { error in
    guard error == nil else {
        // Handle error.
        return
    }

    // The current user successfully left the open channel.
}