eimzo_flutter 0.1.2
eimzo_flutter: ^0.1.2 copied to clipboard
Flutter plugin for integrating E-IMZO (Uzbekistan electronic signature) Android module. Supports launching the E-IMZO signing UI and handling eimzo:// deep links.
example/lib/main.dart
import 'package:eimzo_flutter/eimzo_flutter.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final initialLink = await EimzoFlutter.getInitialLink();
runApp(MyApp(initialLink: initialLink));
}
class MyApp extends StatelessWidget {
final String? initialLink;
const MyApp({super.key, this.initialLink});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'E-IMZO Demo',
home: HomePage(initialLink: initialLink),
);
}
}
class HomePage extends StatefulWidget {
final String? initialLink;
const HomePage({super.key, this.initialLink});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
final List<String> _links = [];
@override
void initState() {
super.initState();
if (widget.initialLink != null) {
_links.add('(cold-start) ${widget.initialLink}');
}
EimzoFlutter.linkStream.listen((link) {
setState(() => _links.add(link));
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('E-IMZO Flutter Plugin')),
body: Column(
children: [
Padding(
padding: const EdgeInsets.all(16),
child: ElevatedButton.icon(
icon: const Icon(Icons.verified_user),
label: const Text('E-IMZO orqali imzolash'),
onPressed: () => EimzoFlutter.openEImzo(),
),
),
const Divider(),
Expanded(
child: _links.isEmpty
? const Center(child: Text('Hali deep link kelmagan'))
: ListView.builder(
itemCount: _links.length,
itemBuilder: (_, i) => ListTile(
leading: const Icon(Icons.link),
title: Text(_links[i], style: const TextStyle(fontSize: 12)),
),
),
),
],
),
);
}
}