Skip to main content

Flutter SDK Overview

The Verriflo Flutter SDK lets you embed live classrooms directly in your mobile app. Students get a native experience—no browser required.

What's Included​

The SDK provides:

  • VerrifloPlayer widget — Drop-in video player with built-in controls
  • VerrifloClient — API client for creating and joining rooms
  • VerrifloPlayerController — Programmatic control (force leave, change quality)
  • Event system — Callbacks for class lifecycle (ended, kicked, reconnecting)
  • State management — Track connection status and respond accordingly
  • Quality control — Auto-adaptive or manual quality selection

Quick Example​

Here's the simplest way to show a live classroom:

import 'package:verriflo_classroom/verriflo_classroom.dart';

class ClassPage extends StatelessWidget {
final String iframeUrl; // From CreateRoomResponse or JoinRoomResponse

const ClassPage({required this.iframeUrl, super.key});


Widget build(BuildContext context) {
return Scaffold(
body: VerrifloPlayer(
iframeUrl: iframeUrl,
onClassEnded: () => Navigator.of(context).pop(),
onKicked: (reason) {
showDialog(
context: context,
builder: (_) => AlertDialog(
title: const Text('Removed from class'),
content: Text(reason ?? 'You were removed by the instructor.'),
),
);
},
),
);
}
}

The player handles video rendering, quality adaptation, and connection management automatically.

Architecture​

The SDK uses a WebView under the hood. This approach guarantees feature parity with the web platform and instant updates.

SDK Components​

ComponentPurpose
VerrifloPlayerMain widget for rendering the classroom
VerrifloClientAPI integration
CustomizationUI configuration
EventsEvent types and handling

Getting Started​

1. Install the SDK​

Add to your pubspec.yaml:

dependencies:
verriflo_classroom:
git:
url: https://github.com/Verriflo/Flutter-SDK.git

2. Configure Platforms​

iOS — No special permissions required. Android — Add internet permission to AndroidManifest.xml.

(See Installation for details)

3. Join a Room​

Use the client to get a token:

final client = VerrifloClient(
baseUrl: 'https://api.verriflo.com',
organizationId: 'your-org-id',
);

final response = await client.joinRoom('room-123', JoinRoomRequest(
participant: Participant(uid: 'user-1', name: 'User', role: ParticipantRole.student),
));

// Pass response.iframeUrl to VerrifloPlayer

Design Philosophy​

The SDK is intentionally minimal. We believe in:

Do one thing well. The SDK shows live video. Your app handles everything else—navigation, chat, polls, user management.

Sane defaults. Works out of the box without configuration. But you can customize when needed.

Graceful degradation. When things go wrong (network drops, errors), the SDK handles it smoothly without crashing your app.

When to Use the SDK​

Use the Flutter SDK when:

  • Building a mobile student experience
  • You want a native app feel

Use the iframe approach when:

  • Building for web

Next Steps​

  1. Installation — Full setup guide with platform details
  2. VerrifloPlayer — All widget properties and methods
  3. Events — Handle classroom lifecycle

Questions? support@verriflo.com