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.
eimzo_flutter #
Flutter plugin for integrating the E-IMZO (Uzbekistan electronic signature) Android module into Flutter applications.
Features #
- Launch the E-IMZO signing UI from Dart code
- Handle
eimzo://open?...deep links (cold-start and foreground) - Stream of incoming deep links while the app is running
Platform support #
| Android | iOS |
|---|---|
| ✅ | ❌ |
Getting started #
1. Add dependency #
dependencies:
eimzo_flutter: ^0.1.2
2. Add Maven repositories #
In your app's android/settings.gradle (or settings.gradle.kts):
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
// E-IMZO module
maven { url = uri("https://nexus.yt.uz/repository/maven-releases/") }
// Flutter engine artifacts
maven { url = uri("https://storage.googleapis.com/download.flutter.io") }
}
}
3. Minimum SDK #
Ensure minSdk >= 24 in android/app/build.gradle:
android {
defaultConfig {
minSdk 24
}
}
Usage #
import 'package:eimzo_flutter/eimzo_flutter.dart';
// Cold-start deep link (call before runApp)
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final initialLink = await EimzoFlutter.getInitialLink();
runApp(MyApp(initialLink: initialLink));
}
// Listen for incoming deep links while app is open
EimzoFlutter.linkStream.listen((link) {
// link = "eimzo://open?qc=ABC123"
EimzoFlutter.openEImzo(deeplink: link);
});
// Open E-IMZO (no deep link — user presses Sign button)
ElevatedButton(
onPressed: () => EimzoFlutter.openEImzo(),
child: Text('E-IMZO orqali imzolash'),
);
How it works #
Flutter App
│ EimzoFlutter.openEImzo(deeplink: link)
▼
EimzoFlutterActivity ──── FlutterEngine ────▶ E-IMZO Flutter UI
│ │
│ MethodChannel │ imzolash
│ "eimzoChannel" │
└───────────────────────────┘
│
│ eimzo://open?result=... (deep link response)
▼
EimzoFlutterPlugin.linkStream ──▶ Flutter App
EimzoFlutterActivity runs E-IMZO's Flutter module as a separate Flutter engine
(add-to-app pattern). The eimzoChannel MethodChannel connects native code with
E-IMZO's internal Flutter; uz.peachdev/eimzo_flutter channels connect with your
host Flutter app.
Deep link flow #
- External source (browser, QR) sends
eimzo://open?qc=ABC123 - Android opens
EimzoFlutterActivity(registered via plugin manifest merge) - E-IMZO Flutter processes the signing request
- Your Flutter app receives the link via
linkStreamfor any follow-up action
License #
MIT