Quick Reference for AI Agents & Developers
login and logout events. This can be achieved using the LoginListener class provided. LoginListener consists of 4 events that can be triggered. These are as follows:
| Callback Method | Information |
|---|---|
| loginSuccess(User user) | Informs you that the login was successful and provides you with a user object containing the data for the user that logged in |
| loginFailure(CometChatException e) | Informs you about the failure while logging in the user and provides you with the reason for the failure wrapped in an object of the CometChatException class |
| logoutSuccess() | Informs you about the user being logged out successfully. |
| logoutFailure(CometChatException e) | Informs you about the failure while logging out the user. The reason for the failure can be obtained from the object of the CometChatException class provided. |
LoginListener, you need to use the addLoginListener() method provided by the SDK which takes a unique identifier for the listener and of the the LoginListener class itself.
- Java
- Kotlin
removeLoginListener() method provided by the SDK and pas the ID of the listener that needs to be removed.
- Java
- Kotlin
Best Practices
Use Login Listeners for Session Management
Use Login Listeners for Session Management
Use
loginSuccess() to initialize user-specific data (fetch conversations, register message listeners) and logoutSuccess() to clean up resources and navigate to the login screen.Handle Login Failures Gracefully
Handle Login Failures Gracefully
In
loginFailure(), parse the CometChatException to show user-friendly error messages (e.g., “Invalid credentials”, “Network error”). Provide retry options for transient failures.Register Listeners Early
Register Listeners Early
Register login listeners before calling
CometChat.login() to ensure you don’t miss any events. Register in onCreate() or before authentication attempts.Remove Listeners on Logout
Remove Listeners on Logout
Remove all listeners (message, user, group, call) in
logoutSuccess() to prevent receiving events after logout. This ensures a clean session termination.