Platform Plus is a package for easily figuring out information about the platform your code is running on

Features

Property Use-case
isAndroidNative Android native
isAndroidWeb Android browser
isIOSNative iOS native
isIOSWeb iOS browser
isWindowsNative Windows native
isWindowsWeb Windows browser
isMacOSNative macOS native
isMacOSWeb macOS browser
isLinuxNative Linux native
isLinuxWeb Linux browser
isFuschiaNative Fuschia native
isFuschiaWeb Fuschia browser (currently unsupported)
supportsFirebase Web or Android native or iOS native or macOS native
isUnitTest Running with flutter test
isPhysicalDevice Running on a physical device (not an emulator)
androidVersionCode Android SDK version (see AndroidVersionCode)
iosVersion iOS version
iosDevice The iOS device (see IOSDevice)

Usage

import 'package:platform_plus/platform_plus.dart';

void example() async {
  if (platformPlus.isAndroidNative) {
    // Do something
  } else if (platformPlus.isAndroidWeb) {
    // Do something else
  }

  if (await platformPlus.isPhysicalDevice) {
    // Do something
  }

  if (platformPlus.isUnitTest) {
    // Do something
  }

  final androidVersionCode = await platformPlus.androidVersionCode;
  if ((androidVersionCode ?? -1) >= AndroidVersionCode.s) {
    // Do something
  }

  final iosVersion = await platformPlus.iosVersion;
  if ((iosVersion ?? -1) >= 13) {
    // Do something
  }

  final iosDevice = await platformPlus.iosDevice;
  if (iosDevice == IOSDevice.iPhone) {
    // Do something
  }
}

Libraries

platform_plus