client_information
This is a plugin that lets you get the basic information from your application's client. It's easy to use and supports different platforms (Android, iOS, and Web).
2.2.0
4.5K downloads/mo
#3984 most downloaded on pub.dev
Kent1011/client_information
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 20 of 20 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
21 releases · first in 2021
0 releases in the last 12 months
see the full history below
Release timeline
21 releases · Jan 2021 to Feb 2025Releases
latest 21-
2.2.019 Feb 2025Release notes
Open source →✨ Enhancements
- Upgraded Android Gradle Plugin and migrated to
plugins {}syntax (removedapply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"). - Updated Gradle to 7.5+ and upgraded Gradle Wrapper to 8.10.2.
- Increased Android minSdkVersion to 21 for better compatibility.
- Increased iOS minSdkVersion to 12.0 to enhance compatibility and security.
- Changed Flutter Web initialization to use
flutter_bootstrap.jsinstead offlutter.js. - Converted
build.gradleto Kotlin DSL (build.gradle.kts) for better maintainability.
🐞 Fixes
- Removed deprecated
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"to preventFlutter Plugin Imperative Applyerrors. - Fixed
ClientInformationPluginby removingregisterWith(Registrar), aligning with the new Flutter Plugin API. - Fixed Issues #15, PR:#16 (Thanks @fegea-immo), PR:#17 (Thanks @mortuzahossain), #19
🔼 Dependency Updates
- Dart SDK:
>=3.0.5→>=3.7.0 - Flutter SDK:
>=3.18.0 - Kotlin:
1.7.10→1.8.22 - flutter_lints:
2.0.0→5.0.0 - cupertino_icons:
1.0.2→1.0.8 - Other dependencies have been updated for better compatibility.
🚀 Migration Guide
This update is not a breaking change, but if your project:
- Has
minSdkVersion < 21on Android, update it to21. - Has
minSdkVersion < 12.0on iOS, update yourPodfile(platform :ios, '12.0'). - Uses
build.gradle, you may consider migrating tobuild.gradle.kts, but it's optional.
Recommended commands to ensure a clean update:
flutter clean flutter pub get flutter build apk # or flutter build ios - Upgraded Android Gradle Plugin and migrated to
-
2.1.422 Nov 2023 -
2.1.326 Jul 2023 -
2.1.213 Jul 2023 -
2.1.113 Jul 2023 -
2.1.012 Jul 2023Release notes
Open source →-
feature: Adding decorator method to decorate the information.
var information = await ClientInformation.fetch( // you can pass decorators to decoration the value before it return. decorators: ClientInformationDecorators( deviceId: (oriInfo, value) => 'prefix-$value-${oriInfo.applicationName}', ), ); // or you can use extension methods like this: var information = await ClientInformation.fetch(); var decoratedInfo = information.decoration(deviceId: (oriInfo, value) => '$value-some-suffix-string-here'); -
fix: update Android gradle setting. (#10, Thanks @pnghai)
-
doc: Update the example project & README.md
-
-
2.0.417 May 2023Release notes
Open source →- fix: Edge Chromium check missing(#12, Thanks @DaggeDaggmask)
- chore: Fix code lint issues.
- refactor: Update example project to support null-safety.
-
2.0.307 Nov 2022Release notes
Open source →- update README.md
- update CHANGELOG.md
- upgrade uuid to 3.0.6
- update pubspec.lock
Release notes
Open source →-
fix: Web Exception caused by non_bool_negation_expression(#6, #7) (Thanks @MarcVanDaele90)
-
Upgrade uuid 3.0.3 -> 3.0.6
-
2.0.3+122 Feb 2023 -
2.0.220 Aug 2021 -
2.0.2+123 Aug 2021 -
2.0.2+209 Sep 2021 -
2.0.114 Apr 2021 -
2.0.001 Apr 2021 -
2.0.0-nullsafety.004 Feb 2021 pre-releaseRelease notes
Open source →- Migrate package to null-safety, increase minimum SDK version to 2.12, replace dependency 'ulid' -> 'uuid'.
-
1.1.020 Feb 2021Release notes
Open source →- Remove package
httpdependency. - Replace dependency 'ulid' -> 'uuid'.
- Use
pedantic.
- Remove package
-
1.1.0+121 Feb 2021 -
1.0.403 Feb 2021 -
1.0.303 Feb 2021 -
1.0.203 Feb 2021Release notes
Open source →-
New attribute deviceName : Show the device name like "iPhone", "iPad", "Pixel"...
-
New attribute applicationId : Show you the application ID (*Not support for web project)
-
Support test mode.
// ... setUp(() async { ClientInformation.mockOn( deviceId: 'mock_device_id', osName: 'MyCustomOS'); }); tearDown(() { ClientInformation.mockOff(); }); test('Custom `deviceId` will be "mock_device_id"', () async { ClientInformation info = await ClientInformation.fetch(); expect(info.deviceId, 'mock_device_id'); }); // ... -
Update document: README.md
-
-
1.0.127 Jan 2021