# SinchClientBuilder

interface SinchClientBuilder

The SinchClientBuilder class builds a new SinchClient instance. To construct a SinchClient, the required configuration parameters are:

- Context.

- Application Key.

- Environment host.

- User ID. It is optional to specify

- Push configuration.

- Push notification display name.

## Functions

applicationKey
Link copied to clipboard
abstract fun applicationKey(applicationKey: String): SinchClientBuilder

Sets the application key associated with the SinchClient.

build
Link copied to clipboard
abstract fun build(): SinchClient

Creates the resulting SinchClient.

callbackHandler
Link copied to clipboard
abstract fun callbackHandler(callbackHandler: Handler): SinchClientBuilder

Sets the callback handler to be used for all Sinch callbacks. The SinchClient will emit its callbacks on the thread associated with the provided handler. By default, the SinchClient uses the thread on which the builder was created.

context
Link copied to clipboard
abstract fun context(context: Context): SinchClientBuilder

Sets the context associated with the SinchClient.

enableVideoCalls
Link copied to clipboard
abstract fun enableVideoCalls(enableVideoCalls: Boolean): SinchClientBuilder

Manages initialization of video calls functionality. By default this functionality is enabled.

environmentHost
Link copied to clipboard
abstract fun environmentHost(environmentHost: String): SinchClientBuilder

Sets the environment host associated with the SinchClient.

pushConfiguration
Link copied to clipboard
abstract fun pushConfiguration(pushConfiguration: PushConfiguration): SinchClientBuilder

Sets the PushConfiguration to be used to deliver incoming call notifications. Currently Sinch SDK supports FCM and HMS notification providers. To create specific push configuration see FcmPushConfigurationBuilder or HmsPushConfigurationBuilder.

pushNotificationDisplayName
Link copied to clipboard
abstract fun pushNotificationDisplayName(pushNotificationDisplayName: String): SinchClientBuilder

Specify a display name to be used when the Sinch creates a push notification on behalf of the local user (e.g. for an outgoing call). For managed push display name is included in a push notification on a best-effort basis. For example, if the target device has very limited push payload size constraints (e.g iOS 7 can only handle 255 byte push notification payload), then the display name may not be included.

userId
Link copied to clipboard
abstract fun userId(userId: String): SinchClientBuilder

Sets the user id associated with the SinchClient. If the app already has a scheme for user IDs (email addresses, phone numbers, customer numbers, etc.), the same ID could be used when configuring the SinchClient.