Contact usRequest a demo

Preliminaries

The Android mobile SDK requires Java 17 and Android version 7 or newer, that is, API version 24 or newer.

Resource usage

The Android mobile SDK is about 3 MB large. The space required after installation is larger and varies with the dependencies required for your use case.

When running, the Android mobile SDK uses around 25 MB of RAM. Initializing the SDK uses an additional 3—​4 MB of RAM.

Due to the variety of CPUs used in Android mobile devices, it’s difficult to state how much the SDK affects CPU usage. As a rough guide, using messaging can cause spikes of up to 10 % in CPU usage. Audio or video calls may result in CPU usage of around 50 %, with RAM usage going up to 400 MB.

Network traffic

During initialization, the SDK downloads about 0.3 MB of JavaScript files. The UI requires downloading around 2.5 MB of additional resources. Some of these downloads may be cached on the device, resulting in less network traffic for later use.

For text messaging, only the message itself and the HTTP request overhead are transmitted.

By default, Unblu transmits an image around five times per second in mobile co-browsing sessions if the content has changed. You can adjust the maximum frame capture rate with the configuration property com.unblu.mobiledevice.androidMaxFpsRate. The size of the image depends on the size of the mobile device’s screen but is typically 5—​20 KB.

You can set the maximum resolution for the images with the following configuration properties:

In audio and video calls, network traffic depends on the quality of the connection, as both Vonage and the LiveKit-based selective forwarding unit (SFU) change the codec based on the network connection.

SDK integration

There are two ways to integrate the Unblu Android mobile SDK into your app:

Maven Central repository

To add the Unblu Android mobile SDK to your project from the Maven Central repository, add the following lines to your app-level build.gradle file:

Listing 1. Integrating the Unblu Android mobile SDK through mavenCentral(), Groovy DSL
    repositories {
      mavenCentral()
      maven { url 'https://jitpack.io' } (1)
}

    dependencies {
        implementation 'com.unblu.mobile-sdk-android:coresdk:4.x.x'(2)
        implementation 'com.unblu.mobile-sdk-android:mobilecobrowsingmodule:4.x.x'(3)
        implementation 'com.unblu.mobile-sdk-android:callmodule:4.x.x'(2)(3)
        implementation 'com.unblu.mobile-sdk-android:livekitmodule:4.x.x'(2)(4)
        implementation 'com.unblu.mobile-sdk-android:firebasenotificationmodule:4.x.x'(2)
    }
1 Required if you use the Unblu LiveKit module.
2 Unblu-related dependencies; replace 4.x.x with the specific build version you want to use.
3 This module is required if you use Vonage for audio and video calls. The module has a dependency on the Vonage Video API Android SDK .
4 This module is required if you use LiveKit for audio and video calls. The module has a dependency on the Android SDK for LiveKit.
Listing 2. Integrating the Unblu Android mobile SDK through mavenCentral(), Kotlin DSL
    repositories {
        mavenCentral()
        maven(url = "https://jitpack.io") (1)
    }

    dependencies {
        implementation('com.unblu.mobile-sdk-android:coresdk:4.x.x')(2)
        implementation('com.unblu.mobile-sdk-android:mobilecobrowsingmodule:4.x.x')(2)
        implementation('com.unblu.mobile-sdk-android:callmodule:4.x.x')(2)(3)
        implementation('com.unblu.mobile-sdk-android:livekitmodule:4.x.x')(2)(4)
        implementation('com.unblu.mobile-sdk-android:firebasenotificationmodule:4.x.x')(2)
    }
1 Required if you use the Unblu LiveKit module.
2 Unblu-related dependencies; replace 4.x.x with the specific build version you want to use.
3 This module is required if you use Vonage for audio and video calls. The module has a dependency on the Vonage Video API Android SDK .
4 This module is required if you use LiveKit for audio and video calls. The module has a dependency on the Android SDK for LiveKit.
Before updating the Unblu Android mobile SDK in your project, make sure the version of the SDK you want to use is compatible with the version of the Unblu Collaboration Server that your organization uses. For more information, refer to Collaboration Server and mobile SDK compatibility.

Android Archive integration

Unblu provides Android Archive (AAR) files, with additional JAR files for the source code and Javadoc of public classes. These files are delivered as a single .tar.gz file for the SDK. Internally, the TAR files are structured like a Maven repository.

The *-public-sources.jar files only contain the sources for the public API part and can’t be used as libraries because they don’t contain the internal classes.

To integrate the Unblu Android mobile SDK, extract the TAR files in your app’s project folder. To add the SDK to the project, add the following lines to the app/build.gradle file so that all the SDK’s dependencies are retrieved automatically:

Listing 3. app/build.gradle entries for the Unblu Android mobile SDK
repositories {
    //...
    mavenCentral() (1)
    maven { url 'https://jitpack.io' } (2)
    maven {
        url "../unblu-mobile-sdk"
    }
}
//...
dependencies {
    //...
    implementation 'com.unblu.mobile-sdk-android:coresdk:4.x.x' (3)
    implementation 'com.unblu.mobile-sdk-android:firebasenotificationmodule:4.x.x' (3)
    implementation 'com.unblu.mobile-sdk-android:callmodule:4.x.x' (3)(4)
    implementation 'com.unblu.mobile-sdk-android:livekitmodule:4.x.x' (3)(5)
    implementation 'com.unblu.mobile-sdk-android:mobilecobrowsingmodule:4.x.x' (3)
}
1 Required if you use the Unblu audio and video call feature in your app.
2 Required if you use the Unblu LiveKit module.
3 Unblu-related dependencies; replace 4.x.x with the specific build version you want to use.
4 This module is required if you use Vonage for audio and video calls. The module has a dependency on the Vonage Video API Android SDK .
5 This module is required if you use LiveKit for audio and video calls. The module has a dependency on the Android SDK for LiveKit.
Listing 4. app/build.gradle.kts entries for the Unblu Android mobile SDK
repositories {
    //...
    mavenCentral() (1)
    maven { url = uri('https://jitpack.io') } (2)
    maven {
        url = uri("../unblu-mobile-sdk")
    }
    //...
    implementation('com.unblu.mobile-sdk-android:coresdk:4.x.x') (3)
    implementation('com.unblu.mobile-sdk-android:firebasenotificationmodule:4.x.x') (3)
    implementation('com.unblu.mobile-sdk-android:callmodule:4.x.x') (3)(4)
    implementation('com.unblu.mobile-sdk-android:livekitmodule:4.x.x') (3)(5)
    implementation('com.unblu.mobile-sdk-android:mobilecobrowsingmodule:4.x.x') (3)
}
1 Required if you use the Unblu audio and video call feature in your app.
2 Required if you use the Unblu LiveKit module.
3 Unblu-related dependencies; replace 4.x.x with the specific build version you want to use.
4 This module is required if you use Vonage for audio and video calls. The module has a dependency on the Vonage Video API Android SDK .
5 This module is required if you use LiveKit for audio and video calls. The module has a dependency on the Android SDK for LiveKit.

The Unblu SDK’s firebasenotificationmodule uses Firebase Cloud Messaging for push notifications. For Firebase to work correctly, you must add the google-services.json file from your Firebase project to your app and append the following line at the end of your app’s build.gradle file.

Listing 5. Entry for Firebase Cloud Messaging, used for push notifications, in app/build.gradle
apply plugin: 'com.google.gms.google-services'
You don’t need to set up Firebase in your code. The SDK does this automatically if you enable push notifications.

See also