Manual

Android Kotlin SDK

Integrate the Android AAR, coroutine APIs, clip browser, secure playback keys, and Media3.

Install

Consume the published Maven coordinates or local release repository produced by the package script. The handoff includes the AAR, sources JAR, POM, Gradle module metadata, manifest, checksum, and packaged-consumer smoke report. Configure Internet permission and the deployment's TLS/network security policy without disabling certificate verification.

Client usage

Create RtkCloudClient with the HTTPS base URL, device identifier where required, and the SDK HTTP/WebSocket adapters. Call blocking APIs only from a worker thread. Prefer the Async or coroutine variants from view models and services. Map RtkCloudException.status to stable application states and redact responseBody before diagnostics.

Stored video browser

Construct ClipQuery with bearer token, optional device and event filters, optional time range, positive limit, and non-negative skip. listClips and listClipsAsync return ClipPage, containing typed ClipSummary values, total count, and optional nextSkip. Use downloadThumbnail for preview bytes and deleteClip only after explicit confirmation.

Live WebRTC

The SDK supplies cloud authentication, ICE, offer/answer/close, stable errors, and signaling-session helpers. The product app connects that session data to its Android WebRTC peer connection, tracks, renderer, audio policy, and lifecycle. The SDK does not bundle a complete media renderer.

Encrypted playback

Implement PlaybackKeyProvider behind Android Keystore-backed code. The provider receives ClipSummary and the server PlaybackKey, and returns PlaybackKeyMaterial. Pass the selected clip to createPlaybackSession; the SDK obtains the server key and submits only wrapped material. Give playbackUrl to Media3/ExoPlayer and release the player with the UI lifecycle.

Authentication and PKI

Keep bearer tokens in memory or encrypted app storage. Android PKI helpers integrate platform key references without exporting the private key. Do not put tokens, playback URLs, wrapped keys, or private key identifiers into saved UI state, analytics, or debug exports.

Validation

Run package unit tests, Android instrumentation tests where a device/emulator is available, the AAR consumer smoke, sample unit tests, and the sample UI smoke. Live-cloud tests require explicit runtime credentials and must never be enabled in untrusted pull requests.

Other manual chapters

Continue with related manual sections.

SDK overview

Choose the right package and understand support boundaries.

Open section

Getting started

Install an SDK, configure a client, and complete a first request.

Open section

Authentication and security

Handle bearer tokens, PKI, TLS, keys, and sensitive media safely.

Open section

Lifecycle and errors

Apply timeout, retry, cancellation, callback, and shutdown rules.

Open section

Capability workflows

Integrate provisioning, devices, telemetry, OTA, commands, and signaling.

Open section

Video Cloud workflows

Integrate Live WebRTC signaling and encrypted stored-video upload, browsing, and playback.

Open section

Native C and C++ SDK

Use the stable C ABI, thin C++ wrapper, transports, and streaming uploads.

Open section

iOS Swift SDK

Use Swift APIs, async operations, AVPlayer, Keychain, and Secure Enclave boundaries.

Open section

JavaScript and TypeScript SDK

Integrate the typed ESM package in browser and Node.js applications.

Open section

Go SDK

Use the pure Go client for devices, tools, and automation.

Open section

FreeRTOS and Pro2 SDK

Integrate board adapters, device transport, and WebRTC answerer boundaries.

Open section

Sample applications

Build and use the Android, iOS, Web, Linux, and Pro2 reference samples.

Open section

Troubleshooting and compatibility

Diagnose common integration problems and identify deprecated behavior.

Open section