Skip to main content

Android - Integrating the SDK

SDK Setup

Requirements

To use the Voice SDK you need:

Setup the development environment

Complete the following steps to setup your Android studio development environment:

  1. Open Android Studio and click Start a new Android Studio project.

850

  1. In the Select a Project Template window, select a template of your choice and click Next.

850

  1. In the Configure Your Project window:
  • Enter the name of your app and your Package name.
  • Enter the location of where your project will be saved
  • Select either Kotlin or Java as the language
  • Select API 26: Android 8.0 (Oreo) as the Minimum SDK and click Finish.

850

Note:: The Voice SDK APIs expose Kotlin coroutine APIs such as Flows and suspend functions. The easiest way to consume such APIs from Java is to use RxJava in conjunction with coroutine to Rx extensions.

Add the Voice SDK as a dependency

Confirm you have the latest dependency version:

  1. Add the following to your top-level build.gradle file:

820

allprojects {
repositories {
...
maven {
url "https://github.com/8x8Cloud/voice-sdk-android/raw/master/releases/"
}
}
}

  1. Add the Wavecell dependency as well as sourceCompatibility in your app-level build.gradle file:

818

android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
...
implementation "com.eght:wavecell-voice-sdk:[LATEST_VERSION]"
}

  1. Click on File > Sync Project with Gradle Files.

You can now use the Voice SDK in your application.

Permissions

Add the following uses-permission elements to your AndroidManifest:

<manifest>
...
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
</manifest>

If your application is targeting API level 31+ also include the

<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />