Search packages, repositories and app categories

Package detailsv1.5.0

flutter_internet_speed_test

A Flutter plugin to test internet download and upload speed.

AndroidiOS
30-day downloads
449
Likes
52
Pub points
120

Install package

flutter pub add flutter_internet_speed_test

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter plugin designed to measure internet download and upload speeds on Android and iOS devices. It provides a simple API to initiate speed tests and retrieve results, making it ideal for apps that need to assess network performance dynamically. The plugin leverages native code for accurate measurements and integrates seamlessly into Flutter applications. It is particularly useful for optimizing user experience based on connection quality.

Use cases

  • Real-time network performance monitoring
  • Optimizing media streaming quality
  • Adaptive app behavior based on bandwidth
  • Network diagnostics in mobile apps
  • Improving user experience during data-heavy operations

Key features

  • Measures download and upload speeds
  • Supports Android and iOS platforms
  • Simple integration with Flutter
  • Provides real-time speed metrics
  • Lightweight and efficient

Suitable for

  • Apps requiring network quality assessment
  • Developers building connectivity-aware features
  • Mobile apps with adaptive content delivery
  • Tools for network troubleshooting
  • Performance-sensitive applications

Considerations

  • Requires internet access to function
  • May consume data during testing
  • Results can vary based on network conditions
  • Not suitable for background operation
  • Limited to speed measurement, not full network diagnostics

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter Internet Speed Test

Flutter Pub Version GitHub code size in bytes GitHub

A Flutter plugin to test internet download and upload speed.
Servers used:
  1. Fast.com by Netflix (default)

  2. Speed Test by Ookla

Get started

Add dependency
dependencies:
  flutter_internet_speed_test: ^lastest_version
Screenshots

Screenshot_20221121-112052~2-1

Example

    import 'package:flutter_internet_speed_test/flutter_internet_speed_test.dart';
    
    final speedTest = FlutterInternetSpeedTest();
    speedTest.startTesting(
        useFastApi: true/false //true(default)
        onStarted: () {
          // TODO
        },
        onCompleted: (TestResult download, TestResult upload) {
          // TODO
        },
        onProgress: (double percent, TestResult data) {
          // TODO
        },
        onError: (String errorMessage, String speedTestError) {
          // TODO
        },
        onDefaultServerSelectionInProgress: () {
          // TODO
          //Only when you use useFastApi parameter as true(default)
        },
        onDefaultServerSelectionDone: (Client? client) {
          // TODO
          //Only when you use useFastApi parameter as true(default)
        },
        onDownloadComplete: (TestResult data) {
          // TODO
        },
        onUploadComplete: (TestResult data) {
          // TODO
        },
        onCancel: () {
        // TODO Request cancelled callback
        },
    );

Additional features

You can also configure your test server URL


  import 'package:flutter_internet_speed_test/flutter_internet_speed_test.dart';

  final speedTest = FlutterInternetSpeedTest();
  speedTest.startTesting(
      useFastApi: true/false //true(default)
      downloadTestServer: //Your download test server URL goes here,
      uploadTestServer: //Your upload test server URL goes here,
      fileSize: //File size to be tested
      onStarted: () {
        // TODO
      },
      onCompleted: (TestResult download, TestResult upload) {
        // TODO
      },
      onProgress: (double percent, TestResult data) {
        // TODO
      },
      onError: (String errorMessage, String speedTestError) {
        // TODO
      },
      onDefaultServerSelectionInProgress: () {
        // TODO
        //Only when you use useFastApi parameter as true(default)
      },
      onDefaultServerSelectionDone: (Client? client) {
        // TODO
        ///Only when you use useFastApi parameter as true(default)
      },
      onDownloadComplete: (TestResult data) {
        // TODO
      },
      onUploadComplete: (TestResult data) {
        // TODO
      },
      onCancel: () {
        // TODO Request cancelled callback
      },
  );

If you don't provide a customized server URL we'll be using this URL for downloading as per the availability

1.https://fast.com/

2.http://speedtest.ftp.otenet.gr/files/test1Mb.db

If you don't provide a customized server URL we'll be using this URL for uploading as per the availability

1.https://fast.com/

2.http://speedtest.ftp.otenet.gr/

Platforms

The package is working on both platforms iOS & Android!

Categories

Dependencies

Dependency list 5 items

Source repository

Projects using this package

No data available yet.