inappreport 0.5.2
inappreport: ^0.5.2 copied to clipboard
In-app reporting SDK (ex-flutteradgents) — captures et envoi de tickets avec médias.
inappfeedback (SDK Flutteradgents) #
[Flutteradgents logo]
Package pub.flutter-io.cn : inappfeedback. Dépôt source : github.com/babakoto/inappfeeback. Import recommandé :
import 'package:inappfeedback/inappfeedback.dart';
(package:inappfeedback/flutteradgents.dart reste valide pour compatibilité.)
inappfeedback helps testers and QA validate mobile and web apps from inside the host application. Users can sign in, capture feedback (screenshots or an experimental GIF recording), and submit issues to your Flutteradgents backend. When Jira is configured for the project, tickets can be created or synced with assignee support.
Each issue can include structured metadata, for example:
- Environment (flavor /
environmentfield) - Platform (web, iOS, Android, desktop)
- Device and OS (where available)
- Build number and app version
- App name
Requirements #
- Dart SDK:
^3.9.0(seepubspec.yaml)
Installation #
In your app pubspec.yaml:
dependencies:
inappfeedback: ^0.4.2 # or path: ../inappfeedback
Then:
flutter pub get
Quick start #
Wrap your app with FlutteradgentsHosts and pass FlutteradgentsSettings.simple (project id and optional flavor). Use Flutteradgents.materialAppBuilder on MaterialApp.builder so the secret tap menu works globally.
return FlutteradgentsHosts(
settings: FlutteradgentsSettings.simple(
projectId: 'fad_XXXXXXXX', // from the dashboard (SDK key or project UUID)
flavor: 'develop', // sent as API `environment` unless overridden
),
child: MaterialApp(
builder: Flutteradgents.materialAppBuilder,
home: const MyHomePage(),
),
);
Opening the flow (secret tap) #
By default, Flutteradgents.materialAppBuilder listens for a secret tap: the user taps 5 times quickly anywhere on the content. That opens the Flutteradgents menu:
- Screenshot: annotate and send a PNG (optional crop after capture when enabled on the theme).
- GIF recording (experimental): record the UI via
widget_recorder_flutter, encode to GIF, then open the ticket form.
If the user is not signed in, the sign-in UI is shown first.
You can change the tap count (and optional invite token for OAuth):
builder: (context, child) => Flutteradgents.materialAppBuilder(
context,
child,
secretTapCount: 5,
inviteToken: null,
),
Opening feedback from code #
You can also start the same flow programmatically:
await Flutteradgents.showFeedback(context);
Sign-in #
The API uses JWT authentication. The package supports:
- Email and password (
/api/v1/auth/login) - Atlassian OAuth (optional), with
returnUri/ deep link configuration aligned with your server and native manifests (AndroidManifest/Info.plist). On mobile, use the same custom scheme as in your app;FlutteradgentsSettings.simplesets a sensible default OAuth return URI off-platform.
UI language #
Built-in feedback strings (Navigate, Draw, Submit, etc.) are English by default. The library still includes optional delegates such as FrAdgentsReportStrings in translation.dart; to use them you must host AdgentsReportScope yourself and pass localeOverride (for example Locale('fr')). FlutteradgentsHosts always uses the English default for that scope.
API error message text follows your server configuration and may not be English.
Example app #
- Git clone : le dossier
example/contient en général toutes les plateformes (Android, iOS, …).
cd example && flutter pub get && flutter run - Package pub.flutter-io.cn : seuls le code Dart et
pubspec.yamlde l’exemple sont dans l’archive (pas deandroid//ios// … pour limiter la taille).
Après extraction ou depuis le cache Pub : suivreexample/README.md(flutter create . --platforms=…).
Repository #
Source and issue tracker: see repository / issue_tracker in pubspec.yaml.
