# SinchClient

interface SinchClient

The SinchClient is the Sinch SDK entry point.

It provides access to the feature classes in the Sinch SDK:

- CallController

- AudioController

- VideoController

#### See also

SinchClient.builder

## Types

Companion
Link copied to clipboard
object Companion

## Properties

audioController
Link copied to clipboard
abstract val audioController: AudioController

AudioController object for controlling different audio settings.

callController
Link copied to clipboard
abstract val callController: CallController

The CallController object used for placing and receiving calls.

isStarted
Link copied to clipboard
abstract val isStarted: Boolean

Indicates if the SinchClient is started.

localUserId
Link copied to clipboard
abstract val localUserId: String

The id of the user associated with this SinchClient.

videoController
Link copied to clipboard
abstract val videoController: VideoController

VideoController object for managing and retrieving views for Video calls.

## Functions

addSinchClientListener
Link copied to clipboard
abstract fun addSinchClientListener(sinchClientListener: SinchClientListener)

Adds SinchClientListener object that handles events from the SinchClient.

checkManifest
Link copied to clipboard
abstract fun checkManifest()

This method should be called before and be used during development time to verify that the manifest contains the permissions required. Once the application is ready to be published any calls to this manifest can be removed.

relayRemotePushNotification
Link copied to clipboard
abstract fun relayRemotePushNotification(callNotificationResult: CallNotificationResult)

Method used to forward the push notification payload. This will implicitly start the SinchClient if it wasn't already started.

removeSinchClientListener
Link copied to clipboard
abstract fun removeSinchClientListener(sinchClientListener: SinchClientListener)

Removes listener for client events.

start
Link copied to clipboard
abstract fun start()

Starts the SinchClient. This must be done prior to making any calls.

terminateGracefully
Link copied to clipboard
abstract fun terminateGracefully()

Terminates the Sinch client, while still leaving it some time to finish up currently pending tasks, for example finishing pending HTTP requests.

unregisterPushToken
Link copied to clipboard
abstract fun unregisterPushToken(pushTokenUnregistrationCallback: PushTokenUnregistrationCallback)

Unregisters any push token that has been registered for Sinch Managed Push (for the User that this instance is bound to).