device_info_olimpo 0.0.2
device_info_olimpo: ^0.0.2 copied to clipboard
A Flutter plugin to fetch native device information, such as unique device ID.
device_info_olimpo #
device_info_olimpo es un plugin de Flutter que permite obtener información detallada y el ID único del dispositivo de manera nativa en Android e iOS. Este plugin es útil para identificar dispositivos de manera única y obtener datos relevantes del hardware y software.
Características #
- Obtiene el Android ID en dispositivos Android.
- Obtiene el identifierForVendor en dispositivos iOS.
- Proporciona información detallada sobre el dispositivo, incluyendo:
- Identificador único del dispositivo.
- Nombre del dispositivo.
- Fabricante, marca y modelo.
- Versión del sistema operativo y nivel del SDK.
- Detalles del hardware, build y más.
Instalación #
Agrega la dependencia en tu archivo pubspec.yaml:
dependencies:
device_info_olimpo: ^0.0.1
Ejecuta el siguiente comando para instalar la dependencia:
flutter pub get
Uso #
Importa el paquete en tu archivo Dart:
import 'package:device_info_olimpo/device_info_olimpo.dart';
void main() async {
final deviceInfo = DeviceInfoOlimpo();
// Obtener solo el ID del dispositivo
final deviceId = await deviceInfo.getDeviceId();
print('El ID del dispositivo es: $deviceId');
// Obtener información completa del dispositivo
final fullDeviceInfo = await deviceInfo.getFullDeviceInfo();
print('Información completa del dispositivo:');
fullDeviceInfo.forEach((key, value) {
print('$key: $value');
});
}
Información Proporcionada #
El plugin devuelve la siguiente información específica:
Android #
| Campo | Descripción |
|---|---|
| deviceId | Identificador único del dispositivo (Android ID). |
| deviceName | Nombre del dispositivo (ejemplo: Pixel 4a). |
| manufacturer | Fabricante del dispositivo (ejemplo: Google). |
| brand | Marca del dispositivo (ejemplo: Google). |
| hardware | Detalles del hardware (ejemplo: ranchu). |
| osVersion | Versión del sistema operativo (ejemplo: 12). |
| sdkVersion | Nivel del SDK (ejemplo: 31). |
| buildId | ID de la build (ejemplo: SPB4.210715.014). |
| bootloader | Versión del bootloader. |
| board | Placa base (ejemplo: goldfish_x86). |
| display | Descripción de la build. |
| fingerprint | Huella digital única de la build. |
| isEmulator | Si el dispositivo es un emulador o no (true o false). |
| product | Producto del dispositivo (ejemplo: sdk_gphone64_arm64). |
iOS #
| Campo | Descripción |
|---|---|
| deviceId | Identificador único del dispositivo (identifierForVendor). |
| deviceName | Nombre del dispositivo (ejemplo: iPhone de Juan). |
| systemName | Nombre del sistema operativo (ejemplo: iOS). |
| systemVersion | Versión del sistema operativo (ejemplo: 16.3). |
| model | Modelo del dispositivo (ejemplo: iPhone). |
| localizedModel | Modelo localizado del dispositivo. |
| identifierForVendor | UUID del dispositivo. |
| isSimulator | Si el dispositivo es un simulador o no (true o false). |
Ejemplo Completo #
import 'package:flutter/material.dart';
import 'package:device_info_olimpo/device_info_olimpo.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Device Info Olimpo'),
),
body: Center(
child: FutureBuilder<Map<String, dynamic>>(
future: DeviceInfoOlimpo().getFullDeviceInfo(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
final data = snapshot.data ?? {};
return ListView(
children: data.entries.map((entry) => Text('${entry.key}: ${entry.value}')).toList(),
);
}
},
),
),
),
);
}
}
Compatibilidad #
| Plataforma | Soportado |
|---|---|
| Android | ✅ |
| iOS | ✅ |
Contribuciones #
¡Las contribuciones son bienvenidas! Si deseas mejorar este paquete, crea un pull request en el repositorio de GitHub.
Licencia #
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.