internet_health_plus 1.0.4
internet_health_plus: ^1.0.4 copied to clipboard
Flutter plugin for true internet reachability, latency monitoring, and network quality detection with fast, battery-optimised probing.
🌐 internet_health_plus #
Advanced Internet Connectivity, Latency & Network Quality Detection for Flutter.
📸 Example App Preview #
📝 Description #
internet_health_plus is a production-ready Flutter plugin designed to provide real internet reachability, latency measurement, and network quality detection — far beyond what connectivity_plus offers.
It helps apps react to:
- Slow networks
- Sudden latency spikes
- Dropped internet
- Captive portals
- Poor connections disguised as Wi-Fi/Mobile
✨ Features #
- ✔ Real-time internet reachability
- ✔ Latency measurement (ms)
- ✔ Network quality classification
- ✔ Connectivity Plus integration
- ✔ Socket fallback
- ✔ Retry logic with backoff
- ✔ Custom thresholds
- ✔ Highly configurable
- ✔ Production tested
All with battery-optimized active probing.
Platform Support #
| Platform | Supported |
|---|---|
| Android | ✅ |
| iOS | ✅ |
| macOS | ✅ |
| Web | ✅ |
| Linux | ✅ |
| Windows | ✅ |
🚀 Installation #
dependencies:
internet_health_plus: ^1.0.4
📦 Import #
import 'package:internet_health_plus/internet_health_plus.dart';
🎯 Quick Usage #
final checker = InternetHealthPlus();
checker.onStatusChange.listen((status) {
print('Network: ${status.networkType}');
print('Reachable: ${status.internetAvailable}');
print('Latency: ${status.latencyMs}');
print('Quality: ${status.quality}');
});
&
checker.hasInternetAccess();
🔥 Manual Refresh #
final result = await checker.checkInternetDetailed();
print(result.quality);
🛠 Customization (ProbeOptions) #
final checker = InternetHealthPlus(
options: ProbeOptions(
timeout: Duration(seconds: 3),
periodicProbeInterval: Duration(seconds: 5),
latencyThresholds: {
'good': 80,
'moderate': 250,
},
),
);
Options include: #
| Option | Description |
|---|---|
httpUrl |
Ping this URL |
timeout |
Probe timeout |
periodicProbeInterval |
Auto-check interval |
latencyThresholds |
Define good/moderate/slow |
useHttpHeadWhenHttp |
Use HEAD for faster check |
socketHost/socketPort |
Fallback method |
🐢 Detect Slow Internet #
checker.onStatusChange.listen((status) {
if (status.isSlow) {
print("Warning: Slow internet detected");
}
});
🧠 Architecture #
+-------------------------------+
| InternetHealthPlus |
|-------------------------------|
| Connectivity listener |
| HTTP probe (Dio) |
| Socket fallback |
| Latency measurement |
| Debounce + rate-limit |
| Retry with backoff |
| Emits InternetStatus |
+-------------------------------+
|
v
+-----------------------+
| InternetStatus |
+-----------------------+
| networkType |
| internetAvailable |
| latencyMs |
| quality |
+-----------------------+
📄 License #
MIT © SakshamSharma2026