esim_manager 0.0.5 copy "esim_manager: ^0.0.5" to clipboard
esim_manager: ^0.0.5 copied to clipboard

Flutter plugin to check eSIM support and install eSIM via unified LPA system flows.

πŸ“Ά esim_manager #

A Flutter plugin to check eSIM support and install eSIM profiles on Android and iOS using official, system-supported provisioning flows.


πŸ“Œ Overview #

esim_manager allows you to:

  • Detect whether a device supports eSIM
  • Install eSIM profiles using a single LPA string API on both Android and iOS
  • Listen to install result events for advanced integrations

Designed for travel eSIM apps, telecom providers, enterprise device onboarding, and carrier provisioning flows.


πŸš€ Features #

  • πŸ” Check if the current device supports eSIM
  • πŸ“² Unified install API: installEsim(lpa)
  • πŸ€– Android installation using system eSIM setup link
  • 🍎 iOS installation using Apple’s official LPA UI
  • πŸ” Stream-based install result callbacks
  • 🧩 Clean, platform-agnostic Dart API

πŸ“± Platform Support #

Platform eSIM Check eSIM Install
Android βœ… βœ…
iOS βœ… βœ… (LPA URL)

πŸ“¦ Installation #

Add the dependency to your pubspec.yaml:

dependencies:
  esim_manager: ^0.0.5

Then run:

flutter pub get

πŸ“₯ Import #

import 'package:esim_manager/esim_manager.dart';

πŸ“Œ Usage #

πŸ” Check eSIM Support #

final esimManager = EsimManager();

final isSupported = await esimManager.isEsimSupported();
print('eSIM supported: $isSupported');

πŸ“² Install eSIM (Android + iOS) #

Use one API for both platforms with a valid LPA string:

final esimManager = EsimManager();

const lpa = 'LPA:1$YOUR_SMDP_ADDRESS$YOUR_ACTIVATION_CODE';
final ok = await esimManager.installEsim(lpa);

print('Installer opened: $ok');

On iOS and Android, this opens the system eSIM installation flow.


πŸ” Listen for Install Result Events #

You can listen to installation updates using a stream:

EsimManager().installEvents.listen((event) {
  print('Request ID: ${event.requestId}');
  print('Status: ${event.result.status}');
  print('Message: ${event.result.message}');
});

Useful for:

  • Analytics
  • Error tracking
  • Multi-step provisioning flows

⚠️ Notes & Limitations #

  • iOS does not allow silent eSIM installation
  • Android installation behavior can vary by OEM and OS implementation
  • Always test on real devices with eSIM support
  • Emulator / Simulator does not support eSIM

πŸ§ͺ Testing #

Platform Emulator Real Device
Android ❌ βœ…
iOS ❌ βœ…

πŸ“„ License #

MIT License
Feel free to use, modify, and contribute.


🀝 Contributions #

Pull requests are welcome.
For major changes, please open an issue first to discuss what you would like to change.


πŸ’¬ Support #

If you encounter issues or have feature requests, please open an issue on GitHub.

2
likes
150
points
211
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter plugin to check eSIM support and install eSIM via unified LPA system flows.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on esim_manager

Packages that implement esim_manager