Flutter
A Dart package that presents a native Flutter form using your app's Material or Cupertino theme.
Install
In pubspec.yaml:
yaml
dependencies:
issued_sdk: ^1.0.0Then run flutter pub get.
Minimal embed
dart
import 'package:issued_sdk/issued_sdk.dart';
final config = WidgetConfig(
projectId: 'your-project-id',
fields: {
'subject': FieldConfig(visible: true, required: true),
'description': FieldConfig(visible: true, required: true),
'email': FieldConfig(visible: true, required: false),
},
);
await IssuedSDK.showForm(
context: context,
config: config,
onSuccess: (result) {
print('Submitted: ${result.ticketId}');
},
onError: (error) {
print('Error: ${error.message}');
},
);Hidden metadata
dart
final fields = {
'subject': FieldConfig(visible: true, required: true),
'description': FieldConfig(visible: true, required: true),
'email': FieldConfig(visible: false, value: user.email),
'userId': FieldConfig(visible: false, value: user.id),
'platform': FieldConfig(
visible: false,
value: Platform.operatingSystem,
),
};Styling
dart
final theme = ThemeConfig(
primaryColor: '#6366f1',
backgroundColor: '#ffffff',
textColor: '#1f2937',
borderColor: '#d1d5db',
buttonColor: '#6366f1',
buttonTextColor: '#ffffff',
errorColor: '#dc2626',
borderRadius: 8.0,
fontFamily: 'Roboto',
);
final config = WidgetConfig(
projectId: 'your-project-id',
fields: fields,
theme: theme,
);Gotchas
- The
contextmust come from within aMaterialApp/CupertinoAppsubtree so theme resolution works. - Your iOS bundle ID and/or Android
applicationIdmust be in the project allowlist.
Next steps
Copy the Flutter snippet with your project ID pre-filled.