Giter Site home page Giter Site logo

communication-ui-library-android's Introduction

Hero Image

Azure Communication UI Mobile Library for Android

Azure Communication UI Mobile Library is an Azure Communication Services capability focused on providing UI components for common business-to-consumer and business-to-business calling interactions.

Getting Started

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

Prerequisites

Install the packages

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:+'
    ...
}

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.

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

val options = GroupCallOptions(
    communicationTokenCredential,
    UUID.fromString("<GROUP_CALL_ID>"),
    "<DISPLAY_NAME>",
)

val callComposite: CallComposite = CallCompositeBuilder().build()
callComposite.launch(context, options)
CommunicationTokenRefreshOptions communicationTokenRefreshOptions =
        new CommunicationTokenRefreshOptions(() -> "<USER_ACCESS_TOKEN>", true);

CommunicationTokenCredential communicationTokenCredential = 
        new CommunicationTokenCredential(communicationTokenRefreshOptions);

GroupCallOptions options = new GroupCallOptions(
        communicationTokenCredential,
        UUID.fromString("<GROUP_CALL_ID>"),
        "<DISPLAY_NAME>"
    );

CallComposite callComposite = new CallCompositeBuilder().build();
callComposite.launch(context, options);

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

Contributing to the Library

Before developing and contributing to Communication Mobile UI Library, check out our making a contribution guide.
Included in this repository is a demo of using Mobile UI Library to start a call. You can find the detail of using and developing the UI Library in the Demo Guide.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments. Also, please check our Contribution Policy.

Community Help and Support

If you find a bug or have a feature request, please raise the issue on GitHub Issues.

Known Issues

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

Further Reading

communication-ui-library-android's People

Contributors

ahammer avatar iaulakh avatar jamchengms avatar lpx1989 avatar microsoft-github-operations[bot] avatar microsoftopensource avatar mohtasim avatar mrayyan avatar pavelprystinka avatar phileo99 avatar shaunasong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.