[Flutter] Device Unique ID

2021-07-11 hit count image

Flutter에서 사용자 단말기의 고유 식별 ID를 얻기 위해, device_info_plus 패키지를 사용하는 방법에 대해서 알아봅시다.

개요

앱을 개발하다보면, 사용자의 디바이스를 구별하기 위해, 사용자 디바이스의 고유 식별 ID(Device Unique ID)가 필요할 때가 있습니다. 이번 블로그 포스트에서는 device_info_plus 패키지를 사용하여 사용자의 디바이스 고유 식별 ID를 가져오는 방법에 대해서 설명합니다.

device_info_plus 설치

사용자 디바이스의 고유 식별 ID를 가져오기 위해서는 device_info_plus 패키지를 사용할 필요가 있습니다. device_info_plus 패키지를 사용하기 위해, 다음 명령어를 실행하여 device_info_plus 패키지를 설치합니다.

flutter pub add device_info_plus

Device unique ID 가져오기

device_info_plus 패키지는 디바이스의 고유 식별 ID를 반환하는 기능을 가지고 있지 않습니다. 따라서, 우리는 device_info_plus 패키지의 기능을 사용하여 사용자의 디바이스 고유 식별 ID를 생성하는 함수를 제작할 필요가 있습니다.

다음은 사용자의 디바이스 고유 식별 ID를 얻기 위해 제가 사용하는 코드입니다.

Future<String> getDeviceUniqueId() async {
  var deviceIdentifier = 'unknown';
  var deviceInfo = DeviceInfoPlugin();

  if (Platform.isAndroid) {
    var androidInfo = await deviceInfo.androidInfo;
    deviceIdentifier = androidInfo.androidId!;
  } else if (Platform.isIOS) {
    var iosInfo = await deviceInfo.iosInfo;
    deviceIdentifier = iosInfo.identifierForVendor!;
  } else if (Platform.isLinux) {
    var linuxInfo = await deviceInfo.linuxInfo;
    deviceIdentifier = linuxInfo.machineId!;
  } else if (kIsWeb) {
    var webInfo = await deviceInfo.webBrowserInfo;
    deviceIdentifier = webInfo.vendor! +
        webInfo.userAgent! +
        webInfo.hardwareConcurrency.toString();
  }

  return deviceIdentifier;
}

위 함수를 사용하면 iOSAndroid뿐만 아니라 LinuxWeb에서도 사용할 수 있습니다.

완료

이것으로 Flutter에서 device_info_plus 패키지를 사용하여 사용자 디바이스의 고유 식별 ID(Device Unique ID)를 가져올 수 있는 방법에 대해서 알아보았습니다. 여러분도 위에 코드를 사용하여 사용자의 디바이스 고유 식별 ID를 습득하여 사용해 보시기 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

책 홍보

스무디 한 잔 마시며 끝내는 React Native 책을 출판한지 벌써 2년이 다되었네요.
이번에도 좋은 기회가 있어서 스무디 한 잔 마시며 끝내는 리액트 + TDD 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
Posts