[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を取得して使ってみてください。

私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!

Posts