Platform docs
Auth, users, webhooks & more

Installation

Dependencies

All Stream Android libraries are available from MavenCentral. Most Android projects already include MavenCentral by default, but verify your repositories configuration includes it.

In your settings.gradle file, ensure these repositories are configured:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

Or if you're using an older project setup, add these repositories in your project level build.gradle file:

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

Check the Releases page for the latest version and the changelog.

Stream Video Android Core

Available Artifacts

Core Client

To add the low-level Video client library to your app, open your module's build.gradle script and add the following:

dependencies {
    implementation("io.getstream:stream-video-android-core:$stream_version")
}

Compose Video UI Components

To use the Compose Video Components instead, add the following dependency:

dependencies {
    implementation("io.getstream:stream-video-android-ui-compose:$stream_version")
}

Adding the Compose Video Components library as a dependency will automatically include the client library.

Push Notifications

We ship multiple artifacts to easily integrate Stream Video with third party push notification providers. See the Push Notification page for more details.

Video Filters

We offer two AI video filters (background blur and virtual background) in a separate artifact. See the Video & Audio Filters page for more details.

Permissions

The Stream Video SDK requires the following permissions in your AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

These permissions are automatically merged from the SDK's manifest, so you typically don't need to add them manually. However, you must request runtime permissions for camera and microphone before joining a call.

The SDK provides the LaunchCallPermissions composable to handle this automatically. See the Permission Requests guide for detailed information on requesting permissions.

BOM (Bill of Materials)

The Stream Video Bill of Materials (BOM) simplifies dependency management by allowing you to specify only the BOM's version, ensuring compatibility across all Stream Video SDKs. The BOM references stable versions of the SDKs that work seamlessly together, eliminating the need to manually specify versions for individual dependencies. When you update the BOM version, all associated libraries automatically update to their latest compatible versions, streamlining the upgrade process.

dependencies {
    // Import the Stream Video SDK BOM
    implementation(platform("io.getstream:stream-video-android-bom:$version"))

    // Now add dependencies without versions - BOM manages them
    implementation("io.getstream:stream-video-android-core")
    implementation("io.getstream:stream-video-android-ui-core")
    implementation("io.getstream:stream-video-android-ui-compose")
    implementation("io.getstream:stream-video-android-filters-video")
    implementation("io.getstream:stream-video-android-previewdata")
}
Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Video Android v1: <Your Question>