In order to use the features of the Calls SDK in your client apps, user authentication with Sendbird server must be initiated through the SendBirdCall.authenticate()
method. To make or receive calls, the SendBirdCall
instance should be connected with Sendbird server. Connect socket by using the SendBirdCall.connectWebSocket()
method after a user’s authentication has been completed.
As shown below, the SendBirdCall
instance must be initialized when a client app is launched. Initialization is done by using the APP_ID
of your Sendbird application in the Dashboard. If the instance is initialized with a different APP_ID
, all existing call-related data in a client app will be cleared and the SendBirdCall
instance will be initialized again with the new APP_ID
.
// Initialize SendBirdCall instance to use APIs in your app.
SendBirdCall.init(APP_ID);
In order to use the interfaces and methods provided in a SendBirdCall
instance, a user must be connected to Sendbird server by authentication. Without authentication, calling the methods of the Calls SDK will not work in a user’s client app. This means that if a user performs actions such as accepting an incoming call before authentication, the user will receive errors from Sendbird server.
Note: Using the Chat API, you can create a user along with their own access token, or issue an access token for an existing user.
// The USER_ID below should be unique to your Sendbird application.
SendBirdCall.authenticate({ userId: USER_ID, accessToken: ACCESS_TOKEN }, (result, error) => {
if (error) {
// Handle authentication failure.
} else {
// The user has been successfully authenticated and is connected to Sendbird server.
...
}
});
// Establish websocket connection with Sendbird server.
SendBirdCall.connectWebSocket()
.then(/* Succeeded to connec t*/)
.catch(/* Failed to connect */);
}
Deauthenticate a user from Sendbird server using the SendBirdCall.deauthenticate()
method. It will clear all current direct calls, session keys, and user information from a user’s client app. This can also be considered as logging out from the server.
SendBirdCall.deauthenticate();