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.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:inappreport/inappreport.dart';
/// Set your project ID here. Leave empty or invalid to see the configuration error screen.
/// ID demo : fad_e9f82dfd59d412f1464dd7845c332602
const String kProjectId = 'fad_03f243a0374b185d2938adef9c7a96ab';
void main() {
runApp(const ExampleApp());
}
class ExampleApp extends StatelessWidget {
const ExampleApp({super.key});
@override
Widget build(BuildContext context) {
final configError = FlutteradgentsSettings.projectIdValidationMessage(
kProjectId,
);
if (configError != null) {
return MaterialApp(
title: 'flutteradgents example',
debugShowCheckedModeBanner: false,
home: Scaffold(
body: SafeArea(
child: FlutteradgentsConfigurationError(
title: 'Invalid project ID',
message: configError,
),
),
),
);
}
return FlutteradgentsHosts(
settings: FlutteradgentsSettings.simple(
projectId: 'fad_03f243a0374b185d2938adef9c7a96ab',
),
child: MaterialApp(
title: 'flutteradgents example',
debugShowCheckedModeBanner: false,
builder: Flutteradgents.materialAppBuilder,
home: const HomePage(),
),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('flutteradgents example')),
body: ListView(
padding: const EdgeInsets.all(20),
children: [
Center(
child: ElevatedButton(
onPressed: () => Flutteradgents.showFeedback(context),
child: const Text('Open feedback'),
),
),
],
),
);
}
}