Kommunicate.io Android Chat SDK for Customer Support

Overview

Kommunicate Android Chat SDK for Customer Support

An Open Source Android Live Chat SDK for Customer Support

Overview

Kommunicate provides open source live chat SDK in android. The Kommunicate SDK is flexible, lightweight and easily integrable. It lets you easily add real-time live chat and in-app messaging in your mobile applications and websites for customer support. The SDK is equipped with advance messaging options such as sending attachments, sharing location and rich messaging.

Kommunicate SDK lets you integrate custom chatbots in your mobile apps for automating tasks. It comes with multiple features to make it a full-fledged customer support SDK.

Get Started

To get started with Kommunicate Android SDK, head over to the Kommunicate website and Signup to get your Application ID.

This is a sample that implements the Kommunicate android chat SDK. To use this sample you need to provide your application ID in app level build.gradle file's defaultConfig Refer here. Replace <Your-APP_ID> with the application ID obtained from Kommunicate dashboard.

Build a BOT on Kommunicate and integrate it in your Android app

Kompose

Kompose is a Kommunicate’s bot builder that help you in building your own bot, a techie, non-techie, or a person who doesn’t have any idea about chatbots can also build the bot. Anyone can create a chatbot with the Kompose without any assistance.

Kompose-build

Following is the UI to create the BOT

Kompose

Dialogflow chatbot integration in your Android app

Dialogflow is a Google-owned NLP platform to facilitate human-computer interactions such as chatbots, voice bots, etc.

Kommunicate's Dialogflow integration provides a more versatile, customizable and better chatting experience. Kommunicate Android Live Chat SDK supports all of Dialogflow's features such as Google Assistant, Rich Messaging, etc. On top of that, it is equipped with advanced features such as bot-human handoff, conversation managing dashboard, reporting, and others.

You can connect your Dialogflow chatbot with Kommunicate in the following 4 simple steps. Here is a step by step blog to add Kommunicate SDK in your Android app.

Step 1: Get your API credentials from Dialogflow

  • Login to Dialogflow console and select your agent from the dropdown in the left panel.
  • Click on the settings button. It will open a setting page for the agent.
  • Inside the general tab search for GOOGLE PROJECTS and click on your service account.
  • After getting redirected to your SERVICE ACCOUNT, create a key in JSON format for your project from the actions section and it will get automatically downloaded.

Step 2: Create a free Kommunicate account

Create a free account on Kommunicate and navigate to the Bots section.

Step 3: Integrate your Dialogflow chatbot with Kommunicate

  • In the Bot integrations section, choose Dialogflow. A popup window will open.
  • Upload your Key file here and proceed.
  • Give a name and image to your chatbot. It will be visible to the users chatting with your chatbot.
  • Enable/Disable chatbot to human handoff. If enabled, it will automatically assign conversations to humans in case the chatbot is not able to answer.

Step 4: Install the Kommunicate Android SDK to your app

You can add the Kommunicate SDK in your Android app easily. More information on how to integrate with your Andriod app here.

Note: Here's a sample chatbot for you to get started with Dialogflow.

Other Features

Live chat widget: Make it easier for your visitors and users to reach you with an instant website and in-app support through chat. The widget is highly customizable.

Chatbots: Automate and speed up your customer service by integrating AI-powered chatbots. Build your chatbots and deploy them using Kommunicate and seamlessly add them in the live chat.

Conversations: Manage all your customer queries coming from the live chat plugin. Easily manage and assign agents to cater to user conversations.

Dashboard: A powerful dashboard to see, analyze and act upon your customer conversation data. Helps you analyze the performance of support agents as well.

Helpcenter: Create your knowledge base and deploy on a dedicated page to cater to generic and recurring customer queries. Your customers will also be able to directly access FAQs in chat.

Mailbox: A simple and powerful team inbox for ticketing, managing, receiving and replying to all your customer support emails.

Integrations: Easily move data between Kommunicate and your other favorite apps. Integrate your favorite CRM, knowledge base software and other apps.

Conversation Routing: Select routing rules for incoming conversations for both your agents and bots. Choose between automatic assignments or to notify all.

Smart Rich Messaging: Leverage rich messages using buttons, cards, carousels, forms or lists to provide an exquisite support chat experience to your customers.

Quick Replies: Quickly respond to generic user queries using Quick Replies. Easily create and manage templated messages from your dashboard.

Technical Documentation

Detailed instructions for installing, configuring and customizing the Kommunicate Android SDK are availble here.

Comments
  • Issue while launching conversation

    Issue while launching conversation

    I get following error while launching conversation : Registration response is: {"message":"PASSWORD_INVALID","currentTimeStamp":1618334956706,"deactivate":false,"totalUnreadCount":0,"metadata":{},"newUser":false}

    My code :

     fun openConversation(context: Activity, onLoading: ((isLoading:Boolean) -> Unit)?=null, onError:((error:Throwable?, showError:Boolean)->Unit)?=null) {
            var messageMetaData=  mutableMapOf<String, String>()
            var sessionId= MyApplication.instance?.preferencesManager?.getSessionId()
            var userId=MyApplication.instance?.preferencesManager?.getCachedUser()?.customer_id
            var emailId=MyApplication.instance?.preferencesManager?.getCurrentUserEmail()
            var suite=MyApplication.instance?.preferencesManager?.getCachedUser()?.suite
            if(!(validateCredentials(userId,emailId,suite))){
                onError?.invoke(null, true)
                return
            }
            onLoading?.invoke(true)
            var user = KMUser()
            user.userId= userId
          //  user.userName=suite
            user.email = emailId
            user.password=APPConstants.KOMMUNICATE_PASSWORD
            messageMetaData.put("defaultMessageMetaData","{\"userId\":\""+sessionId+"\"}")
            var kmConversationBuilder :KmConversationBuilder
            if(Kommunicate.isLoggedIn(context))
                kmConversationBuilder= KmConversationBuilder(context)
            else
                kmConversationBuilder=KmConversationBuilder(context).setAppId(APPConstants.KOMMUNICATE_APP_ID)
                        .setKmUser(user)
            kmConversationBuilder
                    .launchConversation(object : KmCallback {
                        override fun onSuccess(message: Any) {
                            onLoading?.invoke(false)
                        }
    
                        override fun onFailure(error: Any) {
                            onLoading?.invoke(false)
                            onError?.invoke(null, true)
                        }
                    })
        }
    
    opened by attriaman2520 16
  • Wrong storage permission request on API version 10+

    Wrong storage permission request on API version 10+

    Permission WRITE_EXTERNAL_STORAGE will no longer provide write access when targeting Android 10 and above. Details: https://developer.android.com/training/data-storage/shared/media#request-permissions

    But in your SDK, WRITE_EXTERNAL_STORAGE is requested regardless of the API version.

    Client can set attribute android:maxSdkVersion on that permission in manifest, it has the effect of removing element on higher Android SDK versions, at least in terms of how runtime permissions work.

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                     android:maxSdkVersion="28" />
    

    There is a lint warning in AS with regards to WRITE_EXTERNAL_STORAGE, it suggest set atrribute android:maxSdkVersion="28". But in that case verification that both WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE permissions granted will always not pass (ConversationActivity.java:700). The files selection screen will not open and will show up snackbar "Storage permission is required...".

    stale-issue 
    opened by HungryCup 15
  • metadata is not passed to the payload of dialogflow webhook request

    metadata is not passed to the payload of dialogflow webhook request

    Hi, I did a chatbot integration with dialogflow. My dialogflow bot also has webhook integration. When I use the following code; I don't see the metadata and the user information passed to payload from kommunicate to dialogflow webhook.

    Is the following code wrong or is there a configuration that I did not do or is there an isse on kommunicate server-side?

            new KmConversationBuilder(this.activityContext)
                    .setSkipConversationList(true)
                    .setSingleConversation(true)
                    .setBotIds(botIds)
                    .setMessageMetadata(this.chatContext)
                    .setKmUser(user)
                    .launchConversation(new KmCallback() {
                @Override
                public void onSuccess(Object message) {
                    System.out.println("onSuccess");
                    System.out.println(message);
                }
    
                @Override
                public void onFailure(Object error) {
                    System.out.println("onFailure");
                    System.out.println(error);
                }
            });
    
    opened by ndemir 10
  • Meta data's parameters are not received on server side

    Meta data's parameters are not received on server side

    When i send a message i send a parameter in metadata. Here is log which get printed when i send a message :

    Sending message to server: { "applicationId": "174afd6c613bbb5be0bbd725cafbe88", "attDownloadInProgress": false, "canceled": false, "clientGroupId": "[email protected]_523659", "connected": false, "contactIds": "", "contentType": 0, "createdAtTime": 1618817104202, "delivered": false, "deviceKey": "235cc17d-d712-4ad2-97d5-d4bc29753274", "groupId": 57925473, "hidden": false, "key": "212a5201-f473-4f05-9322-925342e92380", "message": "hello. testing again", "metadata": { "userId": "66b3d32cd58a51a54d35a3547cc7e5e0" }, "read": true, "replyMessage": 0, "sendToDevice": false, "sent": true, "sentMessageTimeAtServer": 0, "sentToServer": true, "shared": false, "source": 2, "status": 1, "storeOnDevice": true, "type": 5, "userKey": "974bb53b-3768-43f0-9cc0-24f5e9a6fc9e" }

    But our web guy is unable to get "userId" under metadata on his side. Here is the request he is getting using "dialogflow". Can you help us with this?

    {"responseId":"55eb9d3d-1311-4c7d-8c65-e9271be3a59c-d74139ee","queryResult":{"queryText":"u10d2u10d0u10dbu10d0u10e0u10efu10ddu10d1u10d0","parameters":[],"allRequiredParamsPresent":true,"fulfillmentMessages":[{"payload":{"metadata":{"payload":[{"message":"u10d8u10dcu10e4u10ddu10e0u10dbu10d0u10eau10d8u10d0 u10d0u10dbu10d0u10dcu10d0u10d7u10d8u10e1 u10e8u10d4u10e1u10d0u10eeu10d4u10d1","title":"u10d8u10dcu10e4u10ddu10e0u10dbu10d0u10eau10d8u10d0 u10d0u10dbu10d0u10dcu10d0u10d7u10d8u10e1 u10e8u10d4u10e1u10d0u10eeu10d4u10d1"},{"message":"u10d6u10ddu10d2u10d0u10d3u10d8 u10d8u10dcu10e4u10ddu10e0u10dbu10d0u10eau10d8u10d0","title":"u10d6u10ddu10d2u10d0u10d3u10d8 u10d8u10dcu10e4u10ddu10e0u10dbu10d0u10eau10d8u10d0"}],"contentType":"300","templateId":"6"},"message":"u10dbu10ddu10d2u10d4u10e1u10d0u10dau10dbu10d4u10d1u10d8 $firstname, u10dbu10d4 USA2GEORGIA-u10e1 u10d1u10ddu10e2u10d8 u10d5u10d0u10e0. u10d8u10dcu10e4u10ddu10e0u10dbu10d0u10eau10d8u10d8u10e1 u10dbu10d8u10e1u10d0u10e6u10d4u10d1u10d0u10d3, u10d2u10d7u10eeu10ddu10d5u10d7, u10d0u10d8u10e0u10e9u10d8u10ddu10d7:","platform":"kommunicate"}}],"outputContexts":[{"name":"projects/usa2bot-emqd/agent/sessions/57925473/contexts/actions-followup","lifespanCount":2},{"name":"projects/usa2bot-emqd/agent/sessions/57925473/contexts/system_counters","lifespanCount":1,"parameters":{"no-input":0,"no-match":0}}],"intent":{"name":"projects/usa2bot-emqd/agent/intents/3bf1bb94-7000-4122-a3fc-78efcee19f63","displayName":"actions"},"intentDetectionConfidence":1,"languageCode":"en"},"originalDetectIntentRequest":{"payload":{"messageSource":"2","botId":"usa2georgia-bot-ahpos","attachments":[],"groupId":"57925473","applicationId":"174afd6c613bbb5be0bbd725cafbe88"}},"session":"projects/usa2bot-emqd/agent/sessions/57925473"} white_check_mark eyes raised_hands

    stale-issue 
    opened by attriaman2520 9
  • [Td - 2179 ] Rich Message video template Feature

    [Td - 2179 ] Rich Message video template Feature

    1. Added the Rich Messages Video Template Feature.

    We have two types of payloads to play videos in our sdk.

    1. Payload for web hosted videos
    2. Payload for Youtube videos

    Below is the sample custom payload in our documentation. Doucmentation link for Rich Video Template

    {
      "platform": "kommunicate",
      "message": "Hello this is example videos",
      "metadata": {
        "contentType": "300",
        "templateId": "14",
        "payload": [
          {
            "url": "https://s3-migration-dot-applozic.appspot.com/rest/ws/aws/file/AM
    Ifv95BPKLnhNtiYz0SNJYXTDhUkvhPYQikSjFaoL1hbg1zCcK8n6KZZfZC5Z42bfxOLaNeKSbKrt4o9pI0_ICb1fKKY8HqtcCeEuUZU8b18u8sr-4U5d4rFtmC79cn_0xaiV0MQfF01T0hAea8sQANoaYuvR5hQJHiFSB047yp1mkfqcwNb_ExaX1xutdJ8Qamkjp8xTKjlPiG0920T7qqLFIBxl1eGL7ikvTCtXG_f8Me8OKsEOhUXOP7LLuJLcOG_p8cijsp",
            "caption": "Video & Youtube Examples"
          },
          {
            "source": "youtube",
            "url": "https://www.youtube.com/embed/3-ijFzzF934"
          }
        ]
      }
    }
    

    Sample Images:

    Sample Video:

    https://user-images.githubusercontent.com/61688116/144352056-418bd8a1-7ad5-41d7-b971-610af4685d39.mp4

    opened by Sathyan-Elangovan 5
  • enter_message_hint is never used

    enter_message_hint is never used

    Hello,

    I am integrating the Kommunicate Flutter SDK and I'm currently having a problem with the localization on the Android side. I'm successfully translating most of the resources to French and it seems to me that we are not able to use a customized string for the hint "Write a Message.." used at the bottom of this screen.

    Screenshot_20220420-111822

    The string resource that seems to mean to be edited is enter_message_hint in mobicom_strings.xml but it is never used.

    I think that this part of the code is the problem :

    messageEditText.setHint(!TextUtils.isEmpty(alCustomizationSettings.getEditTextHintText()) ? alCustomizationSettings.getEditTextHintText() : getString(R.string.enter_message_hint));
    

    as alCustomizationSettings.getEditTextHintText() is never Empty and contains "Write a Message.."

    opened by RemiSan 4
  • add functionality to update conversation metadata and assignee

    add functionality to update conversation metadata and assignee

    • Added functionality to update conversation metadata via conversation builder
    • Added functionality to update conversationAssignee if a different assignee is passed in the conversation builder
    • Moved the updates into parallel tasks so it doesn't affect the response time of conversation builder
    • Use the below method to update conversation metadata:
      Map<String, String> map = new HashMap<>();
                map.put("TicketId", "123456");
                map.put("Status", "ActiveNo");
    
                new KmConversationBuilder(context)
                        //other properties might go here
                        .setConversationAssignee(newAssignee)
                        .setConversationMetadata(map)
                        .launchConversation(new KmCallback() {
                            @Override
                            public void onSuccess(Object message) {
                
                            }
    
                            @Override
                            public void onFailure(Object error) {
                                
                            }
                        });
    

    Below test cases are satisfied:

    1. If this is a new conversation, the conversation will be created and the above metadata will be set.
    2. If this is an existing conversation, this metadata will be set, if conversation does not have metadata this metadata
    3. If the values change or new metadata is passed, the metadata will be updated accordingly.
    4. If same metadata is passed, no update occurs.
    opened by reytum 4
  • java.lang.NoClassDefFoundError: java.nio.charset.StandardCharsets in Android API < 19

    java.lang.NoClassDefFoundError: java.nio.charset.StandardCharsets in Android API < 19

    We have been a long time with an old version of your library. Now, we have upgraded to the latest version and the library crashes on all the devices we have with API 16, 17 and 18. We have also tested your test app and it crashes as well.

    The problem is in the org.eclipse.paho.client.mqttv3 library version. Version 1.2.1 and higher do not seem to support API < 19, because they use StandarCharsets and StandarCharsets was added in API 19.

    For now we have fixed it by forcing the library version in our build.gradle, while we hope you can release a new version with the problem fixed.

    implementation('org.eclipse.paho:org.eclipse.paho.client.mqttv3') { version { strictly '1.2.0' } }

    Stacktrace

    2022-09-01 13:44:41.062 1993-2336/xxx.xxxxx.xxxxxx E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4
        java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:299)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
            at java.util.concurrent.FutureTask.run(FutureTask.java:239)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
         Caused by: java.lang.ExceptionInInitializerError
            at org.eclipse.paho.client.mqttv3.internal.ClientState.<init>(ClientState.java:162)
            at org.eclipse.paho.client.mqttv3.internal.ClientComms.<init>(ClientComms.java:108)
            at org.eclipse.paho.client.mqttv3.MqttAsyncClient.<init>(MqttAsyncClient.java:470)
            at org.eclipse.paho.client.mqttv3.MqttAsyncClient.<init>(MqttAsyncClient.java:320)
            at org.eclipse.paho.client.mqttv3.MqttAsyncClient.<init>(MqttAsyncClient.java:315)
            at org.eclipse.paho.client.mqttv3.MqttClient.<init>(MqttClient.java:227)
            at com.applozic.mobicomkit.api.AlMqttClient.<init>(AlMqttClient.java:21)
            at com.applozic.mobicomkit.api.ApplozicMqttService.connect(ApplozicMqttService.java:94)
            at com.applozic.mobicomkit.api.ApplozicMqttService.connectPublish(ApplozicMqttService.java:126)
            at com.applozic.mobicomkit.api.conversation.ApplozicMqttIntentService.onHandleWork(ApplozicMqttIntentService.java:104)
            at androidx.core.app.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:396)
            at androidx.core.app.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:387)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
            at java.lang.Thread.run(Thread.java:856) 
         Caused by: java.lang.NoClassDefFoundError: java.nio.charset.StandardCharsets
    
    stale-issue 
    opened by cokeperez 3
  • Crash on Android 12

    Crash on Android 12

    Hi, My app targets android 12 and I use the latest version of sdk 2.3.0. Users ran into an issue when push notification comes:

    Caused by java.lang.IllegalArgumentException <my.app.package>: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.

    android.app.PendingIntent.checkFlags (PendingIntent.java:382)
    android.app.PendingIntent.getActivityAsUser (PendingIntent.java:465)
    android.app.PendingIntent.getActivity (PendingIntent.java:451)
    android.app.PendingIntent.getActivity (PendingIntent.java:415)
    com.applozic.mobicomkit.api.notification.NotificationService.notifyUserForNormalMessage (NotificationService.java:402)
    com.applozic.mobicomkit.broadcast.BroadcastService.sendNotificationBroadcast (BroadcastService.java:184)
    com.applozic.mobicomkit.api.conversation.MobiComMessageService.sendNotification (MobiComMessageService.java:249)
    com.applozic.mobicomkit.api.conversation.MobiComMessageService.addMTMessage (MobiComMessageService.java:230)
    com.applozic.mobicomkit.api.conversation.MobiComMessageService.processMessage (MobiComMessageService.java:136)
    com.applozic.mobicomkit.api.conversation.MobiComMessageService.syncMessages (MobiComMessageService.java:297)
    com.applozic.mobicomkit.api.conversation.ConversationIntentService.onHandleWork (ConversationIntentService.java:84)
    androidx.core.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:396)
    androidx.core.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:387)
    android.os.AsyncTask$3.call (AsyncTask.java:394)
    java.util.concurrent.FutureTask.run (FutureTask.java:266)
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
    java.lang.Thread.run (Thread.java:920)
    
    opened by igusef 3
  • rich message factory pattern + rebase

    rich message factory pattern + rebase

    Note: the code has been checked only for the template ids: 3, 6, 7, 9, 10 i.e excluding 11 and faq. non-generic messages have not been checked. Messages are rendered as required for payloads given in docs.

    opened by shubhamtewari 3
  • added a one-step image/video upload flow

    added a one-step image/video upload flow

    1. a new one step image/video upload flow has been added (open the image chooser, select multiple images/videos and click open), required files have been modified
    2. the MobicomAttachmentSelectorActivity has be modified to better seperate and UI and the controlling fucntions
    3. The file async task has been improved to be more generic and moved to a seperate file
    4. the KmAttachmnetsControllr has been created to seperate the code( refer to point 2) and the functions common between the new flow and the old flow
    5. comments have been added where ever i found difficulty in understanding in what the function did (only for the attachment upload parts)
    opened by shubhamtewari 3
  • Send device-key header to register/update api

    Send device-key header to register/update api

    Issue:

    • Device was sending 2 device-key from 2 different API: For Agent app: /loginv2 and register/update For SDK: register/client and register/update

    Fix:

    • We were earlier sending x-authorization which is not required in register/update.
    • Changing this boolean will send device-key to the API connection.setRequestProperty(DEVICE_KEY_HEADER, userPreferences.getDeviceKeyString());
    opened by amntoppo 0
  • [CM-1245 - Fix notification flow for agents

    [CM-1245 - Fix notification flow for agents

    Issue with Notification:

    1. Assignment messages are not coming
    2. Notifications are received even when chat is assigned to Bot
    3. For "Notify everybody" - Agents are receiving notification for all messages, same in Android and Web, except the assignment message (edited)

    How was the code tested?

    • Compared with dashboard and tested it for Agent app - Notify Everybody and Automatic assignment feature
    • Tested SDK notification flow
    opened by amntoppo 0
  • [CM-1192 - Observe Zendesk Events

    [CM-1192 - Observe Zendesk Events

    Summary

    • Observe events -> message, attachment message, agent leave
    • Added chat log logic to sync zendesk and kommunicate messages

    Tasks completed:

    • When message event triggered, send message to /rest/ws/zendesk/message/send
    • When attachment event triggered, send attachment to /rest/ws/zendesk/file/send
    • When Agent ends chat from Zendesk, call Resolve conversation API and resolve the conversation.
    • When "Restart conversation" is clicked, a new conversation is created to maintain a single chat thread.
    • Handled Chat logs -> If the app is closed and opened again, it will sync the messages sent from Zendesk dashboard
    opened by amntoppo 0
Releases(v2.5.3)
  • v2.5.3(Dec 30, 2022)

  • v2.5.1(Nov 21, 2022)

    What's Changed

    • Added events to KmPluginEventListener - if you use events in your app, implement the new methods.
    • Added fix for API <= 19. Current min SDK version is still 16. All bugs have been fixed for lower SDK versions.
    • Added Edit Message Text box Customization - "messageEditTextBackgroundColor"
    • Added support to set Custom bot name through Chat Context
    Source code(tar.gz)
    Source code(zip)
  • v2.5.0(Oct 26, 2022)

  • v2.4.8(Oct 3, 2022)

  • v2.4.6(Sep 1, 2022)

  • v2.4.5(Aug 25, 2022)

  • v2.4.4(Aug 23, 2022)

    What's Changed

    • Fixed showing empty body for the rich message having no text
    • Fix for attachment sending empty message
    • Sync Deleted Messages from dashboard
    • Optimized Group list API
    • Fixed empty notification body
    Source code(tar.gz)
    Source code(zip)
  • v2.4.3(Jul 21, 2022)

    What's Changed

    • Add color customization for notification icon
    • Added support to set Notification tone
    • Added icon to link Rich Messages
    • Crash fix
    Source code(tar.gz)
    Source code(zip)
  • v2.4.2(Jul 1, 2022)

  • v2.4.1(Jun 2, 2022)

    What's Changed

    • Added support for Default Conversation Settings for "Create New Conversation"
    - KmSettings.setDefaultBotIds(List<String> botIds)
      - KmSettings.setDefaultAgentIds(List<String> agentIds)
     -  KmSettings.setDefaultAssignee(String assigneeId)
     -  KmSettings.setDefaultTeamId(String teamId)
     -  KmSettings.setSkipRouting(boolean isSkipRouting)
      - KmSettings.clearDefaultSettings()
    
    • Changes related to Agent app - Notify Everybody feature
    • Bug fixes and optimizations
    Source code(tar.gz)
    Source code(zip)
  • v2.4.0(May 16, 2022)

    What's Changed

    • Added support for postBackToKommunicate Rich message payload
    • Added fix for postBackToBotPlatform Rich Message payload
    • editTextHintText can be localized through string "enter_message_hint"
    • Bug fixes and optimization
    Source code(tar.gz)
    Source code(zip)
  • v2.3.8(Apr 7, 2022)

    What's Changed

    • Added multiple events in Event Listeners
    • Added oneTimeRating feature in custom settings
    • Added Expired Layout for Agent app
    • Bug fixes and optimizations
    Source code(tar.gz)
    Source code(zip)
  • v2.3.6(Feb 3, 2022)

  • v2.3.5(Jan 31, 2022)

    What's Changed

    • Added support for Dropdown in Prechat lead collection
    • Added Chat Widget floating button: KmChatWidget, which can be used to create an icon for opening conversation
    • Added new chat design with backward compatibility. To use previous design, use "innerTimestampDesign": true in applozic-settings.json
    • Auto-sync conversation for Agents in All Conversation screen
    • Bug fix for Android 12
    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Dec 15, 2021)

  • v2.2.6(Dec 15, 2021)

  • v2.2.5(Dec 2, 2021)

    What's Changed

    • Support for multi lines in RichMessage Action Button .
    • Support for Custom Chat Background (either colour or local drawable) .
    • Support for Post Submitted Form(Rich Message) Data as a Message .
    • Support for Form Text area in Richmessage.
    • Added feature for Pre Chat Collection & launch chat for anonymous users
    • Added timestamp below Rich Messages.
    • Optimised publishing Away/Online Status process.
    • Collect email ID from user for Away Message for anonymous users.
    • Fix for the Speech to Text issue in Android 11.
    Source code(tar.gz)
    Source code(zip)
  • v2.2.0(Oct 18, 2021)

    • This release is to support users with MinSdk 14
    • Version up-to-date with 2.2.2
    • Downgraded the dependencies of Google Cloud Service and Firebase
    Source code(tar.gz)
    Source code(zip)
  • v2.2.2(Sep 30, 2021)

    • Notification changes for Agent app
    • Show feedback for Agent app
    • Customization settings: Message Hint text can be changed using: EditTextHintText
    • Some Crash fix
    Source code(tar.gz)
    Source code(zip)
  • v2.2.1(Sep 2, 2021)

    • Added Plugin Listeners
    • Added support for adding FAQ name at runtime
    • Fix for initial conversations showing up in Agent app
    • API Endpoints and url change
    • Double callback bug fix and minor fix
    Source code(tar.gz)
    Source code(zip)
  • v2.1.5(Mar 8, 2021)

    • Support for dropdown list in form rich message
    • Change in format for date and time type rich messages
    • Setting to restrict message typing with bots
    • Move proguard rules to SDK
    • Fix away message update in realtime
    Source code(tar.gz)
    Source code(zip)
  • v2.1.4(Feb 4, 2021)

    • Added options to set toolbar, statusbar and richMessage theme colors. Add the below colors in your applozic-settings.json file:
      "toolbarColor": "",
      "statusBarColor": "",
      "richMessageThemeColor": "",
    
    • Added reply message support.
    • Fixed the security key crash due to localization
    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Feb 4, 2021)

  • v2.1.2(Dec 9, 2020)

    • Added Flexbox layout for rich messages. This optimises the quick replies, check boxes and radio button rich messages. Also fixes spacing issues with large texts in checkboxes
    • Added support for prefilled messages when a conversation is opened via KmConversationBuilder. Use the property setPreFilledMessage("<YOUR_MESSAGE>") of KmConversation builder.
    • Added fb icon for conversations started from facebook
    • Renamed all classes starting with Al/Applozic to Km, resources starting with applozic/al to km, string names starting with applozic/al to km. If any of these is used in the code, just replace them accordingly.
    • Fixed issue where audio permission was not displaying when audio record button was clicked
    • Fixed issue where the feedback message sent from device was not reflecting in dashboard.
    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Nov 4, 2020)

    • Added setting to enable disable CSAT rating from the dashboard
    • Improved the audio quality via recording
    • Added setting to change the toolbar title and subtitle colors
    • Added message character limit
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Sep 9, 2020)

    • Security improvement for secret keys in shared preferences. The secret keys are removed from the shared preferences and moved to secured storage.
    • Security improvement for API calls using the user password. Removed user password and other secret keys and replaced them by a JWT token.
    • Fixed issue where the conversation creation and load were taking a lot of time over some networks.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.5(Sep 1, 2020)

    • Added date and time picker support in the form template
    • Added support for text field validation in form template
    • Added support for single conversation setting from the dashboard
    Source code(tar.gz)
    Source code(zip)
  • v2.0.4.1(Jul 30, 2020)

  • v2.0.4(Jul 30, 2020)

    • Fixed issue where form data was being cleared on submit in Form type rich message
    • Fixed record and send button visibility issue
    • Fixed issue where send button was not visible after caption was removed from image attachment
    Source code(tar.gz)
    Source code(zip)
  • v2.0.3(Jul 9, 2020)

    1. Added support for language change bot
    2. MQTT security enhancement: Added support for JWT based authentication in MQTT connection
    3. Added support for showing agent's away status
    4. Added support for postBackToBotPlatform in form type rich message
    5. Added support for character limit check in message for Dialogflow bot
    6. Added custom toasts in the SDK. You can use the KmToast.success and KmToast.error methods to display custom Toast in your app.
    7. Added support for message blocking via custom regex
    8. Fixed an issue with message status in MessageInfoFragment
    9. Fixed an issue where form data was getting cleared after submit
    Source code(tar.gz)
    Source code(zip)
Owner
Kommunicate
Kommunicate is a live chat and chatbots powered software for real-time, proactive and efficient customer support.
Kommunicate
Firebase-Chat-App-Final - An android real-time chat application implemented using firebase

Firebase-Chat-App-Final An android real-time chat application implemented using

Tanmay Nandanikar 4 Sep 10, 2022
Server/Client Chatting application that allows to choose to chat in a group chat or privately to a specific connected user

ktor_chatting_application Server/Client Chatting application that uses Ktor webs

null 10 Jun 14, 2022
This is a Bluetooth operational Chat-App developed using Kotlin which shows the list of available devices nearby and paired devices, upon clicking you can start chat

This is a Bluetooth operational Chat-App developed using Kotlin which shows the list of available devices nearby and paired devices, upon clicking you can start chat ... VOILA ???? It is still in its early stages of development and currently let user to one-time chat at a time. It is under heavy development ??

Shalu Ambasta 3 Jan 10, 2022
Multi Lingual Chat app - A modern chat application that allows users to translate text messages into their preferred language

Multi Lingual Chat app - A modern chat application that allows users to translate text messages into their preferred language

Manjunath Nayak 0 Jan 18, 2022
Chat App is built to demonstrate a simple end-to-end chat encryption using RSA and AES algorithms

End-to-End Encrypted Chat ?? Chat App is built to demonstrate a simple end-to-end chat encryption using RSA and AES algorithms Built With ⚒️ Jetpack C

Team Matrix 6 Dec 23, 2022
Shit Chat is a realtime chat application made with Kotlin.

Shit Chat Shit Chat is a realtime chat application made with Kotlin. Screeshots : Login UI Sign Up UI User List UI Chat UI Features Store Chat on Fire

Vishal Singh 2 Oct 26, 2022
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Applozic 659 May 14, 2022
AvengersChat is a demo application based on modern Android tech stacks and Stream Chat SDK.

?? Android sample Avengers chat application using Stream Chat SDK based on MVVM (ViewModel, Coroutines, Room, Hilt, Repository) architecture.

Stream 352 Dec 25, 2022
Android Combined Application for chat, audio/video calls, and broadcast to millions of web and app users using VdoTok SDK.

Android Combined Application for chat, audio/video calls, and broadcast to millions of web and app users using VdoTok SDK.

VdoTok 3 Nov 22, 2022
A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

Ratik Tiwari 1 May 22, 2022
A private-chat-only Android App for Secure Scuttlebutt

Tremola README Tremola is a Secure Scuttlebutt (SSB) client for Android that only supports private chat. Tremola aims at having the same functionality

Computer Networks Group 29 Oct 30, 2022
A Chat-Bot Android Application

Sekobanashi_App A Chat-Bot Android Application. Features Sekobanashi is a chat-bot/assistant android application where the user can chat with one of t

Siddharth Singh 3 Nov 5, 2022
A chat app for Android written in Kotlin using MVVM.

Chat App Android About A chat app for Android written in Kotlin using MVVM. Features Authentication: Email and password Google Auth Reset Password Sen

Sreshtha Mehrotra 14 Jul 3, 2022
A chat app for Android written in Kotlin using MVVM.

Chat App Android About A chat app for Android written in Kotlin using MVVM. Features Authentication: Email and password Google Auth Reset Password Sen

Sreshtha Mehrotra 14 Jul 3, 2022
Wurst Plus 3 Chat Server

Wurst Plus 3 Chat Server This is a server for wurst + 3! Ideas/TODO Friend requests Secure key for clients DMs Global Chat Friend's Online Color/rainb

Wurst+ 15 Dec 30, 2022
Simple chat box written in kotlin, requires a redis server

Chat Box A simple chat box written in kotlin which requires a redis server to be used. Features Command Support Online User storage in Redis Easy to u

GrowlyX 2 Jul 17, 2022
Fire Chat

Fire Chat A one-to-one chat app (similar to WhatsApp) built using Kotlin and Firebase. Sceenshots Whenever a user will enter the app a registration pa

Sparsh Nandrajog 3 Apr 23, 2022
Jetchat is a sample chat app built with Jetpack Compose.

Jetchat sample Jetchat is a sample chat app built with Jetpack Compose. To try out this sample app, you need to use Android Studio Arctic Fox You can

Elye 11 Aug 29, 2022
Biblioteca Kotlin com objetivo de facilitar a criação de aplicações de Chat e Chatbots voltadas a Twitch.

Twitch4K O Twitch4K é uma biblioteca Kotlin que tem como objetivo principal facilitar a criação de aplicações de Chat e Chatbots voltadas para a plata

Kotlinautas 2 Dec 3, 2022