Documentation

Installation

Beta
The mobile SDKs are currently in beta. If you encounter any issues, please contact us.

Requirements

  • Android API 26+ (Android 8.0 Oreo)
  • Kotlin 1.9+
  • Gradle 8.2+
  • JDK 17+

Installation

Add the dependency to your app's build.gradle:

dependencies {
    implementation("io.github.upscopeio:upscope-android-sdk:2026.4.6")
}

Initialization

Initialize the SDK in your Application class:

import io.upscope.sdk.Upscope
import io.upscope.sdk.UpscopeConfiguration

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        val config = UpscopeConfiguration.Builder("YOUR_API_KEY")
            .build()

        Upscope.initialize(this, config)
    }
}

The SDK auto-connects by default. To disable this, call .autoConnect(false) on the builder and call Upscope.connect() manually when ready.

The SDK automatically binds to the current activity via lifecycle callbacks. No manual activity binding is needed.

Jetpack Compose Example

import io.upscope.sdk.Upscope
import io.upscope.sdk.UpscopeConfiguration

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        val config = UpscopeConfiguration.Builder("YOUR_API_KEY")
            .build()

        Upscope.initialize(this, config)
    }
}

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyApp()
        }
    }
}

Public API Key

You can find your public API key in the installation page of your UserView dashboard.

Required Permissions

The SDK declares these permissions (automatically merged into your manifest):

  • INTERNET — WebSocket connection to servers
  • ACCESS_NETWORK_STATE — Network connectivity checks

No special permissions are required for in-app screen capture.

Full device screen sharing must be enabled in the UserView dashboard and also requires adding two extra permissions to your AndroidManifest.xml. Without them, the SDK automatically disables full device screen sharing. See the full device screen sharing guide for details.

Lookup Code on Shake

By default, shaking the device will display the lookup code in a dialog. This can be disabled via configuration options.