Build an Android Chatbot With Dialogflow
Look at the steps to integrate a Dialogflow bot in an Android app.
Join the DZone community and get the full member experience.
Join For FreePreviously, 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.
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.
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.
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 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("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.
Opinions expressed by DZone contributors are their own.
Comments