Skip to main content

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 CAMERA or RECORD_AUDIO permissions.

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:

PackagePurpose
webview_flutterWebView rendering
webview_flutter_androidAndroid WebView platform
webview_flutter_wkwebviewiOS WKWebView platform
permission_handlerRuntime 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:

  1. VerrifloPlayer Reference — Learn all the widget properties
  2. Events — Handle classroom events
  3. Quick Start — End-to-end integration walkthrough

Having installation issues? Email support@verriflo.com.