23Aug

Create a simple Chatbot App using Botframework & Xamarin.Forms

We can integrate Chatbot API with Xamarin.Forms App using two methods,

  1. Embed Code with Web View or
  2. Native with DirectLine.

In this blog, I shall explain how to integrate Chatbot using embed code with WebView which is simple.

To achieve this, we need to have below 3 things set up

  1. An Azure account
  2. Create Bot Services on azure (For this demo we are using QnA Maker)
  3. Create a Xamarin App

Firstly, let us build an interactive QnA bot with the Cognitive Services of Microsoft. The purpose of this bot is to answer questions based on predefined set of answers.

Steps:

  1. Login to https://www.qnamaker.ai/  and click on Create a knowledge base.

Image1

 

  1. By clicking on Create a QnA service you will be redirected to Azure portal, please fill in all the required details and create a resource.

Image2

  1. After creating a resource come back to QnA Maker and Connect your QnA service to your KB by selecting all the appropriate details and give a name to your KB.

Image3

 

  1. Provide a QnA page URL or upload a QnA sheet. In this example I am using Azure Support FAQs URL https://azure.microsoft.com/en-in/support/faq/. After providing the URL click on Create your KB.

Image4

 

  1. Once your KB is created, click on My Knowledge Bases tab, it should list all the questions and answers from QnA URL provided or from the document you uploaded, click on Save and Train.

Image5

 

  1. You can also test your bot by clicking on Test on top right corner. You may now ask some questions from the QnA to ensure it answers correctly.

Image6

 

  1. Now under the Publish tab click on Publish to finalize your KB.
  2. Make sure to take a note of these 3 info, QnAKnowledgeBaseIdQnAEndPointHostName and QnAAuthKey.

Image7

  1. Now in the Azure Portal, search for Web App Bot. By creating Web App Bot, we can link the bot to the knowledge base and provide the interactive chatbot services on your website, Skype, Cortana, mobile app and many other channels.

Image8

 

  1. Click on Web App Bot, fill in all the required details and create a Question and Answer Bot.

Image9

 

  1. Before testing the bot, configuration of a QnA bot is mandatory. To test your bot in Web Chat, you must set the Application Settings, using your Hostname, KBId and Authkey what you had noted down earlier while publishing the QnA.

Image10

 

  1. Now you can test the bot by clicking on Test in Web Chat. Bot will respond for all the questions from KB.

Image11

Now your Chatbot is up and running 😊

Finally, all you need to do is, create a Xamarin.Forms App and Page with a WebView.

Image12

 

The source for the WebView and the secret keys can be obtained under the Channels tab

Image13

 

After setting source to the WebView, make sure to set your page as the main page in App.cs file, so that bot WebView is up and running once the app is started.

public App()

{       

  InitializeComponent();

  MainPage = new NavigationPage(new AzureFAQBotPage());

}

Once you build and deploy the app to your device, you are all set to chat with the bot 😊

 

Image14

Related

Microsoft Dynamics NAV Control & recognizes add-ins

NAV fill in assembly list table with these 3 fields and when NAV looks for dll it uses these fields ...

Read More >

Access Control in Swift 3

End of this blog you will be able to understand the Access control specifiers open, public,internal,...

Read More >

Create a Basic Bot with the Bot Builder SDK for.NET

A bot is a software that is designed to automate the tasks you would usually do on your own, like bo...

Read More >

ViewData and ViewBag in MVC

ASP.NET MVC provides us two options ViewData and ViewBag for passing data from controller to view.Vi...

Read More >

Implementing iOS Setting Bundle

 iOS Setting Bundle:-Actually sometimes we need to interact our app i.e giving some input value...

Read More >

Dynamics Team commences work on NAV Version Migration for a prestigious client in Malaysia

Canarys Dynamics Team is all excited and geared up to commence work on NAV Version Migration project...

Read More >

Using XMPP and Openfire Server in Windows Phone 8

Implementing Extensible Messaging and Presence Protocol (XMPP) in Windows phone 8 is really a tough ...

Read More >

Implementing Google account authentication in ASP.NET MVC

Implementation of Google OAuth in MVC application: Step 1: Create a Google OAuth application &n...

Read More >

Legacy Migration

vinay.ramamurthy

Read More >

How to print TransHeader and TransFooter in Microsoft Dynamics NAV RDLC reports

We know that TransHeader and TransFooter section types were available in NAV 2009 version but there ...

Read More >

Share

Post a Comment

  • Recent
  • Popular
  • Tag
Tags
Monthly Archive
Subscribe
Name

Contact Us
  • *
  • *