Build Android Chatbot with Dialogflow (API.ai)

Devashish Datt Mamgain
Kommunicate
Published in
3 min readNov 27, 2018

Previously, we presented you with a simple and effective guide to integrating 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. We actually use this bot on our website. If you wish to see the bot live in action, head here.

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

Create a free Chatbot

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

Step 1: Setup an account in Kommunicate

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

Upload your Dialogflow provided client keys. In case you are using Dialogflow V1, you can copy paste your client and dev tokens. Though, 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 pre-configured dialogflow integration.

Free Trial for 30 Days
strong>Installation
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 full documentation, refer here.

Sample Android app with Dialogflow Chatbot

Here is a sample android app which has dialogflow chatbot integrated. Download and run it in the Android studio.

Step 3: Launch Android chat app with Dialogflow integrated chatbot

Now, you can send the payload to dialogflow through chat screen and get the text response from 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 Dialogflow bot:

List<String> agentList = new ArrayList();
agentList.add("agent1@yourdomain.com"); //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

Kommunicate makes it simple for you to build and deploy Dialogflow chatbots. Read more about it here:

  1. Integrate Dialogflow (Api.ai) Bot into Website
  2. Beginner’s Guide to Creating Chatbots Using Dialogflow
  3. Dialogflow vs Rasa — Which One to Choose?

Try For Free

This post wast originally published here.

--

--

Devashish Datt Mamgain
Kommunicate

Cofounder @kommunicate.io, love building products and writes about technology .