device_info_plusとは
device_info_plus
は、Flutterアプリケーション内で現在のデバイス情報を取得するためのパッケージです。
Android、iOS、Web、Linux、macOS、Windowsの各プラットフォームに対応しており、デバイスの詳細な情報(メーカー、モデルなど)を取得することができます。これにより、クラッシュレポートの作成やプラットフォーム固有の機能の実装が容易になります。
device_info_plus | Flutter package
Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app i...
使い方
device_info_plus
をプロジェクトで使用するには、まずpubspec.yamlファイルにパッケージを追加します。
dependencies:
device_info_plus: ^10.1.0
基本的な使用例
import 'package:device_info_plus/device_info_plus.dart';
void main() async {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
// Androidデバイス情報の取得
if (Platform.isAndroid) {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
print('Running on ${androidInfo.model}'); // 例: "Moto G (4)"
}
// iOSデバイス情報の取得
if (Platform.isIOS) {
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
print('Running on ${iosInfo.utsname.machine}'); // 例: "iPod7,1"
}
// Webデバイス情報の取得
if (kIsWeb) {
WebBrowserInfo webBrowserInfo = await deviceInfo.webBrowserInfo;
print('Running on ${webBrowserInfo.userAgent}'); // 例: "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"
}
}
主なパラメータ
Androidデバイス情報
model
: デバイスモデル名(例: “Moto G (4)”)version
: Androidバージョン情報manufacturer
: デバイスの製造元
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
print('Model: ${androidInfo.model}');
print('Android Version: ${androidInfo.version}');
print('Manufacturer: ${androidInfo.manufacturer}');
iOSデバイス情報
utsname.machine
: デバイスのモデル識別子(例: “iPod7,1″)name
: ユーザーが設定したデバイス名(iOS 16以降では特別なエンタイトルメントが必要)
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
print('Device: ${iosInfo.utsname.machine}');
print('Name: ${iosInfo.name}');
Webデバイス情報
userAgent
: ユーザーエージェント文字列
WebBrowserInfo webBrowserInfo = await deviceInfo.webBrowserInfo;
print('User Agent: ${webBrowserInfo.userAgent}');
その他の情報取得
device_info_plus
は、各プラットフォームに対応したデバイス情報を取得できるだけでなく、汎用的なデバイス情報も提供します。
final deviceInfoPlugin = DeviceInfoPlugin();
final deviceInfo = await deviceInfoPlugin.deviceInfo;
final allInfo = deviceInfo.data;
print('Device Info: $allInfo');