Documentation

Installation

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

Requirements

  • Flutter 3.19.0+
  • Dart SDK 3.3.0+
  • iOS 14.0+
  • Android API 26+ (Android 8.0)

Installation

flutter pub add upscopeio_flutter_sdk

Or add it manually to your pubspec.yaml:

dependencies:
  upscopeio_flutter_sdk: ^2026.4.9

Then run:

flutter pub get

Initialization

Register the method channel and initialize the SDK early in your app:

import 'package:upscopeio_flutter_sdk/upscopeio_flutter_sdk.dart';

void main() {
  UpscopeMethodChannel.register();
  runApp(const MyApp());
}

Then initialize in your root widget:

import 'package:upscopeio_flutter_sdk/upscopeio_flutter_sdk.dart';

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    _initUpscope();
  }

  Future<void> _initUpscope() async {
    await Upscope.instance.initialize(
      UpscopeConfiguration(apiKey: 'YOUR_API_KEY'),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

The SDK auto-connects by default. To disable this, set autoConnect: false in the configuration and call Upscope.instance.connect() manually when ready.

Public API Key

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

ConnectionState Name Collision

Flutter's material.dart exports its own ConnectionState. To avoid conflicts, hide it when importing the SDK:

import 'package:flutter/material.dart' hide ConnectionState;
import 'package:upscopeio_flutter_sdk/upscopeio_flutter_sdk.dart';

Full Device Screen Sharing

The Flutter SDK supports full device screen sharing, but it requires platform-specific setup:

Lookup Code on Shake

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