Default SDK behaviour on login
When the login method of the SDK is called, the SDK performs the below operations:- Logs the user into the SDK
- Saves the details of the logged in user locally.
- Creates a web-socket connection for the logged in user.
Managing the Web-socket connections manually
The CometChat SDK also allows you to modify the above default behaviour of the SDK and take the control of the web-socket connection into your own hands. In order to achieve this, you need to follow the below steps:- While calling the init() function on the app startup, you need to inform the SDK that you will be managing the web socket connect. You can do so by using the
autoEstablishSocketConnection()
method provided by theAppSettingsBuilder
class. This method takes a boolean value as an input. If set totrue
, the SDK will manage the web-socket connection internally based on the default behaviour mentioned above. If set tofalse
, the web socket connection can will not be managed by the SDK and you will have to handle it manually. You can refer to the below code snippet for the same:
- You can manage the connection to the web-socket server using the
connect()
anddisconnect()
methods provided by the SDK. - Connect to the web-socket server
connect()
method provided by the CometChat
class to establish the connection to the web-socket server. Please make sure that the user is logged in to the SDK before calling this method. You can use the CometChat.getLoggedInUser() method to check this. Once the connection is established, you will start receiving all the real-time events for the logged in user
- Disconnect from the web-socket server
disconnect()
method provided by the CometChat
class to break the established connection. Once the connection is broken, you will stop receiving all the real-time events for the logged in user.