getPackageInfo function

Future<PackageInfoData> getPackageInfo()

Retrieves package information asynchronously.

Implementation

Future<PackageInfoData> getPackageInfo() async {
  if (isAndroid || isIOS) {
    var data = await invokeNativeMethod(channelName, 'packageInfo');

    if (data != null && data is Map) {
      // Parse package info data from native method result.
      return PackageInfoData(
        appName: data['appName'],
        packageName: data['packageName'],
        versionName: data['versionName'],
        versionCode: data['versionCode'],
        androidSDKVersion: data['androidSDKVersion'],
      );
    } else {
      // Throw an error if data retrieval fails.
      throw errorSomethingWentWrong;
    }
  } else {
    // Return empty package info for unsupported platforms.
    return PackageInfoData();
  }
}