The Upscope Android SDK enables cobrowsing functionality in Android applications, allowing support agents to view and interact with your users' screens in real-time.
Add JitPack repository and the dependency to your app's build.gradle file:
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.upscopeio:cobrowsing-android:v2026.2.3'
}Add JitPack repository and the dependency to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.upscopeio</groupId>
<artifactId>cobrowsing-android</artifactId>
<version>v2026.2.3</version>
</dependency>In your Application class:
import io.upscope.sdk.UpscopeManager
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize Upscope SDK
UpscopeManager.create(
apiKey = "your_api_key_here",
context = this
)
}
}In your main Activity:
import io.upscope.sdk.UpscopeManager
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Set up app-level screen capture
UpscopeManager.shared?.setupWithActivity(this)
}
}// Connect to Upscope servers
UpscopeManager.shared?.connect()
// Get a lookup code for easy session connection
val lookupCode = UpscopeManager.shared?.getLookupCode()
// Share this code with your support agentUpscopeManager.shared?.addConnectionStatusObserver { status ->
when (status) {
ConnectionStatus.Connected -> {
// SDK is connected and ready
}
ConnectionStatus.Disconnected -> {
// SDK is disconnected
}
ConnectionStatus.Connecting -> {
// SDK is attempting to connect
}
}
}The SDK uses app-only capture which:
- Captures only your app's content, not the entire device screen
- Requires no special permissions from users
- Provides better privacy and security
- Works seamlessly with all Activities that extend ComponentActivity
Protect sensitive information during screen sharing:
// Mark a view as redacted
sensitiveView.markAsRedacted()// Use the redaction modifier
TextField(
value = password,
onValueChange = { password = it },
modifier = Modifier.upscopeRedacted()
)Enable redaction globally:
UpscopeManager.shared?.redactionEnabled = true- Minimum SDK: Android API 21 (Android 5.0)
- Target SDK: Android API 34+
- Kotlin: 1.8.0 or higher
- Gradle: 7.0 or higher
The SDK requires minimal permissions:
INTERNET- For connecting to Upscope serversACCESS_NETWORK_STATE- For checking network connectivity
No camera, microphone, or system-level screen capture permissions are required.
- Email: support@upscope.io
- Documentation: https://docs.upscope.io
- GitHub Issues: https://github.com/upscopeio/cobrowsing-android/issues
This SDK is proprietary software. See LICENSE for more information.
Current version: 2026.2.3