flutter_udid
iOS 및 Android에서 재설치 후에도 지속되는 UDID를 검색하는 플러그인
iOS, Android, Mac, Windows 및 Linux에서 앱 재설치 후에도 지속적인 UDID를 검색하는 플러그인입니다.
{"sdk":"flutter"}^3.0.0{"sdk":"flutter"}^5.0.0아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Plugin to retrieve a persistent UDID across app reinstalls on iOS, Android, Mac, Windows & Linux.
import 'package:flutter_udid/flutter_udid.dart';
String udid = await FlutterUdid.udid;
This provides an UDID using the format of the corresponding platform.
| Platform | Format | Source |
|---|---|---|
| iOS | 7946DA4E-8429-423C-B405-B3FC77914E3E |
identifierForVendor, saved to Keychain for persistence |
| Android | 8af8770a27cfd182 |
Settings.Secure.ANDROID_ID |
| Mac | 707E990C-D002-520B-ABA6-4216C6D514BF |
kIOPlatformUUIDKey |
| Windows | 99A4D301-53F5-11CB-8CA0-9CA39A9E1F01 |
BIOS UUID |
| Linux | 1124435e065241dcae2241e9caab9a6c |
Machine ID |
On iOS, the UDID is stored in Keychain with
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly. This means it is available
only after the user has unlocked the device once after reboot, including later
background launches while the device is locked. Before the first unlock after
reboot, requesting the UDID throws a PlatformException.
To get a consistent formatting on all platforms use:
import 'package:flutter_udid/flutter_udid.dart';
String udid = await FlutterUdid.consistentUdid;
This will result in an UDID of the following format:
984725b6c4f55963cc52fca0f943f9a8060b1c71900d542c79669b6dc718a64b
The UDID can change after a factory reset!
Additionally, if a device has been updated to Android 8.0 through an OTA and the app is reinstalled, the UDID may change as well due to security changes in Android 8.0.
On rooted and jailbroken devices the ID can be changed, so please take this into account. However, it should not be possible to identify as a different device through random guessing because of the complexity of the ID.
Furthermore, the UDID may also change if there is a change in the app's signing signature, for both iOS and Android. Ensure that you always use the same digital signature to sign your app.
For help getting started with Flutter, view the online documentation.
For help on editing plugin code, view the documentation.