Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A banner image that shows some use cases of the Calling library

Azure Communication UI Mobile Library for Android - Calling

Latest Release

Getting Started

Get started with Azure Communication Services by using the Calling UI Library to integrate communication experiences into your applications. For detailed instructions to quickly integrate the Calling UI Library functionalities visit the Quick-start Documentation.

Installation

In your app level (app folder) build.gradle, add the following lines to the dependencies and android sections.

android {
    ...
    packagingOptions {
        pickFirst  'META-INF/*'
    }
    ...
}
dependencies {
    ...
    implementation 'com.azure.android:azure-communication-ui-calling:1.11.0'
    ...
}

In your project gradle scripts add following lines to repositories. For Android Studio (2020.*) the repositories are in settings.gradle dependencyResolutionManagement(Gradle version 6.8 or greater). If you are using old versions of Android Studio (4.*) then the repositories will be in project level build.gradle allprojects{}.

repositories {
    ...
    mavenCentral()
    maven {
        url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1"
    }
    ...
}

Sync project with gradle files. (Android Studio -> File -> Sync Project With Gradle Files)

Quick Sample

Create CallComposite and launch it. Replace <GROUP_CALL_ID> with your group ID for your call, <DISPLAY_NAME> with your name, and <USER_ACCESS_TOKEN> with your token. For full instructions check out our quickstart or get the completed sample.

val communicationTokenRefreshOptions = CommunicationTokenRefreshOptions({ "<USER_ACCESS_TOKEN>" }, true)
val communicationTokenCredential = CommunicationTokenCredential(communicationTokenRefreshOptions)

val locator: CallCompositeJoinLocator = CallCompositeGroupCallLocator(UUID.fromString("GROUP_CALL_ID"))
val callComposite: CallComposite = CallCompositeBuilder()
    .applicationContext(this.applicationContext)
    .credential(communicationTokenCredential)
    .displayName("DISPLAY_NAME").build()

callComposite.launch(this, locator)
CommunicationTokenRefreshOptions communicationTokenRefreshOptions =
        new CommunicationTokenRefreshOptions(() -> "<USER_ACCESS_TOKEN>", true);

CommunicationTokenCredential communicationTokenCredential = 
        new CommunicationTokenCredential(communicationTokenRefreshOptions);

final CallCompositeJoinLocator locator = new CallCompositeGroupCallLocator(UUID.fromString("GROUP_CALL_ID"));

CallComposite callComposite = new CallCompositeBuilder()
        .applicationContext(this.getApplicationContext())
        .credential(communicationTokenCredential)
        .displayName("DISPLAY_NAME").build();
callComposite.launch(this, locator);

For more details on Mobile UI Library functionalities visit the API Reference Documentation.

Accessibility

Previous Android API devices could perform accessibility differently comparing to the latest version. We ran through accessibility testing on previous Android API (26, 27, 28) devices to detect the possible differences on accessibility performance.

When focusing on buttons, screen reader will not announce "double tap to activate".
There is no initial focus on setup screen.
The state/selected change for audio device select menu and video/mic/switch camera buttons may not be announced.
The snackbar on setup screen with error message will not be focused and announced.
The state/selected change for audio device select menu and video/mic/switch camera buttons may not be announced.
The snackbar on setup screen with error message may take more time to show up. 

Known Issues

Please refer to the wiki for known issues related to the library.

Further Reading