eimzo_flutter 0.2.0 copy "eimzo_flutter: ^0.2.0" to clipboard
eimzo_flutter: ^0.2.0 copied to clipboard

PlatformAndroid

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.2.0

2. Add Maven repositories (required) #

Important: This step is required. Without it, the build will fail with a dependency resolution error.

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
    }
}

4. Enable core library desugaring #

The plugin uses Java 8+ APIs that require desugaring. Add the following to your app's android/app/build.gradle:

android {
    compileOptions {
        isCoreLibraryDesugaringEnabled true
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
}

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.

  1. External source (browser, QR) sends eimzo://open?qc=ABC123
  2. Android opens EimzoFlutterActivity (registered via plugin manifest merge)
  3. E-IMZO Flutter processes the signing request
  4. Your Flutter app receives the link via linkStream for any follow-up action

License #

MIT

8
likes
160
points
1.06k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter plugin for integrating E-IMZO (Uzbekistan electronic signature) Android module. Supports launching the E-IMZO signing UI and handling eimzo:// deep links.

Repository (GitHub)
View/report issues
Contributing

Topics

#e-imzo #electronic-signature #uzbekistan #deep-link

License

MIT (license)

Dependencies

flutter

More

Packages that depend on eimzo_flutter

Packages that implement eimzo_flutter