[flutter] device_info 라이브러리를 이용하여 디바이스의 플라트폼(안드로이드, iOS 등) 정보 확인하기

디바이스의 플라트폼 정보를 확인하는 것은 앱의 다양한 기능을 개발하거나 UI를 조정하는 데 도움이 될 수 있습니다. Flutter에서는 device_info라이브러리를 사용하여 디바이스의 플라트폼 정보를 쉽게 확인할 수 있습니다. 이 라이브러리를 사용하여 안드로이드와 iOS 디바이스인지 확인하는 예제를 살펴보겠습니다.

먼저, device_info 라이브러리를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 아래와 같이 device_info 라이브러리를 추가합니다.

dependencies:
  device_info: ^0.5.3

프로젝트를 업데이트하고 나면, device_info.dart 파일을 생성하여 아래의 코드를 추가합니다.

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

void main() {
  runApp(DeviceInfoApp());
}

class DeviceInfoApp extends StatefulWidget {
  @override
  _DeviceInfoAppState createState() => _DeviceInfoAppState();
}

class _DeviceInfoAppState extends State<DeviceInfoApp> {
  String platform = '';

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

  Future<void> getDevicePlatform() async {
    var deviceInfo = DeviceInfoPlugin();
    if (Theme.of(context).platform == TargetPlatform.android) {
      AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
      setState(() {
        platform = 'Android';
      });
    } else if (Theme.of(context).platform == TargetPlatform.iOS) {
      IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
      setState(() {
        platform = 'iOS';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Device Platform'),
        ),
        body: Center(
          child: Text('Device Platform: $platform'),
        ),
      ),
    );
  }
}

위의 코드는 DeviceInfoApp 클래스를 정의한 후, 앱이 시작될 때 플라트폼 정보를 확인하고 그에 따라 platform 변수를 업데이트합니다. 이를 화면에 출력하기 위해 Scaffold 위젯을 사용하고 bodyText 위젯을 추가하여 플라트폼 정보를 표시합니다.

이제 앱을 실행하면 디바이스의 플라트폼 정보가 화면에 나타납니다. 디바이스가 안드로이드인 경우 “Device Platform: Android”이고, iOS인 경우 “Device Platform: iOS”로 표시됩니다.

더 많은 디바이스 정보를 얻고 싶다면 device_info 라이브러리의 문서를 참조하시기 바랍니다.

참고 자료