Skip to content
Flutter · Dart · Android / iOS / web

The Everframe Flutter SDK.

Masked Flutter screenshots and bounded image replay on Android, iOS, and web.

flutter pub add everframe_flutter
Flutter 3.47+Dart 3.13+Android API 24+ or iOS 15+

The everframe_flutter plugin captures Flutter pixels inside a boundary, masks registered private widgets, and opens the reporter on Android, iOS, and web. Dart errors and network breadcrumbs are explicit calls.

Three steps

1Install
flutter pub add everframe_flutter
2Start with your Flutter integration key
final everframe = EverframeNativeBridge();
await everframe.start(
  appId: '<app ID>',
  sdkKey: '<SDK key>',
  environment: 'production',
);
3Open the reporter from your own action
await everframe.openReporter(
  boundaryKey: boundaryKey,
  sensitiveRegions: sensitiveRegions,
);

What it captures

Screenshot Masked Flutter render-boundary pixels Register every private widget; native platform views outside the boundary are not captured
Session replay Bounded image frames sampled from the masked Flutter boundary Explicit recorder; enabled per app in the dashboard
Console No automatic Dart console capture
Network Explicit origin-only breadcrumbs through recordNetwork No automatic Dart HTTP interception or body capture
Screens Explicit recordScreen calls
Errors Explicit handled Dart errors through captureException No automatic Dart error hook
Sensitive content EverframeSensitive widgets are masked before PNG encoding Capture fails closed when masking geometry is unavailable
Device and app Native host metadata on mobile; browser metadata on web

What you wire yourself

  • The trigger. Call openReporter from your own button or action.
  • The capture boundary. Wrap the Flutter content in RepaintBoundary and register every private widget.
  • Dart context. Call recordScreen, captureException, and recordNetwork where your app has that information.

When to pick it

Use the pub.dev plugin for a Flutter app on Android, iOS, or web. It shares one dashboard integration key across those hosts, while each report still names the host platform.

Flutter web uses EverframeWebCapture and EverframeWebBridge; its browser host loads the Web SDK for reporter UI and delivery. The Flutter web example shows the masked renderer frames and host setup.

What you control

Choose the Flutter content included in the RepaintBoundary, mark private widgets, and decide when to open the reporter. The plugin does not install an automatic Dart error or HTTP interceptor. See Install and Configuration for the exact setup and limits.

For a full run on an Android emulator, from the capture boundary to the report in the dashboard, read Flutter bug reports with a masked screenshot and replay.

Questions

Does it need screen-recording permission?

No. It captures its own Flutter render boundary and masks registered widgets before encoding a PNG.

Does it include embedded native platform views?

No. Native platform views outside the Flutter boundary are not included in this capture.

Can I use this plugin for Flutter web?

Yes. Install EverframeWebCapture on a masked RepaintBoundary, then start EverframeWebBridge. The browser host loads @everframe/web and the plugin's visual capture asset.