1let config = SCSChatConfiguration(liveAgentPod: "YOUR-POD-NAME",
2 orgId: "YOUR-ORG-ID",
3 deploymentId: "YOUR-DEPLOYMENT-ID",
4 buttonId: "YOUR-BUTTON-ID")
5
6// Add some required fields
7let firstNameField = SCSPrechatTextInputObject(label: "First Name")
8firstNameField!.isRequired = true
9let lastNameField = SCSPrechatTextInputObject(label: "Last Name")
10lastNameField!.isRequired = true
11let emailField = SCSPrechatTextInputObject(label: "Email")
12emailField!.isRequired = true
13emailField!.keyboardType = .emailAddress
14emailField!.autocorrectionType = .no
15
16// Add some optional fields
17let originField = SCSPrechatTextInputObject(label: "Where are you from?")
18originField!.isRequired = false
19let phoneField = SCSPrechatTextInputObject(label: "Phone Number")
20phoneField!.isRequired = false
21phoneField!.keyboardType = .phonePad
22let descriptionField = SCSPrechatTextInputObject(label: "Please describe your problem:")
23descriptionField!.isRequired = false
24
25// Add a picklist field
26let statusOptions = NSMutableArray()
27statusOptions.add(SCSPrechatPickerOption(label:"New Issue", value:"New"))
28statusOptions.add(SCSPrechatPickerOption(label:"Fixed Issue", value:"Fixed"))
29let statusPickerField = SCSPrechatPickerObject(label: "Status",
30options: statusOptions as NSArray as! [SCSPrechatPickerOption])
31statusPickerField!.isRequired = false
32
33// Add hidden field containing the subject
34let subjectField = SCSPrechatObject(label: "Subject", value: "Chat Session")
35
36// Create an array of all pre-chat fields
37let prechatFields: [SCSPrechatObject] = [firstNameField!, lastNameField!, emailField!,
38 originField!, phoneField!, descriptionField!,
39 statusPickerField!, subjectField]
40
41// Add the array of pre-chat fields to the config object
42config?.prechatFields = prechatFields
43
44// And NOW show the chat UI
45ServiceCloud.shared().chatUI.showChat(with: config!, showPrechat: true)