Installation
Get the Verriflo SDK set up in your Flutter project. Takes about 5 minutes.
Requirements​
- Flutter 3.0 or later
- Dart 2.17 or later
- iOS 12.0+ (for iOS builds)
- Android API 21+ (for Android builds)
Step 1: Add the Dependency​
Add to your pubspec.yaml:
dependencies:
verriflo_classroom:
git:
url: https://github.com/Verriflo/Flutter-SDK.git
Then install:
flutter pub get
Step 2: iOS Configuration​
No special permissions (Camera or Microphone) are required for the Verriflo Classroom SDK, as it is designed for viewing only.
Background Audio (Optional)​
If you want your users to continue hearing class audio when the app is minimized, add this to ios/Runner/Info.plist:
<dict>
<!-- ... existing entries ... -->
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
</dict>
Podfile Settings​
Open ios/Podfile and ensure the platform is set correctly:
platform :ios, '12.0'
Then install pods:
cd ios && pod install && cd ..
Step 3: Android Configuration​
AndroidManifest.xml​
The SDK only requires the internet permission. Add it to android/app/src/main/AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Internet (required) -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- Audio settings (recommended for better volume control) -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<!-- Wake lock (optional - keeps device awake during class) -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application ... >
<!-- ... activities ... -->
</application>
</manifest>
[!NOTE] Since this is a viewer-only SDK, you do not need
CAMERAorRECORD_AUDIOpermissions.
Build.gradle Settings​
Make sure your android/app/build.gradle has appropriate min SDK:
android {
defaultConfig {
minSdkVersion 21 // or flutter.minSdkVersion if higher
targetSdkVersion 34
}
}
ProGuard Rules (Release Builds)​
If you use ProGuard/R8, add these rules to android/app/proguard-rules.pro:
# WebView
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String);
}
# Keep JavaScript interface
-keepattributes JavascriptInterface
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
Step 4: Desktop Configuration (Optional)​
The SDK also works on desktop platforms.
macOS​
Add to macos/Runner/DebugProfile.entitlements and Release.entitlements:
<key>com.apple.security.network.client</key>
<true/>
Windows/Linux​
No special configuration needed. Just ensure Flutter is set up for desktop development.
Step 5: Verify Installation​
Create a simple test to verify everything works:
import 'package:flutter/material.dart';
import 'package:verriflo_classroom/verriflo_classroom.dart';
void main() {
runApp(const TestApp());
}
class TestApp extends StatelessWidget {
const TestApp({super.key});
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Verriflo Test')),
body: const Center(
child: Text('SDK imported successfully!'),
),
),
);
}
}
Run it:
flutter run
If it compiles without errors, you're good to go!
Common Installation Issues​
iOS: Pod Install Fails​
Error: CocoaPods could not find compatible versions
Solution:
cd ios
pod deintegrate
pod cache clean --all
pod install
Android: Manifest Merge Conflict​
Error: Manifest merger failed
Solution: Make sure you're not duplicating permissions. Check your manifest for duplicate entries.
Desktop: Missing Entitlements​
Error: sandboxed or permission errors on macOS
Solution: Make sure you added the entitlements to both Debug and Release entitlement files.
Flutter Version Too Old​
Error: Various syntax or API errors
Solution: Upgrade Flutter:
flutter upgrade
Dependencies​
The SDK depends on:
| Package | Purpose |
|---|---|
webview_flutter | WebView rendering |
webview_flutter_android | Android WebView platform |
webview_flutter_wkwebview | iOS WKWebView platform |
permission_handler | Runtime permission requests |
These are installed automatically when you add the SDK.
Updating the SDK​
To get the latest version:
flutter pub upgrade verriflo_classroom
Or force a fresh install:
flutter pub cache clean
flutter pub get
Next Steps​
Now that the SDK is installed:
- VerrifloPlayer Reference — Learn all the widget properties
- Events — Handle classroom events
- Quick Start — End-to-end integration walkthrough
Having installation issues? Email support@verriflo.com.