●Platforms · Flutter
Flutter
A Dart package that presents a native Flutter form using your app's Material or Cupertino theme.
01
Install
In pubspec.yaml:
pubspec.yaml
dependencies:
issued_sdk: ^1.0.0Then run flutter pub get.
02
Minimal embed
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}');
},
);03
Hidden metadata
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,
),
};04
Styling
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,
);05
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.