device_unique_id 1.0.1 copy "device_unique_id: ^1.0.1" to clipboard
device_unique_id: ^1.0.1 copied to clipboard

Get a reliable device identifier on Android and iOS — Android ID, iOS identifierForVendor, and a Keychain/EncryptedSharedPreferences-backed persistent UUID that survives reinstall.

example/main.dart

import 'package:flutter/material.dart';
import 'package:device_unique_id/device_unique_id.dart';

void main() => runApp(const DemoApp());

class DemoApp extends StatelessWidget {
  const DemoApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: DemoPage());
  }
}

class DemoPage extends StatefulWidget {
  const DemoPage({super.key});

  @override
  State<DemoPage> createState() => _DemoPageState();
}

class _DemoPageState extends State<DemoPage> {
  DeviceIdentity? _identity;
  String? _error;

  @override
  void initState() {
    super.initState();
    _load();
  }

  Future<void> _load() async {
    try {
      final identity = await DeviceUniqueId.getDeviceIdentity();
      setState(() => _identity = identity);
    } catch (e) {
      setState(() => _error = e.toString());
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('device_unique_id demo')),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: _error != null
            ? Text('Error: $_error')
            : _identity == null
                ? const Center(child: CircularProgressIndicator())
                : Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Text('Persistent ID:\n${_identity!.persistentId}'),
                      const SizedBox(height: 12),
                      Text('Android ID: ${_identity!.androidId ?? "n/a (iOS)"}'),
                      const SizedBox(height: 12),
                      Text('identifierForVendor: ${_identity!.identifierForVendor ?? "n/a (Android)"}'),
                    ],
                  ),
      ),
    );
  }
}
1
likes
150
points
0
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Get a reliable device identifier on Android and iOS — Android ID, iOS identifierForVendor, and a Keychain/EncryptedSharedPreferences-backed persistent UUID that survives reinstall.

Repository (GitHub)
View/report issues

Topics

#device #device-id #unique-id #platform-channel

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on device_unique_id

Packages that implement device_unique_id