Theme Setting

Theme Settings

Using UIAppearance
UIAppearance customizations are applied to AcquireIOSupport SDK by default. However if there is a conflicting property, then the value in ThemeOptions key in AcquireIOConfig will take precedence.
For example: If the app uses UIAppearance to change the color of Navigation Bar title and also specifies a color for the same property in the AcquireIOConfig ThemeOptions - NSDictionary, then the value in dictionary will be used.
In order to use the UIAppearance value, the app must leave the corresponding entry in the ThemeOptions blank.

Introduction

Head over to Theming if you want to customize your SDK integration's typeface, colors or fonts. It can be achieved via simple key-value pairs in option dictionary.

Configuration

Theme customization can be configured via AcquireIOConfig class:
1
let options = [String : Any]()
2
let config = AcquireIOConfig.config
3
config.setDict(options)
4
5
//Pass `config` to- setAccount: withOptions:config
Copied!
Set Dictionary options in format of key-value. Color code will be hex value of color, start from #. You can remove and leave blank for default theme effect.
Sample format for setting Config options:
1
let themeDict = [
2
"ACQUIREIO_GLOBAL": [
3
"THEME_COLOR":"#ff87b8"
4
],
5
"ACQUIREIO_NAVIGATION_BAR": [
6
"BAR_STYLE": "UIBarStyleBlack",
7
"BAR_TINTCOLOR": "#ff87b8",
8
"TINT_COLOR": "#FFFFFF"
9
],
10
"ACQUIREIO_BADGE_VIEW": [
11
"BACKGROUND_COLOR": "#ff0000",
12
"BORDER_COLOR": "#FE0319",
13
"TEXT_COLOR": "#ff0000"
14
],
15
16
"ACQUIREIO_SYSTEM_BUTTON": [
17
"BACKGROUND_COLOR": "#ff0000",
18
"BUTTON_INSET_BOTTOM": NSNumber(value: 100),
19
"BUTTON_INSET_RIGHT": NSNumber(value: 90)
20
]
21
]
22
23
let option = [ ...
24
"ThemeOptions": themeDict
25
]
Copied!

Config Options

Along with Theme settings, SDK supports following optional customization options.
1
let option = [
2
"ThemeOptions": themeDict,
3
"ShowVideoButton": true,
4
"ShowAudioButton": true,
5
"ShowChatButton": true,
6
"isHideNewChat": false,
7
"SessionConnectAndStartAuto": true,
8
"disableAttachment": false,
9
"ShowThreadList": true,
10
"ButtonImageName": "chat.png",
11
"ShowLocalNotificationInApp": true,
12
"DisableNetworkMessage": false ] as [String : Any]
Copied!
  • ShowVideoButton : To show video call button in top bar of visitor's main chat messages screen. Default value is set to true.
  • ShowAudioButton : To show audio call button in top bar of visitor's main chat messages screen. Default value is set to true.
  • ShowChatButton : To hide support system button on bottom right of screen , set to false and it will hide the button but chat functionality will not be affected by this option. Default value set to true.
  • isHideNewChat : if set to true, user won't be able to start new chat with agents. if set to false, user can start new chat with agents. Default value set to false.
  • SessionConnectAndStartAuto : Session will be automatically connected to server and start, no need to invoke any additional method for start session. If you set false, then you must call AcquireIO.support.startSession() method to start new connection with server. Default value is set to true.
  • disableAttachment : To disable uploading attachment to agents. Default value is set to false.
  • ShowThreadList : To show list of sessions/threads. Default value is set to true.
  • ButtonImageName : To set an Image for AcquireIOsupport chat system button. Custom Image should be put in main bundle of app. Image size 30x30 px, 60x60 px for @2x.
  • ShowLocalNotificationInApp : To allow SDK to show in-app notification when app state is Active. Default value is true.
  • DisableNetworkMessage : To disable showing “Please Check Internet Connection” message when there is no internet connectivity. Default value is set to false, which mean SDK will show this message if not specified in config options.

Theme Settings

To skin your app, make sure you add AcquireIOConfig ThemeOptions key.
  • Colors are specified in hexadecimal format, e.g. #FFFFFF is White. # is required before code.
  • Font names should be specified by their family name & style. For example, CaviareDreams-Bold refers to Caviare Dreams family of bold style. See using custom fonts section below for more details.

Global Attribute

These attributes control the looks of in-app support over many screens.
Property
Description
THEME_COLOR
Applies theme color to whole support SDK according to your app theme. Default theme color is #3A6
FONT_NAME
Global font face - applies to texts for sections list, Chat list, Offline form and all. Default font is system font with size according to requirements
BOLD_FONT_NAME
Applies to headers on chat screen and title of pages. Default font is system bold font with size according to requirement
Property
Description
BAR_STYLE
Use UIBarStyleBlack or UIBarStyleDefault. Default bar style is UIBarStyleDefault
BAR_TINTCOLOR
The tint color to apply to the navigation bar background. This color is not made translucent by default unless you set the isTranslucent property to true. Default BAR_TINTCOLOR is #FFFFFF
TINT_COLOR
The tint color is navigation title and back and other bar button items color. Default color is #000000

System Button Attributes

These attributes applies on default bottom right support button.
Property
Description
BACKGROUND_COLOR
Applies to background color of button. Default theme color is THEME_COLOR
BUTTON_INSET_BOTTOM
Inset button from bottom in NSNumber. default bottom inset is 0.
BUTTON_INSET_RIGHT
Inset button from right in NSNumber. default right inset is 0.

System Badge Button Attributes

These attributes applies on default bottom right support button notification badge.
Property
Description
BACKGROUND_COLOR
Applies to background color of button badge. Default color is red
BORDER_COLOR
Applies border to the badge button
TEXT_COLOR
Button badge color. Default color is #ffffff.

Using Custom Fonts

Step 1. Add the font to your project. Edit your app's plist file and add a key "Fonts provided by application" to it. Under the key, list out file names of all the fonts you want to use in your app and in support. If you've already listed such fonts, skip this step.
Add Custom Fonts
Step 2. Copy the font's full name. To do this, select the font in Finder and hit COMMAND ⌘+I (Get Info).
Get full Name of the font
Step 3. Paste the font name into
Set AcquireIOConfig with @"ThemeOptions" -> @"ACQUIREIO_GLOBAL" ->@"FONT_NAME"" , wherever necessary
Add custom font in your themeOptions
Last modified 7mo ago