UIConfiguration

data class UIConfiguration(val serviceAPI: URL, val organizationId: String, val developerName: String, val conversationId: UUID, val createConversationOnSubmit: Boolean = true, val isUserVerificationRequired: Boolean = true, val urlDisplayMode: UrlDisplayMode = UrlDisplayMode.InlineBrowser, val remoteLocaleMap: Map<String, String> = emptyMap(), val attachmentConfiguration: AttachmentConfiguration = AttachmentConfiguration(), val transcriptConfiguration: TranscriptConfiguration = TranscriptConfiguration(), val agentConfiguration: AgentConfiguration = AgentConfiguration(), val conversationOptionsConfiguration: ConversationOptionsConfiguration = ConversationOptionsConfiguration(), val multimediaExtension: MultimediaCoreExtension? = null, val clientType: ClientType = ClientType.MIAW_MOBILE_V1, val clientName: ClientName = ClientName.MOBILE_IN_APP_SDK) : Configuration

Configuration for creating a UIClient instance that manages the Messaging for In-App UI.

UIConfiguration combines deployment connection details (inherited from Configuration) with UI-specific settings such as URL handling, attachment permissions, and transcript options. Pass an instance to UIClient.Factory to obtain a UIClient.

See also

Samples

val configuration = UIConfiguration(
    serviceAPI = "https://myorg.my.salesforce-scrt.com",
    organizationId = "00D000000000001AAA",
    developerName = "My_Deployment",
    conversationId = UUID.randomUUID()
)

Constructors

Link copied to clipboard
constructor(serviceAPI: URL, organizationId: String, developerName: String, conversationId: UUID, createConversationOnSubmit: Boolean = true, isUserVerificationRequired: Boolean = true, urlDisplayMode: UrlDisplayMode = UrlDisplayMode.InlineBrowser, remoteLocaleMap: Map<String, String> = emptyMap(), attachmentConfiguration: AttachmentConfiguration = AttachmentConfiguration(), transcriptConfiguration: TranscriptConfiguration = TranscriptConfiguration(), agentConfiguration: AgentConfiguration = AgentConfiguration(), conversationOptionsConfiguration: ConversationOptionsConfiguration = ConversationOptionsConfiguration(), multimediaExtension: MultimediaCoreExtension? = null, clientType: ClientType = ClientType.MIAW_MOBILE_V1, clientName: ClientName = ClientName.MOBILE_IN_APP_SDK)
constructor(serviceAPI: String, organizationId: String, developerName: String, conversationId: UUID, createConversationOnSubmit: Boolean = true, isAuthenticated: Boolean = true, urlDisplayMode: UrlDisplayMode = UrlDisplayMode.InlineBrowser, remoteLocaleMap: Map<String, String> = emptyMap(), attachmentConfiguration: AttachmentConfiguration = AttachmentConfiguration(), transcriptConfiguration: TranscriptConfiguration = TranscriptConfiguration(), agentConfiguration: AgentConfiguration = AgentConfiguration(), conversationOptionsConfiguration: ConversationOptionsConfiguration = ConversationOptionsConfiguration(), multimediaExtension: MultimediaCoreExtension? = null)

Creates a UIConfiguration from explicit string parameters.

constructor(configuration: Configuration, conversationId: UUID, createConversationOnSubmit: Boolean = true, urlDisplayMode: UrlDisplayMode = UrlDisplayMode.InlineBrowser, attachmentConfiguration: AttachmentConfiguration = AttachmentConfiguration(), transcriptConfiguration: TranscriptConfiguration = TranscriptConfiguration(), agentConfiguration: AgentConfiguration = AgentConfiguration(), conversationOptionsConfiguration: ConversationOptionsConfiguration = ConversationOptionsConfiguration())

Creates a UIConfiguration from an existing Configuration instance.

Properties

Link copied to clipboard

Controls agent display behavior such as typing indicators and avatars.

Link copied to clipboard

Controls whether end users can send file attachments and sets file type and size constraints.

Link copied to clipboard
open override val clientName: ClientName

Identifies the SDK product variant on authorization requests. Use the default unless directed otherwise by Salesforce support.

Link copied to clipboard
open override val clientType: ClientType

Identifies the client protocol version on authorization requests. Use the default unless directed otherwise by Salesforce support.

Link copied to clipboard

A unique identifier for the conversation. Use UUID.randomUUID for new conversations or supply an existing ID to resume a previous conversation. After an app reinstall for unverified users, always generate a new ID — the previous conversation is no longer accessible because the local encrypted database was cleared.

Link copied to clipboard

Controls which options appear in the conversation menu, such as the ability to end a chat.

Link copied to clipboard

When true (default), the conversation is created on the server as soon as the end user submits the pre-chat form. Set to false to defer conversation creation until the first message is sent.

Link copied to clipboard
open override val developerName: String

The API Name of the Embedded Service Deployment.

Link copied to clipboard

When true, indicates that the deployment requires user verification via a signed JWT. Register a UserVerificationProvider on the CoreClient to supply tokens.

Link copied to clipboard

An optional extension that enables voice and video capabilities. Pass null (default) if multimedia is not needed.

Link copied to clipboard
open override val organizationId: String

The 18-character Salesforce organization ID.

Link copied to clipboard
open override val remoteLocaleMap: Map<String, String>

Maps device locale codes to deployment-configured languages for resolving custom label translations. See Configuration.remoteLocaleMap for format details.

Link copied to clipboard
open override val serviceAPI: URL

The base URL of the Messaging for In-App service API for your deployment.

Link copied to clipboard

Controls whether the end user can download a chat transcript.

Link copied to clipboard

Controls how tappable URLs in messages are opened on the device. Defaults to UrlDisplayMode.InlineBrowser which uses Chrome Custom Tabs.

Functions

Link copied to clipboard
open override fun toString(): String