unique_device_id 0.0.6
unique_device_id: ^0.0.6 copied to clipboard
Get unique device id
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:unique_device_id/unique_device_id.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String uniqueId;
@override
void initState() {
super.initState();
getUniqueId().then(
(value) => setState(
() => uniqueId = value,
),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: uniqueId?.isNotEmpty ?? false ? Text('Unique ID: $uniqueId\n') : CircularProgressIndicator(),
),
),
);
}
Future<String> getUniqueId() async {
try {
return await UniqueDeviceId.instance.getUniqueId();
} catch (e) {
final status = await Permission.storage.request();
if (status.isGranted) {
return getUniqueId();
} else if (status.isPermanentlyDenied) {
openAppSettings();
}
rethrow;
}
}
}