Customization
Kommunicate provides out of the box theme customization from the dashboard under customization section. Changing the theme color will automatically change the below Kommunicate colors on the mobile apps:
- Toolbar color
- Sent message background color
- Message status icon colors
- Rich message primary colors
However, if you would like to override these colors from the mobile specific SDKs, Kommunicate provides device side customization as well. Follow the below sections for the same.
Android
Kommunicate provides easy settings to customize message text color, background colors and enable of disable any particular feature.
Follow the below steps:
- Download the setting file from here(Right click and Save as).
- Place the downloaded applozic-settings.json file under your /android/app/src/main/assets directory
Hide/Show media attachment and location sharing options
You can hide or show the media attachments options like camera,files and location sharing by changing the below values in applozic-settings.json file. Make an option false if you want to hide it.
"attachmentOptions": {
":location": true,
":camera": true,
":file": true
}
If location sharing functionality is enabled:
If you are NOT enabling location sharing functionality, you may go to the next step: Other properties
If you are enabling the location option in the applozic-settings.json
file, make sure to include the below permissions and geo-API key in your AndroidManifest.xml
file
Add the following permissions in your AndroidManifest.xml
file in platforms/android/AndroidManifest.xml:
Add this inside </application>
tag
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="<your-geo-API-KEY>" />
Send data to bot platform
You can set the data you want to send to the bot platform by calling the updateChatContext
method as below:
dynamic chatContext = {
'key': 'value',
'objKey': {
'objKey1' : 'objValue1',
'objKey2' : 'objValue2'
}
};
KommunicateFlutterPlugin.updateChatContext(chatContext);
Other properties
Here are the properties in applozic-settings.json
file that are specific to Kommunicate.
"hideGroupSubtitle" : true, //True will hide the subtitle in the support group(for e.g 'Keith, bot and You' will be hidden)
"enableAwayMessage": false, //Away message will be disabled
"logoutOption": false, //The logout option in the Option menu will be hidden
"showStartNewConversation" : false, //The default Start New Conversation button will be hidden
"toolbarTitleColor": "#ffffff", //toolbar title text color
"toolbarSubtitleColor": "#ffffff" //toolbar subtitle text color
iOS
Note: When using kommunicate_flutter_plugin in your app, you need to open the ios/Runner.xcworkpsace file in Xcode to do the customizations as Kommunicate plugin uses CocoaPods. Refer this sample for the project structure and the location where you need to add the KommunicateWrapper.swift file. The sample contains two build files, Runner.xcodeproj and Runner.xcworkspace file. We will be using the later one to do customizations.
To customize Kommunicate settings for iOS, follow the below steps:
Open the ios/Runner.xcworkspace in Xcode.
Download the KommunicateWrapper.swift(Right click and Save as) file.
Right click on your Runner target name in Xcode -> Add files to "Runner" -> Select the KommunicateWrapper.swift file downloaded in step 2. Ignore if this file is already added. If your app does not have the Bridging header file, Xcode will show a dialog to add the file, click Yes.
Click on YourApp in Xcode and select Build Settings -> Build Options -> Always Embeded Swift Standard Libraries -> Yes
Open AppDelegate.m file and add the below import (Ignore if already done):
#import "Runner-Swift.h"
- Then in your didFinishLaunchingWithOptions method add the below line just above the return statement(Refer here for details):
[KommunicateWrapper.shared application:application didFinishLaunchingWithOptions:launchOptions];
- Search for function
useCustomConfigurations()
inKommunicateWrapper.swift
file and add the configurations you want to customize inside the function. Refer this doc for different configurations provided by Kommunicate iOS SDK.