registerDeviceData method

Future<void> registerDeviceData()

Implementation

Future<void> registerDeviceData() async {
  final ConfigurationService _configurationService = ConfigurationService();
  final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  print('Registering device...');
  print(deviceInfo);
  String deviceType;
  String devicePlatform;
  String deviceToken = 'abc123token';

  if (kIsWeb) {
    WebBrowserInfo webInfo = await deviceInfo.webBrowserInfo;
    deviceType = 'Browser';
    devicePlatform = 'Web';
    deviceToken = webInfo.hashCode.toString();
  } else if (Platform.isAndroid) {
    AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
    deviceType = 'Smartphone';
    devicePlatform = 'Android';
    deviceToken = androidInfo.hashCode.toString();
  } else if (Platform.isIOS) {
    IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
    deviceType = 'Smartphone';
    devicePlatform = 'iOS';
    deviceToken = iosInfo.hashCode.toString();
  } else if (Platform.isWindows) {
    WindowsDeviceInfo windowsInfo = await deviceInfo.windowsInfo;
    deviceType = 'Desktop';
    devicePlatform = 'Windows';
    deviceToken = windowsInfo.deviceId;
  } else if (Platform.isMacOS) {
    MacOsDeviceInfo macInfo = await deviceInfo.macOsInfo;
    deviceType = 'Desktop';
    devicePlatform = 'macOS';
    deviceToken = macInfo.hashCode.toString();
  } else if (Platform.isLinux) {
    LinuxDeviceInfo linuxInfo = await deviceInfo.linuxInfo;
    deviceType = 'Desktop';
    devicePlatform = 'Linux';
    deviceToken = linuxInfo.hashCode.toString();
  } else {
    deviceType = 'Unknown';
    devicePlatform = 'Unknown';
  }

  Map<String, dynamic> data = {
    'appdomain': 'auth1.3u.gg',
    'deviceType': deviceType,
    'deviceToken': deviceToken,
    'devicePlatform': devicePlatform,
  };
  await _configurationService.registerDevice(data);
}