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​
| Component | Purpose |
|---|---|
| VerrifloPlayer | Main widget for rendering the classroom |
| VerrifloClient | API integration |
| Customization | UI configuration |
| Events | Event 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​
- Installation — Full setup guide with platform details
- VerrifloPlayer — All widget properties and methods
- Events — Handle classroom lifecycle
Questions? support@verriflo.com