TeamViewer TeamViewer Mobile SDKs – Documentation

Start here to integrate Screen Sharing or Assist AR remote support into your Android app.

Overview

There are two SDKs you can integrate depending on your use case:

ScreenSharing SDK

Share the content of your own app securely with a remote expert. Ideal for enabling remote guidance and support directly within your application.

Open ScreenSharing SDK Docs →

Assist AR SDK

Integrate TeamViewer Assist AR into your app to provide AR remote support experiences. Note: This module depends on the TeamViewer ScreenSharing SDK.

Open Assist AR Docs →

How to use the SDKs?

Requirements

  • minSdkVersion 26 or newer
  • Kotlin 2.2.0 or newer
  • JDK 21 or newer

Usage

  • Apply Kotlin Plugin version 2.2.0 or newer
  • Add the TeamViewer SDK repository to your repositories in settings.gradle.kts:
    dependencyResolutionManagement {
        repositories {
            maven {
                url = uri("https://pkgs.dev.azure.com/TeamViewerMobileSDK/android/_packaging/android%40Release/maven/v1")
                name = "teamviewerSdkCredentials"
                credentials(PasswordCredentials::class)
                authentication.create<BasicAuthentication>("basic")
            }
        }
    }
  • Add or edit the gradle.properties file in ${user.home}/.gradle or the project directory. Generate a Personal Access Token with Packaging read scopes and paste it into the PERSONAL_ACCESS_TOKEN placeholder.
    teamviewerSdkCredentialsUsername=TeamViewerMobileSDK
    teamviewerSdkCredentialsPassword=PERSONAL_ACCESS_TOKEN

Screen Sharing SDK

Add the following to your build.gradle.kts:

dependencies {
    implementation("com.teamviewer.sdk:screensharing:<VERSION>")
}

Latest version: Latest SDK version badge

See ScreenSharingWrapper in the sample app for next steps on how to configure the SDK and establish a TeamViewer session through the SDK.

Assist AR SDK

The Assist AR SDK depends on the TeamViewer ScreenSharing SDK.

Add the following to your build.gradle.kts:

dependencies {
    implementation("com.teamviewer.sdk:assistar:<VERSION>")
}

Latest version: Latest SDK version badge

See ScreenSharingWrapper in the sample app for next steps on how to configure the SDK and establish a TeamViewer session through the SDK.

Permissions

The following permissions will be automatically added:

  • android.permission.RECORD_AUDIO
  • android.permission.CAMERA
  • android.permission.WRITE_EXTERNAL_STORAGE for Android Sdk 28 and below when file is received from expert/supporter side

Notification

  • <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> needs to be added to your AndroidManifest.xml
    It is required to show an ongoing session notification during a call to keep the VoIP connection alive, even if the user puts your app in the background.
  • Create a NotificationChannel in your app or reuse an existing one. The channel doesn't need a high priority or any ringing or vibration.
    It is designed to be a silent notification.
  • You don't need the POST_NOTIFICATIONS permission if you don't want to show the notification at all on Android devices greater than Android 13.
import androidx.core.app.NotificationChannelCompat
import androidx.core.app.NotificationManagerCompat
      
val notificationChannel = NotificationChannelCompat.Builder("<Channel_ID>", NotificationManagerCompat.IMPORTANCE_LOW)
    .setName("<Channel_Title>")
    .setDescription("<Description>")
    .build()
NotificationManagerCompat.from(this).createNotificationChannel(notificationChannel)