The novomind iAGENT SDK provides several features which need corresponding configurations. The central configuration file (iAGENTConfig.json) consists of the three parts:
This configuration file can be shared between the iOS and Android SDKs. You can also decide to host this configuration file remotely if you want to be able to apply changes without any app store releases.
A template of the configuration file is included in our sample apps for iOS and Android.
Within the server area you can define the endpoints and their behavior.
...
"server": {
"iHELP_configuration": {
"hostname": "YOUR_NOVOMIND_IAGENT_HELP_API_HOSTNAME",
"port": "YOUR_NOVOMIND_IAGENT_HELP_API_PORT",
"path": "YOUR_NOVOMIND_IAGENT_HELP_API_PATH",
"configuration": [
{
"country": "DE",
"agentId": "Agent",
"questionNumber": "18",
"faqRootContextId": "MYCONTEXT_DE"
},
{
"country": "AT",
"language": "de",
"agentId": "Agent",
"questionNumber": "18",
"faqRootContextId": "MYCONTEXT_de_AT"
},
{
"language": "de",
"agentId": "Agent",
"questionNumber": "18",
"faqRootContextId": "MYCONTEXT_de"
}
]
},
"iMAIL_configuration":{
"hostname": "NOVOMIND_IAGENT_MAIL_API_HOSTNAME",
"port": "NOVOMIND_IAGENT_MAIL_API_PORT",
"path": "NOVOMIND_IAGENT_MAIL_API_PATH",
"apiKey": "abcdef"
},
"iCHAT_configuration": {
"hostname": "NOVOMIND_IAGENT_CHAT_API_HOSTNAME",
"port": "NOVOMIND_IAGENT_CHAT_API_PORT",
"path": "NOVOMIND_IAGENT_CHAT_API_PATH"
}
}
...
iHELP_configuration: Endpoint configuration of the novomind iAGENT Help API if you are going to use novomind iAGENT Help services
configuration: novomind iAGENT Help has the capability to provide multiple knowledgebases. Every knowledgebase is is handled by an agent. If you are using this configuration you are able to support multiple languages/countries where an agent, faqRootContextId and questionNumber can be defined based on the device settings. Priority:
In addition to country and language parameters each agent should contain the following parameters:
Changes within the style change the look & feel of the native views. We recommend to change the style according to your corporate identity.
...
"style": {
"faqCentreViewBackgroundColor": "#FFFFFF",
"faqCentreCellBackgroundColor": "#FFFFFF",
"faqCenterSelectedCellBackgroundColor": "#E0E0E0",
"faqCentreDefaultTextColor": "#000000",
"faqCentreContextTextColor": "#000000",
"faqCentreQuestionTextColor": "#DE391B",
"faqCentreAnswerTextColor": "#000000",
"faqCentreDonateButtonsBackgroundColor": "DE391B",
"faqCentreCellFont": "16",
"mailContactViewBackgroundColor": "#FFFFFF",
"virtualAdvisorAgentIconName": "agent_chat_icon",
"virtualAdvisorCellFont": "16",
"virtualAdvisorViewBackgroundColor": "#EBEBF1",
"virtualAdvisorAgentMessageBackgroundColor": "#FC683A",
"virtualAdvisorAgentMessageTextColor": "#000000",
"virtualAdvisorUserMessageBackgroundColor": "#9DA1A9",
"virtualAdvisorUserMessageTextColor": "#000000",
"chatAgentIconName": "agent_chat_icon",
"chatVideoCallIconName": "video_icon",
"chatRejectCallIconName": "reject_call",
"chatCellFont": "16",
"chatViewBackgroundColor": "#EBEBF1",
"chatInfoCellBackgroundColor": "#DDDDDD",
"chatTimestampTextColorForAgentCell": "#D3D3D3",
"chatTimestampTextColorForUserCell": "#DDDDDD",
"chatUserMessageTextColor": "#000000",
"chatAgentMessageBackgroundColor": "#FC683A",
"chatUserMessageBackgroundColor": "#9DA1A9",
"chatAgentMessageTextColor": "#000000",
"chatInfoMessageTextColor": "#000000",
"backButtonColor": "#FC683A"
},
...
The localization part is used to maintain translations which are used within the native views. If you don't use them, just skip this area!
...
"localization": [
{
"key": "FAQCENTRE.NAVIGATIONBAR.TITLE",
"translation": [
{
"language": "en",
"value": "FAQ CENTRE"
},
{
"language": "de",
"value": "FAQ CENTRE"
}
]
},
{
"key": "CHAT.NAVIGATIONBAR.TITLE",
"translation": [
{
"language": "en",
"value": "Chat"
},
{
"language": "de",
"value": "Chat"
}
]
},
...
]
...
You can see all available translation keys in the configuration file of the sample app, which will be provided to you by your account manager.
Initialize using JSON file
iAGENT.sharedInstance.initConfiguration(fileName: String, customConfiguration: CustomiAGENTConfiguration)
Initialize using parsed JSON dictionary
iAGENT.sharedInstance.initConfiguration(configDict: [String: Any], customConfiguration: CustomiAGENTConfiguration)
CustomiAGENTConfiguration contains:
String
: email address to be set in mail view controller email text fieldBool
: disable email text field in mail view controllerBool
: disable attachments view in mail view controllerCustomiAGENTConfiguration can be accessed and changed any time through iAGENT.sharedInstance.customiAGENTConfiguration
Initialize using JSON file
iAGENT.sharedInstance.initConfiguration(getApplicationContext(), String filename, CustomiAGENTConfiguration customConfiguration);
Initialize using parsed JSON dictionary
iAGENT.sharedInstance.initConfiguration(getApplicationContext(), JSONObject jsonObject, CustomiAGENTConfiguration customConfiguration);
CustomiAGENTConfiguration contains:
String
: email address to be set in mail activity email text fieldboolean
: disable email text field in mail activityboolean
: disable attachments view in mail activityCustomiAGENTConfiguration can be accessed and changed any time through iAGENT.sharedInstance.customiAGENTConfiguration