Build an Android Chatbot With Dialogflow

Previously, we presented you with a simple and effective guide to integrating a Dialogflow bot in a website. In this article, we will be sharing steps to do the same in an Android app. All you need to build a sample chatbot for an android app is Dialogflow and Kommunicate.

Below is an example of Kommunicate Support Bot developed in android using Dialogflow. If you wish to see the bot live in action, head here and click on the chat icon from the bottom right corner.

The actionable rich messaging powered bot can reply based on whether users are on chat for general queries, technical queries or scheduling a demo.

You can use your existing Dialogflow bot or check out bot samples to build a qualifying bot of your own. Download the Kommunicate Support Bot from here and import it into your Dialogflow account.

Kommunicate Support Bot Sample

Step 1: Setup an Account in Kommunicate

This is fairly simple. You can get a free account in Kommunicate. Sign up and navigate to the Bot section. Click on Settings in the Dialogflow block.

Integrating your Dialogflow bot with Kommunicate

Upload your Dialogflow provided client keys. In case you are using Dialogflow V1, you can copy/paste your client and dev tokens. However, we recommend using Dialogflow V2 for the latest capabilities.

Step 2: Install Dialogflow Integrated Android Chatbot SDK Into Your App

Add Android SDK to Your App

Installing Kommunicate in your Android app is easy and fast. Kommunicate SDK comes with a pre-configured Dialogflow integration.

Add the following in your app build.gradle dependency:

implementation 'io.kommunicate:kommunicate:1.9.0'

Initialize SDK

After the Gradle sync has finished with kommunicate dependency, you can initialize the SDK by calling the below method:

Kommunicate.init(context, APP_ID);

You can get the APP_ID by signing up on Kommunicate Dashboard. For the full documentation, go here.

Sample Android App With Dialogflow Chatbot

Here is a sample android app that has a Dialogflow chatbot integrated. Download and run it in Android studio.

Step 3: Launch Android Chat App With a Dialogflow-Integrated Chatbot

Now, you can send the payload to Dialogflow through chat screen and get a text response from a Dialogflow Agent.

Kommunicate provides a ready-to-use Chat UI, so only launching the chat screen is required in this step.

Here are the instructions for launching the chat with the Dialogflow bot:

List<String> agentList = new ArrayList();
agentList.add(""); //add your agentID List<String> botList = new ArrayList();
botList.add("bot1"); //enter your integrated bot Ids Kommunicate.launchSingleChat(context, "Support", Kommunicate.getVisitor(), false, true, agentList, botList, new KmCallback(){ @Override public void onSuccess(Object message) { Log.d(context, "ChatLaunch", "Success : " + message); } @Override public void onFailure(Object error) { Log.d(context, "ChatLaunch", "Failure : " + error); } });

That’s all! Run the Android app and chat with the Dialogflow bot. You can easily integrate Dialogflow in Android apps in a few simple steps. In case you need more information, you can check out the Kommunicate documentation.

Dialogflow Android SDK

Dialogflow provides Android Client SDK that makes it easy to integrate speech recognition with API.AI natural language processing API on Android devices. If you are looking to develop your own chat implementation and directly integrate Dialogflow into your Android app without Kommunicate SDK, then integrate with the following SDK.

Github – Dialogflow Android Client SDK

This UrIoTNews article is syndicated fromDzone