Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

34 righe
1.2 KiB

  1. import 'dart:async';
  2. import 'dart:io';
  3. import 'package:flutter/services.dart';
  4. import 'package:device_info/device_info.dart';
  5. import 'package:platform_device_id_platform_interface/platform_device_id_platform_interface.dart';
  6. import 'package:flutter/foundation.dart' show kIsWeb;
  7. /// Provides device id information.
  8. class PlatformDeviceId {
  9. /// Provides device and operating system information.
  10. static final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
  11. /// Information derived from `android`-`androidId` or `ios`-`identifierForVendor`
  12. static Future<String?> get getDeviceId async {
  13. String? deviceId;
  14. try {
  15. if (kIsWeb) {
  16. deviceId = await PlatformDeviceIdPlatform.instance.getDeviceId();
  17. } else if (Platform.isAndroid) {
  18. AndroidDeviceInfo androidInfo = await deviceInfoPlugin.androidInfo;
  19. deviceId = androidInfo.androidId;
  20. } else if (Platform.isIOS) {
  21. IosDeviceInfo iosInfo = await deviceInfoPlugin.iosInfo;
  22. deviceId = iosInfo.identifierForVendor;
  23. } else {
  24. deviceId = await PlatformDeviceIdPlatform.instance.getDeviceId();
  25. }
  26. } on PlatformException {
  27. deviceId = '';
  28. }
  29. return deviceId;
  30. }
  31. }