【Flutter】device_info_plusでデバイス情報を取得する

Flutter

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');

Buy me a coffee!

Flutterアプリ開発
シェアする
sogaをフォローする
タイトルとURLをコピーしました