React Native Quick Start
This guide is related to Android on React Native
Before you start
You need to have the following software installed on your system:
npm or yarn installed
React Native version > 0.56.0 (recommended)
Basic understanding of Buddy Concepts
Step 0: Setup
First off, open your React Native app in your favorite IDE and terminal , cd <path-to-your-project>
to your project folder. For the remainder of this guide, we'll assume that the app is called MyAwesomeApplication.
Step 1: Add Slang library dependency
Depending on your package management system, you can follow the steps under the appropriate tab below to add a dependency to Slang's React Native SDK.
If your React Native version is < 0.60.0 you would need to link react-native-slang with the command below.
Next in your react native project open the file in this location:
`path/to/MyAwesomeApplication/android/build.gradle `
and add the code below under allprojects { repositories { ...
This adds the required maven repository to your android part of the project
Step 2: Gather credentials from Slang Console
If you haven't already configured your app's use cases in the Slang Console, please head to console.slanglabs.in and follow the steps in the Building Your First Buddy guide.
Once you've built a buddy corresponding to your app's use-cases, gather the API key and Buddy ID and have them handy for integration. For details on how to obtain these credentials from the Console, see here.
Step 3: Initialize Slang
Once you have Slang installed in your application, by following either of the above two methods, you have to initialize Slang. This will add a Slang mic (trigger) as an overlay on your react native app.
For most use cases you can initialise Slang in the App.js ( or equivalent component ).
With these code changes, when the app is run, Slang will be initialized Trigger will be automatically inserted. Users of the app will now be able to click on this trigger to initiate the voice experience and start talking. But, by default, no action will occur after the user finishes speaking. In order for actions to occur, we need to write action handlers.
Step 4: Write action handlers
As users talk, Slang attempts to understand what they're saying and take appropriate action. Every utterance of each user that is understood by Slang will result in an "Intent" being recognized and the appropriate action for the Intent being called.
To understand the details behind Intents, please see the section on Intents in Buddy Building Tips.
In your app, you can write action handlers that specify what actions need to be performed when intents are recognized by Slang.
In the above code the intentHandler
function calls the appropriate UI action depending on the intent.name
. The functions showCars()
and showBikes()
are existing functions on your app.
Slang.setIntentActionHandler
can be called inside the lifecycle method ComponentDidMount
for your stateful component.
The "action" method of your intent handler will be called every time an "Intent" is detected by Slang. This is where you can trigger functionality that exists in your app that corresponds to the detected intent/use-case. The logic can be as simple as updating a UI component in the app.
In the above code the component updates the background image in this app with cars or bikes depending on the intent.name passed by Slang. The setIntentActionHandler is called when the component mounts with the intentHandler . The intentHandler with a switch statement, calls the appropriate function to update the state and display the image.
Step 5: Run the app
Congratulations! That's all there is to integrating Slang with your React Native app. Now, when you run your app, the trigger should appear automatically. Clicking on it and speaking an utterance configured for an app's use-case should perform the appropriate action.
Last updated