I’m creating an app using Firebase Authentication, Realtime Database, Firestore and Storage. I am not using AppCheck.
I only just added Storage in, but now I get this error over and over again:

W/StorageUtil( 9338): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.

This is the only new code I’ve added (some irrelevant methods removed):

class AccountSettingsPageState extends State<AccountSettingsPage>{
Unit8List? _image;

  void selectAndSaveImage() async {
    //Pick image file using method below this
    Uint8List img = await pickImage(ImageSource.gallery);
    setState(() {
      _image = img;

    //Save in Firebase, file name = user's uid
    Reference ref = storageRef.child('Profile Pictures').child(auth.currentUser!.uid);

  pickImage(ImageSource source) async {
    final ImagePicker imagePicker = ImagePicker();
    XFile? file = await imagePicker.pickImage(source: source);

    if(file != null){
      return await file.readAsBytes();
    } else{
      debugPrint('no image is selected');

class DatabaseHandler{

//called on startup after first downloadUsersData
  void getAllUserProfilePics() async {
    //Save profile image as Uint8List if they have one
    for (UserData user in allUsersList){
      final profilePicRef = storageRef.child(user.uid);

      // List all items at the given path
        ListResult result = await profilePicRef.listAll();

      // Check if there are any items in the list (i.e if the user has a profile picture)
      if (result.items.isNotEmpty) {
        //Save the image
        final Uint8List? image = await profilePicRef.getData(oneMegabyte);
        user.profilePic = image;

  void listenForProfilePicChanged() {
    final storageRef = FirebaseStorage.instance.ref();

    // Reference to the folder where user profile pictures are stored
    final profilePicsRef = storageRef.child('profile_pics');

    // Use asStream to convert the Future returned by listAll to a stream
    profilePicsRef.listAll().asStream().listen((ListResult result) {
      for (var itemRef in result.items) {
        // Get the UID from the item's name (assuming the UID is the name of the file)
        String uid = itemRef.name;

        // Find the corresponding UserData object in allUsersList
        UserData user = allUsersList.firstWhere(
          (userData) => userData.uid == uid

        // Check if the user exists in the list
        if (user.uid.isNotEmpty) {
          // Download the new profile picture
          itemRef.getData(oneMegabyte).then((Uint8List? image) {
            // Update the user's profile picture in the UserData object
            user.profilePic = image;

          }).catchError((error) {
            debugPrint('Error downloading profile picture: $error');