SDK documentation
Install the Fabre SDK
Install the Flutter, Android or iOS SDK in your app. Downloads do not require an account or repository access.
Public beta Android 0.1.0-beta.1 · iOS 0.1.0-beta.1 · Flutter 0.1.0-beta.1
| Platform | Installation | Availability |
|---|---|---|
| Android | Gradle | Public beta |
| iOS | SPM | Public beta |
| Flutter | pub.dev | Public beta |
| React Native / Expo | npm | Public package in preparation |
| Unity | UPM | Public package in preparation |
Android
Android 8.0 (API 26) or later. Validated with JDK 17, Kotlin 2.2.20, AGP 8.11.1 and compileSdk 36.
1. Register the repository
Add this repository to the existing dependencyResolutionManagement.repositories block in settings.gradle.kts. Keep your other repositories and project settings.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
exclusiveContent {
forRepository {
maven {
url = uri("https://sdk.affisto.com/fabre/maven")
}
}
filter { includeGroup("com.affisto.fabre") }
}
}
}2. Add the SDK
Add the dependency in your app module’s build.gradle.kts. Keep a higher minSdk value if your app already uses one.
android {
defaultConfig { minSdk = 26 }
}
dependencies {
implementation("com.affisto.fabre:android:0.1.0-beta.1")
}3. Sync and build
In Android Studio, choose Sync Project with Gradle Files, then build your app. Pin the exact version rather than using “+”.
Optional: OkHttp integration
Add the adapter if you want to integrate OkHttp network diagnostics. You still need to connect it to your app’s OkHttp client.
dependencies {
implementation("com.affisto.fabre:android-okhttp:0.1.0-beta.1")
}iOS
iOS 14 or later. The binary contains device arm64 and simulator arm64/x86_64 slices. Validated with Xcode 26.1.1; other toolchain combinations are not yet covered by a compatibility matrix.
- In Xcode, choose File → Add Package Dependencies.
- Enter the public repository URL below.
- Choose Exact Version: 0.1.0-beta.1.
- Add the Fabre product to your app target.
https://github.com/affisto/fabre-ios.gitThe installed product is Fabre. Import ScreenReporter in Swift; the module name is retained for compatibility.
import UIKit
import ScreenReporterFlutter
Install fabre from pub.dev. The package includes the released Android AAR and iOS XCFramework, so Flutter apps do not need a separate Fabre Maven repository or Swift package.
Requires Flutter 3.32+ / Dart 3.8+, Android API 26+, and iOS 14+. This beta uses CocoaPods for iOS. Web and desktop are not supported.
1. Install the package
flutter pub add fabre:^0.1.0-beta.12. Set the minimum platform versions
In android/app/build.gradle.kts, set minSdk to 26 or keep your existing higher value. In ios/Podfile, set the platform to iOS 14.0; also set the Runner deployment target to 14.0 or later in Xcode. Keep the rest of your existing configuration.
android {
defaultConfig { minSdk = 26 }
}platform :ios, '14.0'3. Connect your Fabre project
Use your project SDK ingest key and service endpoint. The public import is package:fabre/fabre.dart; the existing ScreenReporter and ReporterConfig API names remain supported. The example below wires the capture boundary, launcher and navigation observer into MaterialApp.
import 'package:fabre/fabre.dart';
import 'package:flutter/material.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final reporter = ScreenReporter(ReporterConfig(
apiKey: const String.fromEnvironment('FABRE_INGEST_KEY'),
endpoint: Uri.parse(const String.fromEnvironment('FABRE_ENDPOINT')),
recipient: 'Mobile QA',
appVersion: '1.0.0',
environment: 'staging',
));
await reporter.initialize();
runApp(MaterialApp(
navigatorKey: reporter.navigatorKey,
navigatorObservers: [ReporterNavigatorObserver(reporter)],
builder: (context, child) => Stack(children: [
ReporterBoundary(reporter: reporter, child: child!),
Positioned.fill(child: ReporterLauncher(reporter: reporter)),
]),
home: const Scaffold(body: Center(child: Text('My app'))),
));
}Pass the project values when running your app. Replace the placeholder values with those provided for your project.
flutter run --dart-define=FABRE_INGEST_KEY=YOUR_PROJECT_INGEST_KEY --dart-define=FABRE_ENDPOINT=https://YOUR_FABRE_SERVER4. Approve the device and check a report
Open the Fabre launcher, register the test device, and approve it in the Fabre console. Open a report, annotate or mask the image, zoom with two fingers, and review it before submitting. Wrap sensitive widgets in ReporterPrivate to exclude them from SDK captures.
Validated with Flutter 3.41.4 / Dart 3.11.1: Android API 34 and iOS 18.3.1 simulator editor smoke tests, Android release APK and unsigned iOS device release builds. This is not a full minimum-version or physical-device compatibility matrix.
Updating the package
Within your declared version constraint, resolve newer releases with flutter pub upgrade fabre. When changing the allowed range, update the dependency version and re-test your app. Existing apps keep their locked version until dependencies are updated.
flutter pub upgrade fabreDirect downloads
Gradle and SPM are the recommended installation methods. Direct downloads are available for environments that manage binaries manually.
- Android SDK · AAR
- OkHttp adapter · AAR
- iOS SDK · XCFramework ZIP
- Android release & checksums
- iOS release & checksums
- iOS ZIP SHA-256
- Fabre SDK License 1.0
A standalone AAR needs its dependencies configured separately. For manual iOS integration, extract the ZIP, add ScreenReporter.xcframework, and select Embed & Sign. Install either the Swift package or the manual framework in an app target, not both.
After installation
Downloading the SDK does not connect it to a project. To send reports, initialize it with your project ingest key and server address, then approve the test device in the Fabre console. Never embed an account, admin or MCP token in an app.
Configure collection consent and sensitive-screen handling for your app before rollout. SDK use and redistribution are covered by the SDK license; access to the Fabre service and any service charges are separate.
Discuss project integrationInstallation help
Why might the beta not appear in pub.dev search?
This release is a prerelease. Use the direct pub.dev link or the versioned installation command above to find and install it.
Why does the repository URL return 404 in a browser?
The Gradle repository base URL is not a web directory listing. A 404 at that base address does not mean the SDK is missing. Use the direct downloads or versioned release manifests above to inspect the actual files.
Gradle cannot find the SDK. What should I check?
Check the full repository URL, including /fabre/maven, the com.affisto.fabre group, and the exact version. Add the repository in settings.gradle.kts if your project centralizes repositories there. Corporate networks may need to allow sdk.affisto.com.
Can I install React Native, Expo or Unity packages?
Their public npm and Unity packages are still in preparation. Flutter is available now as fabre on pub.dev.