ensureInstallationID method

Future<String> ensureInstallationID(
  1. {bool updateClient = false,
  2. dynamic onCreate(
      )?}
    )

    Implementation

    Future<String> ensureInstallationID(
        {bool updateClient = false, Function()? onCreate}) async {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      installationId = prefs.getString("installation-id");
      if (installationId == null || installationId!.isEmpty) {
        InstallationApi userApi = InstallationApi();
        await userApi.getInstallationID().then((installationIdResponse) {
          installationId = installationIdResponse.value;
          _saveValueToSharedPreferences("installation-id", installationId);
          onCreate?.call();
        }).catchError((error) {
          if (error is ApiException) {
            if (error.code == 401) {}
          }
          if (kDebugMode) {
            print(error);
          }
        });
      }
      if (updateClient) {
        updateHeader(defaultApiClient);
      }
      return Future.value(installationId);
    }