Package

## Interface SinchClientBuilder

- All Implemented Interfaces:

      public 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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract SinchClientBuilder` | `context(Context context)` | Sets the context associated with the SinchClient.
    `abstract SinchClientBuilder` | `userId(String userId)` | Sets the user id associated with the SinchClient.
    `abstract SinchClientBuilder` | `applicationKey(String applicationKey)` | Sets the application key associated with the SinchClient.
    `abstract SinchClientBuilder` | `environmentHost(String environmentHost)` | Sets the environment host associated with the SinchClient.
    `abstract SinchClientBuilder` | `enableVideoCalls(Boolean enableVideoCalls)` | Disables initialization of video calls if they are not needed.
    `abstract SinchClientBuilder` | `pushConfiguration(PushConfiguration pushConfiguration)` | Sets the PushConfiguration to be used to deliver incoming call notifications.
    `abstract SinchClientBuilder` | `pushNotificationDisplayName(String pushNotificationDisplayName)` | Specify a display name to be used when the Sinch creates a push notification on behalf of the local user (e.g.
    `abstract SinchClient` | `build()` | Creates the resulting SinchClient.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

  - ### Method Detail

    - #### context

           abstract SinchClientBuilder context(Context context)

      Sets the context associated with the SinchClient.

      Parameters:
        `context` - Must not be null.

    - #### userId

           abstract SinchClientBuilder userId(String userId)

      Sets the user id associated with the SinchClient.

      Parameters:
        `userId` - Must not be null.

    - #### applicationKey

           abstract SinchClientBuilder applicationKey(String applicationKey)

      Sets the application key associated with the SinchClient.

      Parameters:
        `applicationKey` - Must not be null.

    - #### environmentHost

           abstract SinchClientBuilder environmentHost(String environmentHost)

      Sets the environment host associated with the SinchClient.

      Parameters:
        `environmentHost` - Must not be null.

    - #### enableVideoCalls

           abstract SinchClientBuilder enableVideoCalls(Boolean enableVideoCalls)

      Disables initialization of video calls if they are not needed.

      Parameters:
        `enableVideoCalls` - Optional.

    - #### pushConfiguration

           abstract SinchClientBuilder pushConfiguration(PushConfiguration pushConfiguration)

      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

      Parameters:
        `pushConfiguration` - to be used to deliver incoming notifications

    - #### pushNotificationDisplayName

           abstract SinchClientBuilder pushNotificationDisplayName(String pushNotificationDisplayName)

      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.

      Parameters:
        `pushNotificationDisplayName` - display name may at most be 255 bytes (UTF-8 encoded) long.

    - #### build

           abstract SinchClient build()

      Creates the resulting SinchClient.