The goal of the following document is to enumerate the different fields controlling design attributes in the SDK. If a clearer view of which attribute corresponds with a design element is needed, please utilize the Attributes Design Sheet.

iOS 13 UIColors and DarkMode support

With the addition of Dark Mode supports in iOS 13, we now utilize Apple’s UIUserInterface enum values observed by UIColor objects to update colors based on the selection provided by the OS. We believe this is the easiest implementation for customers who use our default configurations as well as those customers who desire custom attribute configurations.

What does this mean for customers who use our default Attribute configurations?

If you are currently using our default attribute configurations, do a quick check below to see if the default value has changed. Likely only the colors have been updated. If you wish to support Dark Mode and you are using our default color configurations, no action is needed on your end, we have handled the support for you by updating the SDK color scheme to utilize iOS system colors where possible. This appearance is different than the previous implementation but is intended to be more in line with what iOS users expect. We have worked hard on its implementation and hope you enjoy it.

What does this mean for customers who use custom attribute configurations?

If you have customized the appearance of the iOS SDK by setting your own UIColor for attributes within the LPConfig object, note that unless you pass a UIColor that has colors set specifically for at minimum UIUserInterface values “dark” and “light” your custom configuration will not support dark mode and the UI may not appear as expected. This implementation is intended to mirror how you might support Dark Mode within your own application. We recommend using the following UIColor Extension pattern we found laid out in this article from NSHipster. We have modeled our own default color objects in this manner (as public LPColor struct objects described below).

What does this mean for consumers on iOS 12 and below?

As is indicated by the code sample below, we have mirrored the implementation for our “light” scheme for iOS devices operating on iOS 11 and 12 using non-semantic colors that closely resemble the light iOS system colors.

How to implement custom color configurations within the LPMessaging iOS SDK that support DarkMode?

For color attributes that accept UIColor, simply pass a UIColor object which has values based on the current “traitCollection.userInterfaceStyle” as implemented below.

import UIKit

extension UIColor {
    static var customAccent: UIColor {
        if #available(iOS 13, *) {
            return UIColor { (traitCollection: UITraitCollection) -> UIColor in
                if traitCollection.userInterfaceStyle == .dark {
                    return UIColor.black
                } else {
                    return UIColor.white
                }
            }
        } else {
            return UIColor.white
        }
    }
}

LPColor

Semantic Color Name iOS 13 color source iOS 11-12 color source
lpBackground UIColor.systemBackground UIColor.white
lpLabel UIColor.label UIColor.black
lpLink UIColor.link UIColor.blue
lpSecondaryLabel UIColor.secondaryLabel UIColor.darkGray
Visible Color Name iOS 13 color source iOS 11-12 color source
lpBlue UIColor.systemBlue r: 0, g: 122, b: 255
lpClear UIColor.clear UIColor.clear
lpGray UIColor.systemGray r: 142, g: 142, b: 147
lpGray2 UIColor.systemGray2 r: 174, g: 174, b: 178
lpGray3 UIColor.systemGray3 r: 199, g: 199, b: 204
lpGray4 UIColor.systemGray4 r: 209, g: 209, b: 214
lpGray5 UIColor.systemGray5 r: 229, g: 229, b: 234
lpGreen UIColor.systemGreen r: 52, g: 199, b: 89
lpIndigo UIColor.systemIndigo r: 88, g: 86, b: 214
lpLightBlue UIColor.systemTeal r: 90, g: 200, b: 250
lpOrange UIColor.systemOrange r: 255, g: 149, b: 0
lpPink UIColor.systemPink r: 255, g: 45, b: 85
lpRed UIColor.systemRed r: 255, g: 59, b: 48

Agent Assignment

retrieveAssignedAgentFromLastClosedConversation

When using getAssignedAgent method, lets you get assigned agents from active conversations only, or from the last closed conversation in case there is no active conversation. If no assigned agent is available, this method returns nil.

  • Type: Bool
  • Default value: true

Audio Support

recordingDurationLimit

Maximum time frame for recording audio message (in seconds). The minimum value is 15 seconds, the maximum value is 120 seconds.

  • Type: TimeInterval (Double)
  • Default value: 120

enableAudioSharing

Enable or disable audio sharing feature. True is enabled.

  • Type: Bool
  • Default value: false (disabled)

maxNumberOfSavedAudioFilesOnDisk

Max number of allowed saved audio files on disk. This refers only to audio files. The validation of allowed max number of documents will be when showing and removing conversations.

  • Type: UInt
  • Default value: 20

Auth

hideUIUntilAuthenticated

Hides previous chat history until user identify has been verified

  • Type: Bool
  • Default value: true (enabled)

Available in SDK 6.0 and above.

shouldPerformStepUp

If set to "true", then the UnAuth conversation can be stepped up.

  • Type: Bool
  • Default value: false (disabled)

Brand

brandName

The brand name will be shown as a title on toolbar when there is no active conversation.

  • Type: String
  • Default value: "" (Empty String)

conversationBackgroundColor

Color code for the entire view background.

customFontNameConversationFeed

Custom font name for conversation feed, which affects all messages, timestamps and separators. Fonts that are not part of the iOS families, must be defined in the host app's Info.plist.

  • Type: String
  • Default value: nil

customFontNameNonConversationFeed

Custom font name for all non conversation feed controls. Such as: buttons, alerts, banners, menu and external windows. Fonts that are not part of the iOS families, must be defined in App's Info.plist.

customRefreshControllerImagesArray

Array of images for creating the custom refresh controller. The custom refresh controller will loop the images from the array. It will need two or more images in the array for the loop to take effect.

customRefreshControllerAnimationSpeed

Custom refresh controller speed animation define the full images loop time. The smaller the value, the faster the animation.

  • Type: Float
  • Default value: 2

conversationBackgroundPortraitImage

When not nil, use this attribute as the conversation portrait background image. When an image is shown, it is recommended to set dateSeparatorBackgroundColor config to clear.

  • Type: UIImage
  • Default value: nil

conversationBackgroundLandscapeImage

When not nil, use this attibute as the conversation landscape background image. When an image is shown, it is recommended to set dateSeparatorBackgroundColor config to clear.

  • Type: UIImage
  • Default value: nil

conversationBackgroundImageContentMode

Defines the content mode of the conversation background image.

  • Type: UIView.ContentMode
  • Default value: scaleToFill

Connection Status Bar

connectionStatusConnectingBackgroundColor

Color code for the background of the connection status bar while connecting.

connectionStatusConnectingTextColor

Color code for the text of the connection status bar while connecting.

connectionStatusFailedToConnectBackgroundColor

Connection status toast (failed to connect) background color.

connectionStatusFailedToConnectTextColor

Connection status toast (failed to connect) text color.

Controller bubble

controllerBubbleTextColor

Color code for the text of the controller bubble.

controllerBubbleHyperlinkColor

Controls text color for hyperlink item on the system messages bubble

  • Type: UIColor
  • Default Value: LPColor.lpGray2
  • Available since: 6.6.0

Conversations

deleteClosedConversationOlderThanMonths

Upon SDK initialization, all closed conversations with an end date older than X months will be deleted from the database. Setting 0 deletes all closed conversations.

  • Type: UInt
  • Default value: 13

sendingMessageTimeoutInMinutes

Maximum number of minutes to send the message.

  • Type: UInt
  • Default value: 60

conversationSeparatorTextColor

Conversation separator text and line color.

enableConversationSeparator

Toggle conversation separator view when conversation resolved from agent or consumer.

This configuration is available in SDK 6.2.0 and above.

Conversation separator view contains Conversation Separator Text Message and Conversation Separator Line

Setting this property to false will also disable enableConversationSeparatorTextMessage and enableConversationSeparatorLine

  • Type: Bool
  • Default value: true

enableConversationSeparatorTextMessage

Toggle conversation separator text message when conversation resolved from agent or consumer.

if enableConversationSeparator is set to false, Conversation Separator Text won't be displayed even if this property is enable

  • Type: Bool
  • Default value: true

enableConversationSeparatorLine

Toggle conversation separator line when conversation resolved from agent or consumer.

if enableConversationSeparator is set to false, Conversation Separator Line won't be displayed even if this property is enable

  • Type: Bool
  • Default value: true

enableConversationSeparatorLineOnAutoClose

Toggle conversation separator line when conversation is auto close

This configuration is available in SDK 6.2.0 and above.

For this property to work when is enable, enableConversationSeparatorLine needs to be enable too.

if enableConversationSeparator is set to false, Conversation Separator Line won't be displayed for Auto Close Conversations even if this property is enable.

  • Type: Bool
  • Default value: false

conversationSeparatorFontSize

Define the conversation closed separator font size.

  • Type: UIFontTextStyle
  • Default value: UIFontTextStyle.caption1

conversationSeparatorBottomPadding

Define the conversation Closed label to separator line padding.

  • Type: Float
  • Default value: 7

conversationSeparatorFontName

Custom font name for conversation closed separator. Fonts that are not part of the iOS families, must be defined in the host app's Info.plist.

  • Type: String
  • Default value: nil

conversationSeparatorViewBottomPadding

Define the conversation separator view bottom padding.

  • Type: Float
  • Default value: 7

conversationClosedSeparatorTopPadding

Define the conversation Closed Separator Top padding.

  • Type: Float
  • Default value: 5

conversationSeparatorContentViewTopPadding

Defines the top padding for the conversation separator content view.

  • Type: CGFloat
  • Default value: 0.0

conversationSeparatorContentViewBottomPadding

Defines the bottom padding for the conversation separator content view.

  • Type: CGFloat
  • Default value: 0.0

enableVibrationOnMessageFromRemoteUser

Toggle device vibration when a remote user sends a new message.

  • Type: Bool
  • Default value: false

announceAgentTyping

If true, show agent is typing indicator. In accessibility mode, announce when agent is typing. When false it will not show any indicator that the agent is typing, and will not announce when agent is typing in accessibility.

  • Type: Bool
  • Default value: true

showAgentTypingInMessageBubble

When true, shows agent is typing indicator in a message bubble. When false, show indicator under Agent label in navigator bar. When announceAgentTyping is false, will not show any "is typing" indicator regardless of current value.

  • Type: Bool
  • Default value: true
modalPresentationStyle

The configuration to control our modal presentation styles within the SDK.

  • Type: UIModalPresentationStyle
  • Default Value: fullScreen
  • Available since: 6.5.0
imagePickerPresentationStyle

The configuration to control our modal presentation style for image picker controller within the SDK.

  • Type: UIModalPresentationStyle
  • Default Value: fullScreen
  • Available since: 6.5.0
datePickerPresentationStyle

The configuration to control our modal presentation stylen for LPDatePicker controller within the SDK.

  • Type: UIModalPresentationStyle
  • Default Value: fullScreen
  • Available since: 6.5.0
enableHideWelcomeMessageOnClearHistory
  • Description: Show or hide the welcome message when calling the Clear History functionality.
  • Type: Bool
  • Default Value: false
  • Available since: 6.7.0
  • See also: Clear History Function
  • Limitations: The history is still available both on the Server and Local Database, and will be loaded next time the Conversation Screen is presented.
enableWelcomeMessageForControlHistoryAPI
  • Description: This configuration will only enable showing the Welcome Message when LPConversationsHistoryStateToDisplay.Open
  • Type: Bool
  • Default Value: false
  • Available since: 6.7.0
  • See also: Control History API

Data Masking

enableClientOnlyMasking

Enabling this flag, SDK will use regular expression defined in "clientOnlyMaskingRegex" to mask text on the consumer device. This is client only masking because it is both set and executed within the consumer’s device.

All masked data will appear as asterisks, will be saved to local db masked and will be sent to the server unmasked. This feature is only available for Unauthenticated conversations.

  • Type: Bool
  • Default value: false

enableRealTimeMasking

When this flag is enabled, the SDK will use regular expression defined in "realTimeMaskingRegex" to mask text originated on the consumer device. This masking is applied to messages both on the consumer device and sent to the agent. All masked data will appear as asterisks, will be saved to local databases masked and will be sent to the server masked.

  • Type: Bool
  • Default value: false

clientOnlyMaskingRegex

Regular expression string applied to the "enableClientOnlyMasking" flag.

The regular expression patterns and behavior are based on Perl's regular expressions. See Apple Reference.

  • Type: String
  • Default value: "" (Empty String) - no regex

realTimeMaskingRegex

Regular expression string applied to the "enableRealTimeMasking" flag.

The regular expression patterns and behavior are based on Perl's regular expressions. See Apple Reference.

  • Type: String
  • Default value: "" (Empty String) - no regex

Date and Time

lpDateFormat

Custom formatting for date string (day, year, …), for example, "d MMM". If not defined, one of the default styles will be used (see timestamps formatting).

  • Type: String?
  • Default value: nil

lpTimeFormat

Custom formatting for time string (hours, minutes, …), for example, "hh:mm a". If not defined, one of the default styles will be used (see timestamps formatting).

  • Type: String?
  • Default value: nil

lpDateTimeFormat

Custom formatting for date and time string, for example, "EEEE MM/dd/YY hh:mm a". If not defined, one of the default styles will be used (see timestamps formatting).

  • Type: String?
  • Default value: nil

Date Separator

dateSeparatorTitleBackgroundColor

Color code for date separator title background color.

dateSeparatorTextColor

Color code for date separator text color.

dateSeparatorLineBackgroundColor

Color code for date separator line background color.

dateSeparatorBackgroundColor

Color code for date separator background color.

dateSeparatorFontSize

Define the Date Separator font text style.

  • Type: UIFontTextStyle
  • Default value: UIFontTextStyle.footnote

customFontNameDateSeparator

Custom font name for Timestamp. Fonts that are not part of the iOS families, must be defined in App's Info.plist.

  • Type: String
  • Default value: nil

dateSeparatorTopPadding

Define the Date Separator top padding.

  • Type: Float
  • Default value: 0.0

dateSeparatorBottomPadding

Define the Date Separator bottom padding.

  • Type: Float
  • Default value: 0.0

Date picker

datePickerHeaderFontColor

Ability to set the date picker’s header font color.

  • Type: UIColor
  • Default Value: black, LPColor.lpLabel
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderBackgroundColor

Ability to set the date picker’s header background color.

  • Type: UIColor
  • Default Value: white, LPColor.lpBackground
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderAccessoryButtonTintColor

Ability to set the date picker’s header accessory button tint color.

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), LPColor.lpBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderAccessoryButtonImage

Ability to set the date picker’s header accessory button image.

  • Type: UIImage
  • Default Value: nil
  • Available since: 6.5.0
datePickerHeaderPickerBackgroundColor

Ability to set the date picker header’s picker background color.

  • Type: UIColor
  • Default Value: White, LPColor.lpBackground
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderPickerToolbarBackgroundColor

Ability to set the date picker header picker’s toolbar background color.

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), LPColor.lpHorizonBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderPickerFontColor

Ability to set the date picker header picker font color.

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), LPColor.lpHorizonBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerHeaderPickerConfirmationButtonTintColor

Ability to set the date picker’s UIPicker toolbar button text color.

  • Type: UIColor
  • Default Value: white
  • Available since: 6.5.0
datePickerHeaderPickerConfirmationButtonText

Ability to set the date picker’s UIPicker toolbar button text.

  • Type: String
  • Default Value: Done
  • Available since: 6.5.0
datePickerHeaderPickerToolbarStyle

Ability to set the date picker’s UIPicker toolbar style.

  • Type: UIBarStyle
  • Default Value: UIBarStyle.default
  • Available since: 6.5.0
datePickerFooterBackgroundColor

Ability to set the date picker’s footer background color.

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), LPColor.lpGray
  • Available since: 6.5.0, updated in: 6.16
datePickerFooterButtonBackgroundColor

Ability to set the date picker’s footer button background color.

  • Type: UIColor
  • Default Value: white, LPColor.lpHorizonBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerFooterButtonFontColor

Ability to set the date picker’s footer button text color.

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), white
  • Available since: 6.5.0, updated in: 6.16
datePickerFooterButtonCornerRadius

Ability to set the date picker’s footer button corner Radius.

  • Type: Double
  • Default Value: 10
  • Available since: 6.5.0
datePickerFooterButtonText

Ability to set the date picker’s footer button text.

  • Type: String
  • Default Value: Confirm
  • Available since: 6.5.0
datePickerFooterLabelsFontColor

Ability to set the date picker’s footer labels text color.

  • Type: UIColor
  • Default Value: white
  • Available since: 6.5.0
datePickerFooterArrowImage

Ability to set the date picker’s footer arrow image (month to month).

  • Type: UIImage
  • Default Value: UIImage(named: “picker_arrow”, in: LPSDKManager.getBundle(), compatibleWith: nil)
  • Available since: 6.5.0
datePickerFooterArrowTintColor

Ability to set the date picker’s footer arrow tint color (month to month).

  • Type: UIColor
  • Default Value: UIColor(red: 0.01, green: 0.39, blue: 0.68, alpha: 1.00), LPColor.lpHorizonBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerFooterArrowBackgroundColor

Ability to set the date picker’s footer arrow background color (month to month).

  • Type: UIColor
  • Default Value: White, LPColor.lpBackground
  • Available since: 6.5.0, updated in: 6.16
datePickerCustomFontName

Ability to set the date picker’s custom font.

  • Type: String
  • Default Value: nil
  • Available since: 6.5.0
  • Description Default value of nil will take system font unless overriden in version 6.15.0 and beyond.
calendarBackgroundColor

Ability to set the date picker calendar’s background color.

  • Type: UIColor
  • Default Value: White
  • Available since: 6.5.0
datePickerCalendarHeaderHeight

Ability to set the date picker calendar’s header height.

  • Type: CGFloat
  • Default Value: 35.0
  • Available since: 6.5.0
datePickerCalendarHeaderTopMargin

Ability to set the date picker calendar’s header top margin.

  • Type: CGFloat
  • Default Value: 5.0
  • Available since: 6.5.0
datePickerCalendarHeaderTextColor

Ability to set the date picker calendar’s header text color.

  • Type: UIColor
  • Default Value: UIColor(red:142 / 255.0, green:142 / 255.0, blue:147 / 255.0, alpha:1.0)
  • Available since: 6.5.0
datePickerCalendarHeaderBackgroundColor

Ability to set the date picker calendar’s header background color.

  • Type: UIColor
  • Default Value: White
  • Available since: 6.5.0
datePickerCalendarHeaderFont

Ability to set the date picker calendar’s header font.

  • Type: UIFont
  • Default Value: UIFont.systemFont(ofSize: 20)
  • Available since: 6.5.0
datePickerCalendarWeekdaysTopMargin

Ability to set the date picker calendar’s weekdays top margin.

  • Type: CGFloat
  • Default Value: 5.0
  • Available since: 6.5.0
datePickerCalendarWeekdaysBottomMargin

Ability to set the date picker day weekday button margin.

  • Type: CGFloat
  • Default Value: 5.0
  • Available since: 6.5.0
datePickerCalendarWeekdaysHeight

Ability to set the date picker day weekday cell height.

  • Type: CGFloat
  • Default Value: 35.0
  • Available since: 6.5.0
datePickerCalendarWeekdaysTextColor

Ability to set the date picker day weekday cell text color.

  • Type: UIColor
  • Default Value: gray, LPColor.lpGray
  • Available since: 6.5.0, updated in: 6.16
datePickerCalendarWeekdaysBackgroundColor

Ability to set the date picker weekday cell background color.

  • Type: UIColor
  • Default Value: white, LPColor.lpBackground
  • Available since: 6.5.0, updated in: 6.16
datePickerCalendarWeekdaysFont

Ability to set the date picker weekday cell text font.

  • Type: UIFont
  • Default Value: UIFont.systemFont(ofSize: 14)
  • Available since: 6.5.0
datePickerCalendarWeekDayTransform

Ability to set the date picker weekdays text to Capitalized or Uppercase.

  • Type: WeekDaysTransform
  • Default Value: capitalized
  • Available since: 6.5.0
datePickerCellShape

Ability to set the date picker day cell shape.

  • Type: CellShapeOptions
  • Default Value: CellShapeOptions.bevel(4.0)
  • Available since: 6.5.0
datePickerFirstWeekday

Ability to set the date picker first day of the week.

  • Type: FirstWeekdayOptions
  • Default Value: Sunday
  • Available since: 6.5.0
datePickerShowAdjacentDays

Ability to hide selected in-range days.

  • Type: Bool
  • Default Value: false
  • Available since: 6.5.0
datePickerCellColorDefault

Ability to set the date picker day cell color.

  • Type: UIColor
  • Default Value: clear, LPColor.lpClear
  • Available since: 6.5.0, updated in: 6.16
datePickerCellTextColorDefault

Ability to set the date picker day cell text color.

  • Type: UIColor
  • Default Value: black, LPColor.lpLabel
  • Available since: 6.5.0, updated in: 6.16
datePickerCellBorderColor

Ability to set the date picker day cell border color.

  • Type: UIColor
  • Default Value: clear, LPColor.lpClear
  • Available since: 6.5.0, updated in: 6.16.0
datePickerCellBorderWidth

Ability to set the date picker day cell border width.

  • Type: GCFloat
  • Default Value: 0.0
  • Available since: 6.5.0
datePickerCellFont

Ability to set the date picker day cell font and size.

  • Type: UIFont
  • Default Value: UIFont.systemFont(ofSize: 17)
  • Available since: 6.5.0
datePickerCellTextColorToday

Ability to set the date picker today’s text color.

  • Type: UIColor
  • Default Value: black, LPColor.lpLabel
  • Available since: 6.5.0, updated in: 6.16
datePickerCellColorToday

Ability to set the date picker today’s cell color.

  • Type: UIColor
  • Default Value: clear, LPColor.lpClear
  • Available since: 6.5.0, updated in: 6.16
datePickerCellBorderColorToday

Ability to set the date picker today’s cell color.

  • Type: UIColor
  • Default Value: UIColor(red: 3.0/255.0, green: 99.0/255.0, blue: 173.0/255.0, alpha: 0.8), LPColor.lpBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerCellBorderWidthToday

Ability to set the date picker today’s border width.

  • Type: CGFloat
  • Default Value: 2.0
  • Available since: 6.5.0
datePickerCellColorOutOfRange

Ability to set the date picker’s out of range cells color.

  • Type: UIColor
  • Default Value: UIColor(white: 0.0, alpha: 0.5), LPColor.lpGray3
  • Available since: 6.5.0, updated in: 6.16
datePickerCellColorAdjacent

Ability to set the date picker’s in-range cells color.

  • Type: UIColor
  • Default Value: clear
  • Available since: 6.5.0
datePickerCellSelectedBorderColor

Ability to set the date picker’s selected day cell border color.

  • Type: UIColor
  • Default Value: UIColor(red: 3.0/255.0, green: 99.0/255.0, blue: 173.0/255.0, alpha: 0.8)
  • Available since: 6.5.0
datePickerCellSelectedBorderWidth

Ability to set the date picker’s selected day cell border width.

  • Type: CGFloat
  • Default Value: 0.0
  • Available since: 6.5.0
datePickerCellSelectedColor

Ability to set the date picker’s selected day color.

  • Type: UIColor
  • Default Value: UIColor(red: 3.0/255.0, green: 99.0/255.0, blue: 173.0/255.0, alpha: 1), LPColor.lpBlue
  • Available since: 6.5.0, updated in: 6.16
datePickerCellSelectedTextColor

Ability to set the date picker’s selected day text color.

  • Type: UIColor
  • Default Value: white, LPColor.LpWhite
  • Available since: 6.5.0, updated in: 6.16
datePickerCellTextColorWeekend

Ability to set the date picker’s weekend text color.

  • Type: UIColor
  • Default Value: black, LPColor.lpLabel
  • Available since: 6.5.0, updated in: 6.16

Delivery Notifications

checkmarkVisibility

Checkmark visibility of the following options (type CheckmarksState): SentOnly — Show checkmarks for only Sent messages. SentAndAccepted — Show checkmarks for only Sent and Accepted messages. All — Show checkmarks for Sent, Accepted and Read messages.

  • Type: CheckmarksState(Integer Enum)
  • Default value: CheckmarksState.All

checkmarkReadColor

Color of checkmark indication signs of Read messages.

checkmarkDistributedColor

Color of checkmark indication signs of Distributed messages.

checkmarkSentColor

Color of checkmark indication signs of Sent messages.

isReadReceiptTextMode

Two options for read indication:

  1. If true = Read receipt “text mode”.
  2. If false = Read receipt “icon mode”.
  • Type: Bool
  • Default value: true

messageStatusNumericTimestampOnly

When false (default), timestamps display information relative to when sent/distributed/read, for example, "sent 5 minutes ago". When true, shows as numeric only, for example, "11:32".

  • Type: Bool
  • Default value: false

Duration of local notifications

notificationShowDurationInSeconds

Display duration of the local notification in seconds. When in VoiceOver mode it gets extended to 60 sec.

Examples: TimeToRespond notification, local notification, etc.

  • Type: Double
  • Default value: 3 (60 when in VoiceOver mode)

Domains

Overriding this values with incorrect domains will create connection issues on the LPMessagingSDK (e.g. "Failed to connect to server" banner)

csdsDomain

For brands that need to control the CSDS URL for LivePerson services, use this key to set a URL of your choice.

  • Type: String

lpTagDomain

For brands that need to control the LPTAG URL for LivePerson services, use this key to set a URL of your choice.

  • Type: String

markdownHyperlinkFromAgent

Enable or disable hyperlink support. Agent won’t be able to send hyperlink messages if set to false.

  • Type: bool
  • Default value: true

remoteUserBubbleHyperlinkColor

Set the link message text color.

  • Type: color
  • Default value: For iOS 13, we use UIColor.label, anything below that uses UIColor.black

Hyperlink color configuration

enableLinkPreview

Enable or disable link preview feature. If disabled, user will not see site's link preview or link preview.

  • Type: Bool
  • Default value: true

linkPreviewBackgroundColor

Color code for the background of the link preview area inside cell.

linkPreviewTitleTextColor

Color code for the title text inside link preview area inside cell.

linkPreviewDescriptionTextColor

Color code for the description text inside link preview area inside cell.

linkPreviewSiteNameTextColor

Color code for the description site name link preview area inside cell.

linkPreviewBorderWidth

Double number for the outline width of link preview area inside cell.

  • Type: Double
  • Default value: 1.0

linkPreviewStyle

Refers to the style in which the link preview cell will be displayed.

  • Type: LPUrlPreviewStyle
  • Default value: LPUrlPreviewStyle.slim

linkPreviewLoadingImage

Defines image for link preview loader.

  • Type: UIImage
  • Default value: nil

urlRealTimePreviewBackgroundColor

The background color of the url real time preview.

urlRealTimePreviewBorderColor

The border color of the url real time preview.

urlRealTimePreviewBorderWidth

The border width of the url real time preview.

  • Type: CGFloat
  • Default value: 1.0

urlRealTimePreviewTitleTextColor

The title text color of the url real time preview.

urlRealTimePreviewDescriptionTextColor

The description text color of the url real time preview.

useNonOGTagsForLinkPreview

"urlPreview" will also use non-OG tags to parse urls instead of using only OG tags if useNonOGTagsForLinkPreview is true.

  • Type: Bool
  • Default value: true

Loading View

enableLoadingView

Will enable/disable presentation of loading view when presenting Conversation Screen.

  • Type: Bool
  • Default Value: true
  • Available since: 6.5.0

loadingViewBlurEffect

The type of effect on the loading view.

  • Type: UIBlurEffect
  • Default value: LPBlurEffects.lpLoadingViewEffect

loadingViewBackgroundColor

The type of effect on the loading view.

loadingViewTextColor

The text color for the label on the loading view.

loadingViewProgressBackgroundColor

The background color for the progress view on the loading view.

loadingViewProgressTintColor

The tint color for the progress view on the loading view.

Localization

country (deprecated)

This method is deprecated since SDK version 5.2.0.

Country code — when it is not nil, it will be combined with "language" ("_", for example: en_US) and used instead of device default locale when formatting date and time.

The combined value has to be a part of iOS available Locale identifiers (use Locale.availableIdentifiers to validate). Otherwise, default locale will be used.

The 24/12 hours time style also will be affected by using the specific Locale when formatting times.

If no value is provided, the SDK will use the country according to the device's locale.

  • Type: String?
  • Default value: nil

region

Region used instead of device provided region.

The LPRegionCode enum contains all regions supported by the MessagingSDK

When it is not nil, it will be combined with "language" ("_", for example: en_US) and used instead of device default locale when formatting date and time.

The combined value has to be a part of iOS available Locale identifiers (use Locale.availableIdentifiers to validate). Otherwise, default locale will be used.

The 24/12 hours time style also will be affected by using the specific Locale when formatting times.

If no value is provided, the SDK will use the region according to the device's locale.

  • Type: LPRegionCode
  • Default value: DeviceRegion

Language

Language used instead of default device language.

The LPLanguage enum contains all languages supported by the MessagingSDK, and affects the following areas:

  1. Used when getting localized strings.

  2. Combined with "country" ("language_region", for example: en_US) and used instead of default device locale when formatting time and date. If no value is provided, the SDK uses the device's language as default.

  • Type: LPLanguage
  • Default value: DeviceLanguage

LPPusher

enableLpPusherService

Bool used to allow manual configuration for enabling the SDK to register to LP Pusher service. Requires user logout to change current configuration.

  • Type: Bool
  • Default value: true

pusherClearBadgeCount

Bool used to clear the unread badge count for all the unread messages of all the conversations at once on Pusher whenever the user comes to the conversation screen.

  • Type: Bool
  • Default value: false (disabled)

Disabling all elements will prevent the menu from being render.

showResolveConversationMenuOption

  • Description: Show or hide Resolve Conversation button on the Conversation Menu.
  • Type: Bool
  • Default Value: true
  • Available since: 6.8.2

showMarkAsUrgentMenuOption

  • Description: Show or hide Mark as Urgent button on the Conversation Menu.
  • Type: Bool
  • Default Value: true
  • Available since: 6.8.2

showClearHistoryMenuOption

  • Description: Show or hide Clear History button on the Conversation Menu.
  • Type: Bool
  • Default Value: true
  • Available since: 6.8.2

conversationNavigationBackgroundColor

Background color of navigation bar in conversation screen.

conversationNavigationTitleColor

Navigation title color in conversation screen.

conversationStatusBarStyle

Status bar style in conversation screen.

  • Type: UIStatusBarStyle
  • Default value: .default

lpNavigationBarLeftItemImageButton

LivePerson Navigation Bar Left Item custom button.

  • Note: This property gets its tintColor from conversationNavigationTitleColor.
  • Type: UIImage?
  • Default value:

lpNavigationBarRightItemImageButton

LivePerson Navigation Bar Right Item custom button.

  • Note: This property gets its tintColor from conversationNavigationTitleColor.
  • Type: UIImage?
  • Default value:

Photo and file sharing

fileSharingFromAgent

Enable or disable file feature from agents.

  • Type: Bool
  • Default value: true
  • Note: This only disables file type extensions not photo extensions.

fileSharingFromConsumer

Enable or disable file/photo sharing feature from consumer.

  • Type: Bool
  • Default value: false
  • Note: This will remove the attachement button as a whole for the consumer.

maxPhotoCompression

  • Description: CGFloat which adjusts the jpg compression used on an image. Lower is more compression higher is less compression. The value must be between 0 to 1.
  • Type: CGFloat
  • Default value: 0.50
  • Available since: 6.12.0

maxPhotoWidthSize

  • Description: CGFloat adjusts the max width in pixels for a sent image. Must be between 0 to 1600.
  • Type: CGFloat
  • Default value: 800
  • Available since: 6.12.0

maxPhotoHeightSize

  • Description: CGFloat adjusts the max height in pixels for a sent image. Must be between 0 to 1600.
  • Type: CGFloat
  • Default value: 800
  • Available since: 6.12.0

maxNumberOfSavedFilesOnDisk

Max number of allowed saved files on disk. This refers only to full photo files.

The validation of allowed max number of files will take place when showing and removing conversations.

  • Type: Int
  • Default value: 20

maxNumberOfSavedDocumentsOnDisk

Max number of allowed saved documents on disk. This refers only to document files. The validation of allowed max number of documents will be when showing and removing conversations.

  • Type: Int
  • Default value: 20

photosharingMenuBackgroundColor

Photo Sharing menu background color.

photosharingMenuButtonsBackgroundColor

Photo Sharing menu buttons background color.

photosharingMenuButtonsTintColor

Photo Sharing menu buttons tint color.

photosharingMenuButtonsTextColor

Photo Sharing menu buttons text color.

cameraButtonEnabledColor

Photo Sharing Camera button color in enabled mode in the conversation screen. Will be presented only if photo sharing feature is enabled.

cameraButtonDisabledColor

Photo Sharing Camera button color in disabled mode in the conversation screen. Will be presented only if photo sharing feature is enabled.

fileCellLoaderFillColor

Radial loader fill color.

fileCellLoaderRingProgressColor

Color of the loader progress line.

fileCellLoaderRingBackgroundColor

Color of the loader progress line background.

The disabled/enabled color of the Camera button, which is in the input text view, changes according to the sendButtonDisabledTextColor and sendButtonEnabledTextColor parameters.

photoSharingOpenMenuImageButton

Photo sharing open menu custom button.

This property gets its tint color from cameraButtonEnabledColor or cameraButtonDisabledColor — depending on button state.

  • Type: UIImage?
  • Default value:

photoSharingCloseMenuImageButton

Photo sharing close menu custom button.

This property gets its tint color from cameraButtonEnabledColor or cameraButtonDisabledColor — depending on button state.

  • Type: UIImage?
  • Default value:

photoSharingMenuCameraImage

Custom camera image in the photo sharing menu.

This property gets its tint color from photosharingMenuButtonsTintColor and background color from photosharingMenuButtonsBackgroundColor.

  • Type: UIImage?
  • Default value:

photoSharingMenuLibraryImage

Custom Library image in the photo sharing menu.

This property gets its tint color from photosharingMenuButtonsTintColor and background color from photosharingMenuButtonsBackgroundColor.

  • Type: UIImage?
  • Default value:

fileSharingMenuFileImage

Custom file image in the file sharing menu.

This property gets its tint color from photosharingMenuButtonsTintColor and background color from photosharingMenuButtonsBackgroundColor.

  • Type: UIImage?
  • Default value:

fileSharingUniversalFileThumbnailimage

Image for custom the thumbnail of unsupported files in file sharing.

  • Type: UIImage?
  • Default value: nil

fileSharingPDFFileThumbnailimage

Image for custom the thumbnail of PDF files in file sharing.

  • Type: UIImage?
  • Default value: nil

fileSharingPPTXFileThumbnailimage

Image for custom the thumbnail of PPTX files in file sharing.

  • Type: UIImage?
  • Default value: nil

fileSharingDOCXFileThumbnailimage

Image for custom the thumbnail of DOCX files in file sharing.

  • Type: UIImage?
  • Default value: nil

fileSharingXLSXFileThumbnailimage

Image for custom the thumbnail of XLSX files in file sharing.

  • Type: UIImage?
  • Default value: nil

conversationEmptyStateTextColor

Color code for the empty state label.

remoteFileStateTint

Tint color for the state of files (and photos) received from agents.

userFileStateTint

Tint color for the state of files send by user.

userPhotoStateTint

Tint color for the state of photos send by user.

Offline Messaging

offlineMessagingEnabled

If enabled then the user will be able to compose and send messages straight away even if the conversation history synchronization is in progress. These messages will be stored offline on-device storage and will be sent once the conversation history is fully synced and the socket is open. Recommend only turning on this feature on the authentication flow.

  • Type: Bool
  • Default value: false
  • Available since: 6.18.0

pcsBehaviorForOfflineMessages

When offlineMessagingEnabled is enabled and consumer sent a message, this defines how offline message should be treated if main dialog of conversation is closed and post conversation survey has started.

1 - remove offline messages from dialog and do not send them to UMS, continue with PCS dialog
2 - resolve active PCS dialog and send offline messages to a new conversation
0 / other values - do nothing, just send offline messages to the same dialog
  • Type: UInt
  • Default value: 0
  • Available since: 6.18.0

offlineLoaderColor

Color of the offline messaging loader indicator.

offlineLoaderBackgroundColor

Background color of the offline messaging loader indicator.

offlineLoaderCornerRadius

Corner radius of the offline messaging loader indicator.

  • Type: CGFloat
  • Default value: 0.0
  • Available since: 6.18.0

offlineLoaderWidthPercentage

Width percentage of the offline messaging loader bar indicator (0 = no width, 1 = Maximum width).

  • Type: CGFloat
  • Default value: 0.45
  • Available since: 6.18.0

offlineLoaderHeight

Height of the offline messaging loader bar indicator.

  • Type: CGFloat
  • Default value: 5.0
  • Available since: 6.18.0

offlineLoaderAnimationSpeed

The total duration of the offline messaging loader bar indicator animations (in seconds).

  • Type: CGFloat
  • Default value: 1.25
  • Available since: 6.18.0

Quick Reply

quickReplyButtonVerticalPadding

Distance between the bottom and top edges of the button to the bottom and top edges of the text.

  • Type: CGFloat
  • Default value: 10.0

quickReplyButtonHorizontalPadding

Distance between the right and left edges of the button to the right and left edges of the text.

  • Type: CGFloat
  • Default value: 15.0

quickReplyVerticalPadding

Vertical padding between quick reply buttons.

  • Type: CGFloat
  • Default value: 10.0

quickReplyHorizontalPadding

Horizontal padding between quick reply buttons.

  • Type: CGFloat
  • Default value: 10.0

quickReplyButtonBorderWidth

Border size of Quick Reply buttons.

  • Type: CGFloat
  • Default value: 1.0

Secure Form

secureFormBackButtonColor

Back button color in secure form screen.

secureFormUIStatusBarStyle

The style (UIStatusBarStyle) for the secure form screen.

  • Type: UIStatusBarStyle
  • Default value: UIStatusBarStyle.default

secureFormNavigationBackgroundColor

Background color of navigation bar in secure form screen.

secureFormNavigationTitleColor

Navigation title color in secure form screen.

secureFormBubbleBackgroundColor

Secure form bubble background color.

secureFormBubbleBorderColor

Secure form bubble border color.

secureFormBubbleBorderWidth

Secure form bubble border width in pixels.

  • Type: Double
  • Default value: 1.0

secureFormBubbleTitleColor

Secure form bubble form title color.

secureFormBubbleDescriptionColor

Secure form bubble form description color.

secureFormBubbleFillFormButtonTextColor

Secure form bubble fill form text button color.

secureFormBubbleFillFormButtonBackgroundColor

Secure form bubble fill form button background color.

secureFormBubbleFormImageTintColor

Secure form bubble form image tint color.

secureFormCustomFontName

Secure form custom font name to be used while user is filling out the secure form. If not set, the default font will be used. This is passed as CSS as secure forms are opened in a webview and will need to conform to web standards.

  • Type: String
  • Default value: nil
  • Description Default value of nil will take system font unless overriden in version 6.15.0 and beyond.

Secure form flag for hiding the secure form logo in the top of the form.

  • Type: Bool
  • Default value: false

secureFormBubbleLoadingIndicatorColor

Secure form loading indicator color while loading form before opening.

Send Button

sendButtonDisabledColor

Send button color in disabled mode in the conversation screen.

sendButtonEnabledColor

Send button color in enabled mode in the conversation screen.

sendButtonImage

Send button Image in the conversation screen. The custom image changes only if isSendMessageButtonInTextMode = false.

The image must conform to Apple's Custom Icon guidelines.

This property gets its tintColor from sendButtonDisabledColor or sendButtonEnabledColor — depending on state.

  • Type: UIImage
  • Default value:

isSendMessageButtonInTextMode

Two options for the send message button mode:

  1. text mode (taken from localized resources)
  2. icon mode.
  • Type: Bool
  • Default value: text mode

Speech Recognition Button

enableSpeechRecognition

Enable or disable custom speech recognition button / feature. True is enabled, custom speech recognition button will appear in the input-text view area. The SDK sets the recognition language to match the current keyboard language whenever recognition starts. Please ensure to include the required permissions to your application.

  • Type: Bool
  • Default value: false
  • Available since: 6.18.0

speechRecognitionInputDurationInSeconds

Max duration of input inactivity for speech recognition to be automatically disabled.

  • Type: Double
  • Default value: 10.0
  • Available since: 6.18.0

Structured Content

enableStructuredContent

Enable or Disable toggle for Structured Content feature in conversations.

  • Type: Bool
  • Default value: true

structuredContentButtonBorderCornerRadius

Structured Content button border corner radius in pixels.

  • Type: CGFloat
  • Default value: 15.0

structuredContentBubbleBorderWidth

Structured Content bubble border width in pixels.

  • Type: Double
  • Default value: 1.0

structuredContentBubbleBorderColor

Structured Content bubble border color.

structuredContentBubbleTopLeftCornerRadius

Structured Content bubble top left corner radius in pixels.

  • Type: Float
  • Default value: 8.0

structuredContentBubbleTopRightCornerRadius

Structured Content bubble top right corner radius in pixels.

  • Type: Float
  • Default value: 8.0

structuredContentBubbleBottomLeftCornerRadius

Structured Content bubble bottom left corner radius in pixels.

  • Type: Float
  • Default value: 8.0

structuredContentBubbleBottomRightCornerRadius

Structured Content bubble bottom right corner radius in pixels.

  • Type: Float
  • Default value: 8.0

structuredContentMapLatitudeDeltaDeltaSpan

Structured Content Latitude Delta Span. Used to determine which area of the map to focus on. If you set this attribute, you must also set structuredContentMapLongitudeDeltaSpan. This parameter is used to create an MKCoordinateSpan.

  • Type: Double
  • Default value: 0.01

structuredContentMapLongitudeDeltaSpan

Structured Content Longitude Delta Span. Used to determine which area of the map to focus on. If you set this attribute, you must also set structuredContentMapLatitudeDeltaDeltaSpan. This parameter is used to create an MKCoordinateSpan.

  • Type: Double
  • Default value: 0.01

structuredContentButtonBorderColor

Sets border color for button type element on Structured Content.

Accessibility compliance highlights the need for links and buttons to have a distinctive UI characteristic, changing this value might break compliance.

structuredContentButtonTextColor

Sets text color for button type element on Structured Content.

structuredContentLinkButtonTextColor

Sets the text color for Structured Content elements of link button type.

structuredButtonWidthConstant

Defines padding constraint for Structured Content elements of button type.

  • Type: CGFloat
  • Default value: -20.0

structuredButtonMinimumHeight

If provided then sets the minimum height constraint for Structured Content elements of button type.

  • Type: CGFloat?
  • Default value: nil

structuredContentTextColor

Sets text color for text type element on Structured Content.

Surveys Buttons (CSAT and FCR)

csatSubmitButtonCornerRadius

Corner radius for submit button.

  • Type: Double
  • Default value: 30.0

csatYesNoButtonsCornerRadius

Corner radius for (Yes/No) buttons.

  • Type: Double
  • Default value: 25.0

csatSubmitButtonBackgroundColor

Background color of the Submit button.

csatSubmitButtonTextColor

Text color of the Submit button.

csatRatingButtonSelectedColor

Background Color of the rating buttons.

csatResolutionButtonSelectedColor

Color for the resolution confirmation buttons (Yes/No) when selected

csatAllTitlesTextColor

Title text color for all labels.

csatResolutionHidden

Hides the survey (Yes/No) question. To show CSAT resolution, "csatAgentViewHidden" must be set to True.

  • Type: Bool
  • Default value: false

csatAgentViewHidden

Hides the view of agent avatar and name.

  • Type: Bool
  • Default value: false

csatThankYouScreenHidden

Hides the "Thank You" screen after tapping the "Submit" button.

  1. If true, CSAT view will disappear immediately after tapping "Submit".

  2. If false, Thank You screen will appear for 2 seconds after tapping "Submit" and then all the CSAT view will disappear.

  • Type: Bool
  • Default value: false

csatNavigationBackgroundColor

Background color of navigation bar in survey screen.

csatNavigationTitleColor

Text color of the title in the survey screen.

csatSkipButtonColor

Skip button color in survey screen.

csatUIStatusBarStyle

The style (UIStatusBarStyle) for the survey screen.

  • Type: UIStatusBarStyle
  • Default value: UIStatusBarStyle.default

csatShowSurveyView

Hides the whole survey view and disables it.

  • Type: Bool
  • Default value: true

csatSurveyExpirationInMinutes

Expiration of CSAT in minutes from the moment the conversation was ended. If Survey exceeded the expiration, it will not be presented to the user.

  • Type: UInt
  • Default value: 1440

System Messages

systemBubbleTextColor

Color code for the text of the system messages.

Time To Response and Off hours

ttrShouldShow

When set to true, the TTR notifications show with off hours. When the auto messages feature is enabled, TTR notifications do not display when the auto messages feature is enabled, regardless of the value set for this attribute.

  • Type: Bool
  • Default value: true

ttrShowShiftBanner

Enable or disable shift toaster ('An agent will respond…’).

  • Type: Bool
  • Default value: true

ttrFirstTimeDelay

Number of seconds before the first Time to Respond (TTR) notification appears.

  • Type: Double
  • Default value: 10

ttrShouldShowTimestamp

When set to true, the timestamp of the TTR notification displays. Otherwise, the "An agent will respond shortly" message displays.

  • Type: Bool
  • Default value: false

ttrShowFrequencyInSeconds

Controls the TTR frequency, for example, don’t show the TTR more than once in 8 seconds.

  • Type: UInt
  • Default value: 8

showOffHoursBanner

Enable or disable the off-hours toaster.

  • Type: Bool
  • Default value: true

ttrBannerBackgroundColor

Background color of TTR notification banner view.

ttrBannerTextColor

Text color of TTR notification banner view.

offHoursTimeZoneName

Off Hours time zone name string based on [NSTimeZone knownTimeZoneNames]. If sending empty string, the local timezone will be used (Server sends UTC time).

  • Type: String
  • Default value: "" (Empty String)

toastNotificationsEnabled

Enable toast notifications such as offline and TTR notifications.

  • Type: Bool
  • Default value: true

Unread Messages

scrollToBottomButtonBackgroundColor

Scroll to bottom button background color of the whole button.

scrollToBottomButtonMessagePreviewTextColor

Scroll to bottom button text color of the last unread message preview.

scrollToBottomButtonBadgeBackgroundColor

Scroll to bottom button unread message badge background color.

scrollToBottomButtonBadgeTextColor

Scroll to bottom button unread message badge text color.

scrollToBottomButtonArrowColor

Scroll to bottom button arrow tint color.

unreadMessagesDividerBackgroundColor

Unread Messages divider background color.

unreadMessagesDividerTextColor

Unread Messages divider text color.

scrollToBottomButtonEnabled

Toggle the mode of the scroll to bottom button.

  • Type: Bool
  • Default value: true

scrollToBottomButtonMessagePreviewEnabled

Toggle the mode of the scroll to bottom unread message text preview.

  • Type: Bool
  • Default value: true

unreadMessagesDividerEnabled

Toggle the mode of the Unread Messages divider.

Important: As of SDK 5.1 and above, this configuration no longer impacts the scroll of the conversation or the scroll to bottom button (message preview or count indicator).

Behavior for SDK version 5.0: If disabled, the "scroll to bottom" button will scroll to bottom of the conversation but the count indicator and message preview will not be displayed. Regardless of unreadMessagesDividerEnabled value, the conversation screen will always scrolls to the last position where the user left off.

  • Type: Bool
  • Default value: true

unreadMessagesCornersRadius

Define the corners radius of the unread messages.

  • Type: Float
  • Default value: 8.0

scrollToBottomButtonCornerRadius

Define the top left and bottom left corners radius.

  • Type: Float
  • Default value: 20.0

scrollToBottomButtonBadgeCornerRadius

Define the scroll to bottom badge corners radius.

  • Type: Float
  • Default value: 12.0

User avatar

remoteUserAvatarBackgroundColor

Background color of the remote user’s avatar.

remoteUserAvatarLeadingPadding

Define the remote avatar Leading padding (left edge to avatar).

  • Type: Float
  • Default value: 8.0

remoteUserAvatarTrailingPadding

Define the remote avatar Trailing padding (Avatar to bubble).

  • Type: Float
  • Default value: 8.0

remoteUserAvatarIconColor

Icon color of default remoteUser avatar.

remoteUserDefaultAvatarImage

Default Avatar image of the remote user. When assigned, this image will disable remoteUserAvatarBackgroundColor and remoteUserAvatarIconColor configurations. If the remote user has an avatar image in his profile, this attribute will be ignored.

  • Type: UIImage?
  • Default value: nil

remoteUserAvatarIconBorderWidth

Define the remote avatar icon border width.

  • Type: CGFloat
  • Default value: 0.0

remoteUserAvatarIconBorderColor

Define the remote avatar icon border color.

brandAvatarImage

Default avatar image for Brand. If setting nil — default avatar image will be used with remoteUserAvatarBackgroundColor and remoteUserAvatarIconColor.

  • Type: UIImage?
  • Default value: nil

brandAvatarImageContentMode

Sets content mode for the brand avatar image.

  • Type: UIView.ContentMode
  • Default value: .scaleAspectFit

csatAgentAvatarBackgroundColor

Background color of agent's default avatar in CSAT.

csatAgentAvatarIconColor

Icon color of agent's default avatar in CSAT.

User input view

inputTextViewContainerBackgroundColor

User Input TextView container background color.

inputTextViewCornerRadius

User Input TextView corner radius.

  • Type: Double
  • Default value: 20.0

inputTextViewTopBorderColor

Input TextView top border color default clear color.

inputTextViewPlaceholderColor

Input TextView placeholder text color.

  • Type: UIColor
  • Default value: nil

User's bubble

remoteUserBubbleBackgroundColor

Color code for the background of the remote user's bubble.

remoteUserBubbleBorderColor

Color code for the outline color.

remoteUserBubbleLinkColor

Color code for links in the text of the remote user's bubble.

remoteUserBubbleTextColor

Color code for the text of the remote user's bubble.

remoteUserBubbleBorderWidth

Double number for the outline width.

  • Type: Double
  • Default value: 1

remoteUserBubbleTimestampColor

Color code for the timestamp of the remote user's bubble.

remoteUserTypingTintColor

Color of the typing indicator for when the remote user is typing.

remoteUserBubbleLongPressOverlayColor

Color of the remote user's bubble overlay when user uses a long press gesture on the bubble. Overlay will appear as long as the menu controller appears on the bubble. When the menu dismissed, overlay will disappear too. In order to show overlay, enableBubblesOverlayOnLongPress should be true.

remoteUserBubbleLongPressOverlayAlpha

Alpha of the remote user's bubble overlay when user uses a long press gesture on the bubble. Value can be 0.0 – 1.0. Overlay will appear as long as the menu controller appears on the bubble. When the menu is dismissed, overlay will disappear too. In order to show overlay, enableBubblesOverlayOnLongPress should be true.

  • Type: Float
  • Default value: 0.3

remoteUserBubbleTopLeftCornerRadius

Top left Radius corner on the Remote bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

remoteUserBubbleTopRightCornerRadius

Top right Radius corner on the Remote bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

remoteUserBubbleBottomLeftCornerRadius

Bottom left Radius corner on the Remote bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 0.0

remoteUserBubbleBottomRightCornerRadius

Bottom right Radius corner on the Remote bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

userBubbleBackgroundColor

Color code for the background of the visitor bubble.

userBubbleBorderColor

Color code for the outline color.

userBubbleLinkColor

Color code for links in the text of the visitor bubble.

  • Type: UIColor
  • Default value: UIColor.white

userBubbleTextColor

Color code for the text of the visitor bubble.

  • Type: UIColor
  • Default value: UIColor.white

userBubbleBorderWidth

Double number for the outline width.

  • Type: Double
  • Default value: 1.0

userBubbleTimestampColor

Color code for the timestamp of the visitor bubble.

userBubbleSendStatusTextColor

Color code for the send status text of the visitor bubble.

userBubbleErrorTextColor

Color code for the error view text of the visitor bubble.

userBubbleErrorBorderColor

Color code for the error view border of the visitor bubble.

enableBubblesOverlayOnLongPress

Enable bubbles overlay when user performs a long press gesture on messaging bubbles.

  • Type: Bool
  • Default value: true

userBubbleLongPressOverlayColor

Color of the user's bubble overlay when user uses a long press gesture on the bubble. Overlay will appear as long as the menu controller appears on the bubble. When the menu is dismissed, overlay will disappear too. In order to show overlay, enableBubblesOverlayOnLongPress should be true.

userBubbleLongPressOverlayAlpha

Alpha of the user's bubble overlay when user use long press gesture on the bubble. Value can be 0.0 – 1.0. Overlay will appear as long as the menu controller appears on the bubble, when the menu dismissed, overlay will disappear too. In order to show overlay enableBubblesOverlayOnLongPress should be true.

  • Type: Float
  • Default value: 0.3

userBubbleTopLeftCornerRadius

Top left Radius corner on the user's bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

userBubbleTopRightCornerRadius

Top right Radius corner on the user's bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

userBubbleBottomLeftCornerRadius

Bottom left Radius corner on the user's bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 8.0

userBubbleBottomRightCornerRadius

Bottom right Radius corner on the user's bubble. Setting the radius to a value greater than 0.0 causes the bubble's layer to begin drawing rounded corners on its background. This attribute affects the bubble's masking and it's recommended to use a corner radius which at max equals to half of the bubble's height. Setting a corner radius larger than half of the bubble's height will cause text to be clipped.

  • Type: Float
  • Default value: 0.0

bubbleEmailLinksRegex

Regular expression for email hyperlinks in users messages (consumer and agent). This attribute is optional. If not assigned, the default link detection will be enabled.

  • Type: String?
  • Default value: nil

bubbleUrlLinksRegex

Regular expression for url hyperlinks in users messages (consumer and agent). This attribute is optional. If not assigned, the default link detection will be enabled.

  • Type: String?
  • Default value: nil

bubblePhoneLinksRegex

Regular expression for phone hyperlinks in users messages (consumer and agent). This attribute is optional. If not assigned, the default link detection will be enabled.

  • Type: String?
  • Default value: nil

bubbleTopPadding

Define the bubble Top Padding.

  • Type: Float
  • Default value: 10

bubbleBottomPadding

Define the bubble bottom Padding.

  • Type: Float
  • Default value: 10

bubbleLeadingPadding

Define the bubble Leading Padding.

  • Type: Float
  • Default value: 10

bubbleTrailingPadding

Define the bubble Trailing Padding.

  • Type: Float
  • Default value: 10

bubbleTimestampBottomPadding

Define the bubble Trailing Padding.

  • Type: Float
  • Default value: 5

bubbleTimestampTopPadding

Define the bubble Timestamp Top Padding.

  • Type: Float
  • Default value: 5

enableEnlargeEmojis

When true, user and remote user messages containing one or two emojis will be enlarged in chat. Messages with one emoji will be the largest, two emojis will be large, and 3 or more will be displayed as normal text.

  • Type: Bool
  • Default value: false

Window mode

customButtonImage

Custom button icon image that displays on the navigation bar.

This property gets its tintColor from conversationNavigationTitleColor.

When pressed, the LPMessagingSDKCustomButtonTapped callback gets invoked.

  • Type: UIImage?
  • Default value: nil

Appointment list

appointmentCalendarViewFontMedium

Default value for calendar view medium font.

  • Type: CGFloat
  • Default Value: 14
  • Available since: 6.6.0

appointmentCalendarViewFontLarge

Default value for calendar view large font.

  • Type: CGFloat
  • Default Value: 16
  • Available since: 6.6.0

appointmentCalendarViewDateCellHeight

Default value for Calendar View Date Cell Height.

  • Type: CGFloat
  • Default Value: 35
  • Available since: 6.6.0

appointmentCalendarViewSelectedColor

Default value for when user presses and selects a cell from the calendar view.

  • Type: UIColor
  • Default Value: UIColor.appointmentListCalendarBlueColor, LPColor.lpBlue
  • Available since: 6.6.0, updated in: 6.16

appointmentCalendarViewTodayColor

Default value for the color of today’s cell.

  • Type: UIColor
  • Default Value: UIColor.appointmentListCalendarBlueColor, LPColor.lpBlue
  • Available since: 6.6.0, updated in: 6.16

appointmentCalendarViewTextDark

Default value for dark text in calendar view.

  • Type: UIColor
  • Default Value: UIColor.appointmentListDarkTextColor, LPColor.lpLabel
  • Available since: 6.6.0, updated in: 6.16

appointmentCalendarViewTextLight

Default value for light text in calendar view.

  • Type: UIColor
  • Default Value: UIColor.appointmentListLightTextColor, LPColor.lpGrey
  • Available since: 6.6.0, updated in: 6.16

appointmentCalendarViewDateColor

Default value for calendar date color.

  • Type: UIColor
  • Default Value: UIColor.appointmentListDateColor, LPColor.lpLabel
  • Available since: 6.6.0, updated in: 6.16

appointmentCalendarBackgroundColor

Default value for calendar background color.

  • Type: UIColor
  • Default Value: LPColor.white, LPColor.lpBackground
  • Available since: 6.6.0, updated in: 6.16

appointmentSlotImage

Default image for appointment slot image.

  • Type: UIImage
  • Default Value: image named LP_APPOINTMENT_IMAGE
  • Available since: 6.6.0

appointmentCellImageTintColor

Default color for appointment slot image.

  • Type: UIColor
  • Default Value: UIColor.appointmentListCellImageTintColor, LPColor.lpGray3
  • Available since: 6.6.0, updated in: 6.16

appointmentRightChevron

Default image for right chevron.

  • Type: UIImage
  • Default Value: image named LP_DATE_PICKER_CHEVRON
  • Available since: 6.6.0

appointmentLeftChevron

Default image for left chevron.

  • Type: UIImage
  • Default Value: image named LP_DATE_PICKER_CHEVRON
  • Available since: 6.6.0

appointmentCellTitleLabelTextColor

Default color for calendar cell title text color.

  • Type: UIColor
  • Default Value: UIColor.black, LPColor.lpLabel
  • Available since: 6.6.0, updated in: 6.16

appointmentCellDetailLabelTextColor

Default color for calendar cell detail text color.

  • Type: UIColor
  • Default Value: UIColor.gray, LPColor.lpSecondaryLabel
  • Available since: 6.6.0, updated in: 6.16

appointmentCellAccessoryLabelTextColor

Default color for calendar cell accessory text color.

  • Type: UIColor
  • Default Value: UIColor.black, LPColor.lpLabel
  • Available since: 6.6.0, updated in: 6.16

appointmentCellSelectedColor

Default color for when user presses and selects a cell from the calendar view.

Type: UIColor Default Value: UIColor.appointmentListCalendarBlueColor, LPColor.lpBlue

  • Available since: 6.6.0, updated in: 6.16

appointmentConfirmationViewBackgroundColor

Default color for confirmation view background.

  • Type: UIColor
  • Default Value: UIColor.appointmentListCalendarBlueColor, LPColor.lpBackground
  • Available since: 6.6.0, updated in: 6.16

appointmentConfirmButtonTitle

Default text for confirmation button.

  • Type: String
  • Default Value: Confirm
  • Available since: 6.6.0

appointmentConfirmButtonBackgroundColor

Default color for confirmation button background.

  • Type: UIColor
  • Default Value: UIColor.white, LPColor.lpBlue
  • Available since: 6.6.0, updated in: 6.16

appointmentConfirmButtonTitleTextColor

Default color for confirmation view button title text.

  • Type: UIColor
  • Default Value: UIColor.appointmentListCalendarBlueColor, white
  • Available since: 6.6.0, updated in: 6.16

appointmentConfirmButtonCornerRadius

Default radius for confirmation button corner radius.

  • Type: CGFloat
  • Default Value: 20
  • Available since: 6.6.0

appointmentConfirmButtonTitleFontSize

Default size for confirmation button title font.

  • Type: CGFloat
  • Default Value: 18
  • Available since: 6.6.0

appointmentCustomOutputDateFormat

Default format to present date in output message.

  • Type: String
  • Default Value: “EEEE, MMMM d”
  • Available since: 6.6.0

appointmentCustomFontName

Default format for appointment font.

  • Type: String?
  • Default Value: nil
  • Available since: 6.6.0
  • Description Default value of nil will take system font unless overriden in version 6.15.0 and beyond.

Accessibility

announceEventsSequentially

Enable or disable queue new message announcement. This controls whether VoiceOver announces new messages sequentially or not.

  • Type: Bool
  • Default Value: true
  • Available since: 6.14.0