text:
🐛 [firebase_app_check] getToken() with App Attest as the provider results in unknown error for some users

Bug report
I have App Check setup to use the App Attest provider in my app. After releasing this version to the App Store, I'm seeing quite a few App Attest errors in Google Cloud:

The biggest point of failure is ExchangeAppAttestAttestation which has a failure rate of almost 25%. In Crashlytics, I'm seeing a number of App Check errors that I'm assuming are related: [firebase_app_check/unknown] The operation couldn’t be completed. (com.firebase.appCheck error 0.). Even though my personal device isn't throwing any App Check errors, I've seen a few errors from my peers' devices. All of the devices throwing errors are on at least iOS 15 and are not jailbroken, so App Attest should succeed on these.
I'm able to retrieve a valid token when using the debug provider. When running the app in debug mode on my own device and fetching a token using App Attest, I'm also receiving a valid token, so this is a difficult issue to debug.
Steps to reproduce
Steps to reproduce the behavior:

Activate App Check with App Attest as the iOS provider
Fetch an App Check token for every request
Run the app on a variety of devices

Expected behavior
When using Device Check in previous releases, ExchangeDeviceCheckToken had a failure rate of only 0.12% across ~500,000 requests. I'd expect a similar result when using App Attest.
Sample project
await FirebaseAppCheck.instance.activate(
  appleProvider:
      AppleProvider.appAttestWithDeviceCheckFallback,
);
await FirebaseAppCheck.instance.setTokenAutoRefreshEnabled(true);
await FirebaseAppCheck.instance.getToken();

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 3.0.2, on macOS 12.6.3 21G419 darwin-arm, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] VS Code (version 1.76.2)
[✓] Connected device (4 available)
[✓] HTTP Host Availability

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.17.3
Flutter SDK 3.0.2
mobile_wallet 1.3.0

dependencies:
- android_intent_plus 3.1.6 [flutter platform meta]
- another_flushbar 1.12.29 [flutter]
- app_links 3.4.1 [flutter app_links_platform_interface flutter_web_plugins]
- argon2 1.0.1 [pointycastle hex]
- auto_size_text_field 2.1.0 [flutter]
- background_fetch 1.1.0 [flutter]
- bech32 0.2.1 [convert]
- bs58 1.0.2 [base_x]
- cached_network_image 3.2.1 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- clock 1.1.0
- connectivity_plus 2.2.1 [flutter connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows]
- contacts_service 0.6.3 [flutter collection quiver]
- credit_card_type_detector 2.0.0
- crypto 3.0.1 [collection typed_data]
- cryptography 2.0.5 [collection crypto fixnum js meta typed_data]
- csv 5.0.1
- dargon2 3.2.1 [dargon2_core]
- decimal 1.5.0 [rational]
- dio 4.0.6 [http_parser path]
- dio_logger 4.0.8+8 [dio]
- dots_indicator 2.1.0 [flutter]
- encrypt 5.0.1 [args asn1lib clock collection crypto pointycastle]
- equatable 2.0.5 [collection meta]
- ethereum_addresses 1.0.2 [convert pointycastle]
- expandable_page_view 1.0.10 [flutter]
- firebase_analytics 10.1.0 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_app_check 0.1.1+13 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_core 2.7.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.0.9 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_dynamic_links 5.0.11 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_installations 16.3.6 [flutter]
- firebase_messaging 14.2.1 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.9.0+9 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_remote_config 3.0.9 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- fixnum 1.0.1
- fk_user_agent 2.1.0 [flutter]
- flip_card 0.7.0 [flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_dotenv 5.0.2 [flutter]
- flutter_google_places_sdk 0.3.2+5 [flutter flutter_google_places_sdk_platform_interface flutter_google_places_sdk_ios flutter_google_places_sdk_web flutter_google_places_sdk_android]
- flutter_inappwebview 5.7.1+2 [flutter]
- flutter_libphonenumber 1.3.0 [flutter]
- flutter_local_notifications 9.6.1 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_phoenix 1.1.0 [flutter]
- flutter_secure_storage 5.0.2 [meta flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows]
- flutter_slidable 1.3.0 [flutter]
- flutter_sms 2.3.3 [flutter flutter_web_plugins plugin_platform_interface url_launcher]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- get 4.6.5 [flutter]
- grpc 3.0.2 [archive async crypto fixnum googleapis_auth meta http http2 protobuf]
- hashids2 2.0.0
- hex 0.2.0
- http 0.13.4 [async http_parser meta path]
- image_picker 0.8.5+3 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- instabug_flutter 11.2.0 [flutter meta stack_trace]
- intercom_flutter 7.4.0 [flutter flutter_web_plugins intercom_flutter_platform_interface intercom_flutter_web]
- intl 0.17.0 [clock path]
- json_annotation 4.7.0 [meta]
- local_auth 1.1.11 [flutter flutter_plugin_android_lifecycle intl platform]
- logger 1.1.0
- mask_text_input_formatter 2.4.0 [flutter]
- mixin_bot_sdk_dart 0.3.0 [convert dart_jsonwebtoken sprintf uuid dio json_annotation crypto meta equatable enum_to_string recase ed25519_edwards collection x25519 pointycastle]
- mixpanel_flutter 2.0.0 [flutter flutter_web_plugins js]
- mobilecoin_flutter 0.0.1 [crypto decimal equatable flutter]
- modal_bottom_sheet 2.0.1 [flutter]
- mutex 3.0.1
- page_transition 2.0.5 [flutter]
- path_provider 2.0.9 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- permission_handler 9.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface]
- plaid_flutter 3.0.1 [flutter flutter_web_plugins plugin_platform_interface js]
- protobufs 0.0.0 [grpc protobuf]
- qr_code_scanner 1.0.0 [js flutter flutter_web_plugins]
- qr_flutter 4.0.0 [flutter qr]
- rxdart_ext 0.0.1 [rxdart meta stack_trace path]
- screenshot 1.3.0 [flutter]
- sentry 6.18.1 [http meta stack_trace uuid intl]
- share_plus 4.0.3 [meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web]
- shared_preferences 2.0.13 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 2.0.0 [flutter]
- simple_animations 4.0.1 [flutter flutter_lints collection]
- sliding_sheet 0.5.2 [flutter]
- twilio_phone_verify 2.0.0 [flutter http]
- url_launcher 6.1.3 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 3.0.6 [crypto]
- webview_flutter 3.0.1 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]

dev dependencies:
- build_runner 2.3.0 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- fake_async 1.3.0 [clock collection]
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- golden_toolkit 0.13.0 [flutter flutter_test meta]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters charcode clock collection crypto fake_async file matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math webdriver]
- json_serializable 6.5.4 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]
- mocktail 0.3.0 [collection matcher test]
- recase 4.0.0
- very_good_analysis 2.4.0

transitive dependencies:
- _fe_analyzer_shared 47.0.0 [meta]
- _flutterfire_internals 1.0.17 [collection firebase_core firebase_core_platform_interface flutter meta]
- adaptive_number 1.0.0 [fixnum]
- analyzer 4.7.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- app_links_platform_interface 1.1.0 [flutter plugin_platform_interface]
- archive 3.1.11 [crypto path]
- args 2.3.0
- asn1lib 1.1.0
- async 2.8.2 [collection meta]
- base_x 2.0.0
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.10 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.3 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.2.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.16.0
- connectivity_plus_linux 1.3.0 [flutter connectivity_plus_platform_interface meta nm]
- connectivity_plus_macos 1.2.1 [connectivity_plus_platform_interface flutter]
- connectivity_plus_platform_interface 1.2.0 [flutter meta plugin_platform_interface]
- connectivity_plus_web 1.2.0 [connectivity_plus_platform_interface flutter_web_plugins flutter]
- connectivity_plus_windows 1.2.0 [connectivity_plus_platform_interface flutter]
- convert 3.0.1 [typed_data]
- coverage 1.2.0 [args logging package_config path source_maps stack_trace vm_service]
- cross_file 0.3.3+1 [js meta]
- dargon2_core 2.1.1 [ffi dargon2_interface]
- dargon2_interface 1.1.0 [convert]
- dart_jsonwebtoken 2.4.1 [crypto pointycastle convert collection]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- dbus 0.7.8 [args ffi meta xml]
- ed25519_edwards 0.3.1 [collection crypto convert adaptive_number]
- enum_to_string 2.0.1
- ffi 2.0.1
- file 6.1.2 [meta path]
- firebase_analytics_platform_interface 3.3.17 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.1+8 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_app_check_platform_interface 0.0.5+16 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.0.7+16 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_core_platform_interface 4.5.3 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.2.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.3.10 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.2.10 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.2.11 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_performance_platform_interface 0.1.1+29 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.1+18 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js]
- firebase_remote_config_platform_interface 1.1.29 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.1.18 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js]
- flutter_blurhash 0.7.0 [flutter]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver archive async boolean_selector characters charcode clock collection crypto matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_google_places_sdk_android 0.1.2+5 [flutter flutter_google_places_sdk_platform_interface]
- flutter_google_places_sdk_ios 0.1.2+3 [flutter flutter_google_places_sdk_platform_interface]
- flutter_google_places_sdk_platform_interface 0.2.4+3 [flutter plugin_platform_interface]
- flutter_google_places_sdk_web 0.1.3+3 [flutter flutter_web_plugins flutter_google_places_sdk_platform_interface js google_maps collection]
- flutter_local_notifications_linux 0.5.0+1 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 2.0.5 [flutter]
- flutter_secure_storage_linux 1.1.0 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 1.1.0 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.0 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.0.2 [flutter flutter_web_plugins flutter_secure_storage_platform_interface js]
- flutter_secure_storage_windows 1.1.2 [flutter flutter_secure_storage_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- glob 2.0.2 [async collection file path string_scanner]
- google_maps 6.2.0 [js_wrapping meta]
- googleapis_auth 1.3.0 [crypto http http_parser]
- graphs 2.2.0 [collection]
- http2 2.0.0
- http_multi_server 3.2.0 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image_picker_android 0.8.5+1 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.1.8 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_ios 0.8.5+6 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.5.0 [cross_file flutter http plugin_platform_interface]
- intercom_flutter_platform_interface 1.2.0 [flutter plugin_platform_interface]
- intercom_flutter_web 0.2.0 [flutter flutter_web_plugins intercom_flutter_platform_interface uuid]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- js_wrapping 0.7.4 [js]
- lints 1.0.1
- logging 1.0.2
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.4
- meta 1.7.0
- mime 1.0.1
- nm 0.5.0 [dbus]
- node_preamble 2.0.1
- octo_image 1.0.2 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- path 1.8.1
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.13 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.8 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.5 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.3 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.5 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_android 9.0.2+1 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.0.2 [flutter permission_handler_platform_interface]
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.1.0 [flutter permission_handler_platform_interface]
- petitparser 5.0.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- pointycastle 3.6.1 [collection convert js]
- pool 1.5.0 [async stack_trace]
- process 4.2.4 [file path platform]
- protobuf 2.0.1 [fixnum collection]
- pub_semver 2.1.1 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- qr 2.1.0 [meta]
- quiver 3.0.1+1 [matcher]
- rational 1.2.1
- rxdart 0.26.0
- share_plus_linux 3.0.0 [share_plus_platform_interface file flutter meta url_launcher]
- share_plus_macos 3.0.0 [share_plus_platform_interface flutter]
- share_plus_platform_interface 3.0.2 [flutter meta mime plugin_platform_interface]
- share_plus_web 3.0.0 [share_plus_platform_interface url_launcher flutter flutter_web_plugins meta]
- share_plus_windows 3.0.0 [share_plus_platform_interface flutter meta url_launcher]
- shared_preferences_android 2.0.11 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.0 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.3 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.3 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.3.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.0 [path shelf shelf_static]
- shelf_static 1.1.0 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.6 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.3 [analyzer collection source_gen]
- source_map_stack_trace 2.1.0 [path stack_trace source_maps]
- source_maps 0.10.10 [source_span]
- source_span 1.8.2 [collection path term_glyph]
- sprintf 6.0.0
- sqflite 2.0.3 [flutter sqflite_common path]
- sqflite_common 2.2.1+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.1.0
- string_scanner 1.1.0 [charcode source_span]
- sync_http 0.3.0
- synchronized 3.0.0+2
- term_glyph 1.2.0
- test 1.21.1 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.4.9 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.13 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timezone 0.8.0 [path]
- timing 1.0.1 [json_annotation]
- typed_data 1.3.0 [collection]
- url_launcher_android 6.0.15 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.15 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.0 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.0 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.0.5 [flutter plugin_platform_interface]
- url_launcher_web 2.0.8 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.0 [flutter url_launcher_platform_interface]
- vector_math 2.1.2
- vm_service 8.2.2
- watcher 1.0.1 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- webdriver 3.0.0 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.1.0 [logging]
- webview_flutter_android 2.8.3 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.8.1 [flutter plugin_platform_interface]
- webview_flutter_wkwebview 2.7.1 [flutter webview_flutter_platform_interface]
- win32 3.1.3 [ffi]
- x25519 0.1.1 [collection adaptive_number]
- xdg_directories 0.2.0+1 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Thanks for the report @bcgreijnlautier

I'm able to retrieve a valid token when using the debug provider. When running the app in debug mode on my own device and fetching a token using App Attest, I'm also receiving a valid token, so this is a difficult issue to debug.

Same with me. Tried with plugin example on iOS in debug mode was able to retrieve the token.
Maybe check this issue comment and see if it helps in your case ?

That comment only relates to the debug provider, which I'm not having any issues with. The App Attest provider is what's causing a problem, and only for a percentage of my users. I don't know if it's a problem in the Flutter or iOS Firebase SDK, or if it's an issue with Apple, but the only log I'm able to see is [firebase_app_check/unknown] The operation couldn’t be completed. (com.firebase.appCheck error 0.) so I don't know how to debug this.

I'm not familiar with app_check and I'm having some issues with the setup at the moment, so I'll label this for further investigation

After talking with some coworkers whose devices are throwing this error, I've determined that the error is triggered by migrating to a new iPhone after installing the app and using App Attest. The attestation key and artifact are being migrated as well, resulting in a verification failure since they are not valid on the new device. See this comment for more context: https://github.com/firebase/firebase-ios-sdk/issues/10561#issuecomment-1358724642.
One solution would involve clearing out the attestation key and artifact when com.firebase.appCheck error 0 is encountered. This is sort of a nuclear option though since this error code could be returned for other reasons. In any case, the App Check iOS SDK would either need to handle this internally, or at least expose the resetAttestation method to allow apps to call it themselves, which would then give FlutterFire the option to expose this method for Flutter apps. It looks like a solution is out of reach for this repo until https://github.com/firebase/firebase-ios-sdk/issues/10561 is resolved.
I wrote a plugin that resolves this issue for now:
import FirebaseAppCheck
import FirebaseCore
import Flutter
import KeychainAccess

public class FirebaseAppCheckUtilsPlugin: NSObject, FlutterPlugin {
    private final var appCheckArtifactKeychainService = "com.firebase.app_check.app_attest_artifact_storage"
    private final var appCheckKeyIDSuiteName = "com.firebase.FIRAppAttestKeyIDStorage"

    public static func register(with registrar: FlutterPluginRegistrar) {
        let channel = FlutterMethodChannel(name: "firebase_app_check_utils", binaryMessenger: registrar.messenger())
        let instance = FirebaseAppCheckUtilsPlugin()
        registrar.addMethodCallDelegate(instance, channel: channel)
    }

    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        switch call.method {
        case "resetAttestation":
            resetAttestation(result: result)
        default:
            result(FlutterMethodNotImplemented)
        }
    }

    private func handleError(error: Error, result: FlutterResult) {
        var code: String
        switch error {
        case AppCheckError.nilApp:
            code = "no_firebase_app_exists"
        default:
            code = "unknown"
        }
        result(FlutterError(code: code, message: nil, details: nil))
    }

    private func resetAttestation(result: FlutterResult) {
        do {
            try resetAppCheckKeyID()
            try resetAppCheckArtifact()
            result(nil)
        } catch {
            handleError(error: error, result: result)
        }
    }

    private func resetAppCheckKeyID() throws -> Void {
        let suffix = try appCheckStorageKeySuffix()
        let keyIDStorageKey = "app_attest_keyID.\(suffix)"
        let userDefaults = UserDefaults(suiteName: appCheckKeyIDSuiteName)
        userDefaults?.removeObject(forKey: keyIDStorageKey)

    }

    private func resetAppCheckArtifact() throws -> Void {
        let accessGroup = try firebaseApp().options.appGroupID
        let keychain: Keychain = {
            if accessGroup == nil {
                return Keychain(service: appCheckArtifactKeychainService)
            } else {
                return Keychain(service: appCheckArtifactKeychainService, accessGroup: accessGroup!)
            }
        }()
        let suffix = try appCheckStorageKeySuffix()
        let artifactStorageKey = "app_check_app_attest_artifact.\(suffix)"
        let artifact = try keychain.getData(artifactStorageKey)
        try keychain.remove(artifactStorageKey)
    }

    private func firebaseApp() throws -> FirebaseApp {
        if let app = FirebaseApp.app() {
            return app
        }
        throw AppCheckError.nilApp
    }

    private func appCheckStorageKeySuffix() throws -> String {
        let app = try firebaseApp()
        let appName = app.name
        let appID = app.options.googleAppID
        return "\(appName).\(appID)"
    }
}

enum AppCheckError : Error {
    case nilApp
}

If the app encounters com.firebase.appCheck error 0, it calls resetAttestation in this plugin, forcing App Check to restart attestation.

Any updates on this? Looks like https://github.com/firebase/firebase-ios-sdk/issues/10561 is now resolved and no longer blocking

Sample to trigger issue:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  await FirebaseAppCheck.instance.activate(
    appleProvider: AppleProvider.appAttestWithDeviceCheckFallback,
  );
  await FirebaseAppCheck.instance.setTokenAutoRefreshEnabled(true);
  final appCheckToken = await FirebaseAppCheck.instance.getToken();
  print(appCheckToken);
  runApp(
    const MaterialApp(
      title: 'test',
      home: LoadingIndicator(),
    ),
  );
}

cc @russellwheatley, it seems like the issue that was blocking might have been fixed on the firebase sdk.

Any updates on this issue? We are experiencing the same problem using the latest version.

I got it working.
You need to add the App Attest Entitlement and change the value to production.
Something like this:
`

com.apple.developer.devicecheck.appattest-environment
production

`
![image](https://github.com/firebase/flutterfire/assets/212434/ebb13788-bf9d-470b-b1bb-d2deb40bef2c)

authors: Trulsmatias bantunes22 bcgreijnlautier cedvdb danagbemava-nc darshankawar

repo: firebase/flutterfire


text:
🐛 [firebase_storage] Storage access is broken on Android/iOS since 11.4.0

Bug report
Describe the bug
Since firebase_storage 11.4.0, while google cloud storage works on Windows builds, we keep getting unauthorized/permissions denied errors on Android/iOS when we try and use the same code (getDownloadUrl() on a storage reference object). To reiterate, the exact same Flutter App says unauthorised on Android and iOS but works on Windows (same credentials).  The Android and iOS apps work as expected on firebase_storage 11.3.1 (with all other dependencies in our pubspec.yaml staying the same)
Steps to reproduce
Steps to reproduce the behavior:

Initialize Firebase App:

try {
        Firebase.initializeApp(
          options: DefaultFirebaseOptions.currentPlatform,
        );
      } catch (e) {
        log("Error initializing Firebase App: $e");
      }

(The firebase app is definitely initialised properly, as we use firebase auth to auth into the App which works, and we use firestore which all seems to work just fine).

Create reference to storage object:

final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
final String = await storageRef.getDownloadURL();

See error below:

Error:
Click To Expand Error
E/StorageException( 6672): StorageException has occurred.
E/StorageException( 6672): User does not have permission to access this object.
E/StorageException( 6672):  Code: -13021 HttpResult: 403
E/StorageException( 6672): {  "error": {    "code": 403,    "message": "Permission denied."  }}
E/StorageException( 6672): java.io.IOException: {  "error": {    "code": 403,    "message": "Permission denied."  }}
E/StorageException( 6672): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:445)
E/StorageException( 6672): 	at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(NetworkRequest.java:462)
E/StorageException( 6672): 	at com.google.firebase.storage.network.NetworkRequest.processResponseStream(NetworkRequest.java:453)
E/StorageException( 6672): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:272)
E/StorageException( 6672): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:289)
E/StorageException( 6672): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:76)
E/StorageException( 6672): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
E/StorageException( 6672): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
E/StorageException( 6672): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
E/StorageException( 6672): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
E/StorageException( 6672): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
E/StorageException( 6672): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
E/StorageException( 6672): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
E/StorageException( 6672): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
E/StorageException( 6672): 	at java.lang.Thread.run(Thread.java:1012)

---
Flutter doctor -v output:
Click To Expand
[√] Flutter (Channel stable, 3.13.6, on Microsoft Windows [Version 10.0.22621.2428], locale en-AU)
    • Flutter version 3.13.6 on channel stable at C:\Users\tisma\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ead455963c (5 weeks ago), 2023-09-26 18:28:17 -0700
    • Engine revision a794cf2681
    • Dart version 3.1.3
    • DevTools version 2.25.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\tisma\AppData\Local\Android\sdk

[√] VS Code (version 1.83.1)
    • VS Code at C:\Users\tisma\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (4 available)
    • SM G996B (mobile) • RFCRB1LGR9W • android-arm64  • Android 13 (API 33)
    • Windows (desktop) • windows     • windows-x64    • Microsoft Windows [Version 10.0.22621.2428]
    • Chrome (web)      • chrome      • web-javascript • Google Chrome 118.0.5993.118
    • Edge (web)        • edge        • web-javascript • Microsoft Edge 118.0.2088.76

[√] Network resources
    • All expected network resources are available.

• No issues found!
PS C:\Users\tisma\Documents\GitHub\Overlay-Flutter-API\overlaystarter>

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
(When we downgrade to firebase_storage 11.3.1, it works fine on Android/iOS but then we obviously lose Windows support)
Dart SDK 3.1.3
Flutter SDK 3.13.6
overlaystarter 1.0.0+1

dependencies:
Dart SDK 3.1.3
Flutter SDK 3.13.6
overlaystarter 1.0.0+1

dependencies:
- animated_text_kit 4.2.2 [flutter characters]
- archive 3.3.7 [crypto path pointycastle]
- auto_route 7.1.0 [flutter path collection meta]
- bloc 8.1.1 [meta]
- cached_network_image 3.2.3 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- camera 0.10.5 [camera_android camera_avfoundation camera_platform_interface camera_web flutter flutter_plugin_android_lifecycle quiver]
- camera_android_camerax 0.5.0+16 [async camera_platform_interface flutter integration_test meta stream_transform]
- chewie 1.5.0 [cupertino_icons flutter provider video_player wakelock]
- cloud_firestore 4.12.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 4.5.1 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- connectivity_plus 4.0.0 [flutter flutter_web_plugins connectivity_plus_platform_interface js meta nm]
- crypto 3.0.3 [typed_data]
- curved_labeled_navigation_bar 2.0.2 [flutter meta]
- device_info 2.0.3 [flutter device_info_platform_interface]
- dio 5.1.2 [http_parser meta path]
- dio_smart_retry 5.0.0 [dio http_parser path]
- equatable 2.0.5 [collection meta]
- firebase_auth 4.12.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.20.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_storage 11.4.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math web sky_engine]
- flutter_bloc 8.1.2 [flutter bloc provider]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_svg_provider 1.0.4 [flutter http flutter_svg]
- fluttericon 2.0.0 [flutter]
- fluttertoast 8.2.1 [flutter flutter_web_plugins]
- geolocator 9.0.2 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows]
- google_fonts 4.0.4 [flutter http path_provider crypto]
- google_sign_in 6.1.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- html 0.15.3 [csslib source_span]
- image 4.0.17 [archive meta xml]
- image_picker 0.8.6 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- intl 0.18.1 [clock meta path]
- just_audio 0.9.32 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter]
- just_audio_windows 0.2.0 [flutter]
- launchdarkly_flutter_client_sdk 3.0.0 [quiver flutter]
- loading_animation_widget 1.2.0+4 [flutter]
- meta 1.9.1
- overlay 0.0.1 [firebase_auth flutter google_sign_in cloud_firestore firebase_storage dio connectivity_plus dio_smart_retry permission_handler path_provider mockito device_info image archive firebase_core url_launcher launchdarkly_flutter_client_sdk]
- overlay_components 0.0.1 [flutter just_audio chewie video_player image_picker html url_launcher google_fonts firebase_storage provider dio dio_smart_retry fluttertoast cached_network_image]
- overlayobjectdetection 0.0.1 [flutter camera path_provider flutter_bloc image google_mlkit_object_detection overlay google_mlkit_commons dio]
- overlaytraining 0.0.1 [camera dio dio_smart_retry flutter image overlay path_provider firebase_storage]
- package_info_plus 3.1.2 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32]
- path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- permission_handler 10.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface]
- rive 0.11.0 [collection flutter flutter_web_plugins http meta plugin_platform_interface rive_common]
- rive_common 0.0.6 [flutter flutter_web_plugins collection ffi graphs http meta plugin_platform_interface]
- scroll_navigation 1.3.2 [flutter helpers]
- selectable_autolink_text 2.6.0 [flutter]
- sentry_flutter 7.10.1 [flutter flutter_web_plugins sentry package_info_plus meta ffi]
- shared_preferences 2.1.2 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 3.0.0 [flutter]
- smooth_page_indicator 1.1.0 [flutter]
- svg_path_parser 1.1.1 [string_scanner flutter]
- synchronized 3.1.0
- url_launcher 6.1.11 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- video_player 2.6.1 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web]

dev dependencies:
- auto_route_generator 7.0.0 [build source_gen analyzer path build_runner code_builder dart_style xml args glob auto_route]
- build_runner 2.4.6 [analyzer args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_launcher_icons 0.13.1 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_lints 2.0.3 [lints]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math async boolean_selector characters collection material_color_utilities meta source_span stream_channel string_scanner term_glyph web]

dependency overrides:
- flutter_layout_grid 2.0.5 [flutter collection meta quiver]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]

transitive dependencies:
- _fe_analyzer_shared 61.0.0 [meta]
- _flutterfire_internals 1.3.10 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.13.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.4.2
- async 2.11.0 [collection meta]
- audio_session 0.1.16 [flutter flutter_web_plugins rxdart meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.4.1 [analyzer async convert crypto glob logging meta package_config path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 4.0.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.4.1 [analyzer async build collection convert crypto graphs logging package_config path pool pub_semver stream_transform yaml]
- build_runner_core 7.2.11 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta package_config path pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.6.3 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 2.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.2 [flutter flutter_cache_manager cached_network_image_platform_interface]
- camera_android 0.10.8+13 [camera_platform_interface flutter flutter_plugin_android_lifecycle stream_transform]
- camera_avfoundation 0.9.13+6 [camera_platform_interface flutter stream_transform]
- camera_platform_interface 2.6.0 [cross_file flutter plugin_platform_interface stream_transform]
- camera_web 0.3.2+3 [camera_platform_interface flutter flutter_web_plugins stream_transform]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- cli_util 0.4.0 [meta path]
- clock 1.1.1
- cloud_firestore_platform_interface 6.0.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.8.2 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.5.4 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.6.4 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.7.0 [built_collection built_value collection matcher meta]
- collection 1.17.2
- connectivity_plus_platform_interface 1.2.4 [flutter meta plugin_platform_interface]
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+6 [js meta]
- csslib 0.17.3 [source_span]
- cupertino_icons 1.0.6
- dart_style 2.3.2 [analyzer args path pub_semver source_span]
- dbus 0.7.8 [args ffi meta xml]
- device_info_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- fake_async 1.3.1 [clock collection]
- ffi 2.1.0
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 7.0.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.8.5 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.8.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 5.0.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.6.11 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.1.0
- flutter_blurhash 0.7.0 [flutter]
- flutter_cache_manager 3.3.1 [clock collection file flutter http path path_provider rxdart sqflite uuid]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver async boolean_selector characters clock collection matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api vector_math web]
- flutter_plugin_android_lifecycle 2.0.17 [flutter]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math web]
- frontend_server_client 3.2.0 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- geolocator_android 4.3.1 [flutter geolocator_platform_interface uuid]
- geolocator_apple 2.3.2 [flutter geolocator_platform_interface]
- geolocator_platform_interface 4.1.1 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.2.0 [flutter flutter_web_plugins geolocator_platform_interface]
- geolocator_windows 0.1.3 [flutter geolocator_platform_interface]
- glob 2.1.2 [async collection file path string_scanner]
- google_identity_services_web 0.2.2 [js meta]
- google_mlkit_commons 0.3.0 [flutter]
- google_mlkit_object_detection 0.7.0 [flutter google_mlkit_commons]
- google_sign_in_android 6.1.20 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.4 [flutter google_sign_in_platform_interface pigeon]
- google_sign_in_platform_interface 2.4.2 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0+5 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- graphs 2.3.1 [collection]
- helpers 1.2.3 [flutter vector_math]
- http 0.13.6 [async http_parser meta]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image_picker_android 0.8.8+2 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.2.0 [flutter flutter_web_plugins image_picker_platform_interface mime]
- image_picker_ios 0.8.8+2 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.9.1 [cross_file flutter http plugin_platform_interface]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service async boolean_selector characters clock collection fake_async file matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api vector_math web webdriver]
- io 1.0.4 [meta path string_scanner]
- js 0.6.7 [meta]
- json_annotation 4.8.1 [meta]
- just_audio_platform_interface 4.2.1 [flutter plugin_platform_interface]
- just_audio_web 0.4.8 [just_audio_platform_interface flutter flutter_web_plugins]
- lints 2.1.1
- logging 1.2.0
- matcher 0.12.16 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.5.0 [collection]
- mime 1.0.4
- mockito 5.4.2 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- nested 1.0.0 [flutter]
- nm 0.5.0 [dbus]
- octo_image 1.0.2 [flutter flutter_blurhash]
- package_config 2.1.0 [path]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- path 1.8.3
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.2.1 [flutter path_provider_platform_interface]
- path_provider_foundation 2.3.1 [flutter path_provider_platform_interface]
- path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.1.1 [flutter platform plugin_platform_interface]
- path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32]
- permission_handler_android 10.3.6 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.1.4 [flutter permission_handler_platform_interface]
- permission_handler_platform_interface 3.12.0 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.1.3 [flutter permission_handler_platform_interface]
- petitparser 5.4.0 [meta]
- pigeon 11.0.1 [analyzer args collection meta path yaml]
- platform 3.1.0
- plugin_platform_interface 2.1.6 [meta]
- pointycastle 3.7.3 [collection convert js]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- provider 6.0.5 [collection flutter nested]
- pub_semver 2.1.4 [collection meta]
- pubspec_parse 1.2.3 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.2.1 [matcher]
- rxdart 0.27.7
- sentry 7.10.1 [http meta stack_trace uuid]
- shared_preferences_android 2.2.1 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.3.4 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.3.1 [flutter plugin_platform_interface]
- shared_preferences_web 2.2.1 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- uuid 3.0.7 [crypto]
- vector_math 2.1.4
- video_player_android 2.4.10 [flutter video_player_platform_interface]
- video_player_avfoundation 2.5.0 [flutter video_player_platform_interface]
- video_player_platform_interface 6.2.1 [flutter plugin_platform_interface]
- video_player_web 2.1.1 [flutter flutter_web_plugins video_player_platform_interface]
- vm_service 11.7.1
- wakelock 0.6.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.1 [flutter wakelock_platform_interface win32]
- watcher 1.1.0 [async path]
- web 0.1.4-beta
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webdriver 3.0.2 [matcher path stack_trace sync_http]
- win32 3.1.4 [ffi]
- xdg_directories 1.0.3 [meta path]
- xml 6.3.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]

@Tclha
I am unable to replicate this using plugin example. Can you try the same and confirm ?

Same issue here, Get "[firebase_storage/unauthorized] User is not authorized to perform the desired action." error after update the version to "11.4.1" from "11.2.7"

@Tclha I am unable to replicate this using plugin example. Can you try the same and confirm ?

I just built the example app, and Im unable to upload a file or a string, I keep getting this error on repeat:
Error:
W/NetworkRequest(10236): error sending network request POST http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o
W/NetworkRequest(10236): java.net.NoRouteToHostException: Host unreachable
W/NetworkRequest(10236): 	at libcore.io.IoBridge.connect(IoBridge.java:182)
W/NetworkRequest(10236): 	at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
W/NetworkRequest(10236): 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
W/NetworkRequest(10236): 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
W/NetworkRequest(10236): 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
W/NetworkRequest(10236): 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
W/NetworkRequest(10236): 	at java.net.Socket.connect(Socket.java:646)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
W/NetworkRequest(10236): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
W/NetworkRequest(10236): 	at com.google.firebase.storage.network.NetworkRequest.constructMessage(NetworkRequest.java:370)
W/NetworkRequest(10236): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:242)
W/NetworkRequest(10236): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(10236): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(10236): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(10236): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(10236): 	at com.google.firebase.storage.UploadTask.sendWithRetry(UploadTask.java:527)
W/NetworkRequest(10236): 	at com.google.firebase.storage.UploadTask.beginResumableUpload(UploadTask.java:293)
W/NetworkRequest(10236): 	at com.google.firebase.storage.UploadTask.run(UploadTask.java:241)
W/NetworkRequest(10236): 	at com.google.firebase.storage.StorageTask.lambda$getRunnable$7$com-google-firebase-storage-StorageTask(StorageTask.java:1077)
W/NetworkRequest(10236): 	at com.google.firebase.storage.StorageTask$$ExternalSyntheticLambda7.run(Unknown Source:2)
W/NetworkRequest(10236): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(10236): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(10236): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(10236): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(10236): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(10236): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(10236): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(10236): network unavailable, sleeping.
W/StorageUtil(10236): no auth token for request
W/StorageUtil(10236): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(10236): no auth token for request
D/TrafficStats(10236): tagSocket(78) with statsTag=0xffffffff, statsUid=-1

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

This issue is really serious. You can easily fix it by just pinning as below. So no server and not other library is invlovled.
firebase_storage 11.3.1 (overridden) (11.4.1 available)

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

The firebase_storage library works when I downgrade to 11.3.1, just doesn't work on mobile when I upgrade to 11.4.0 (but it DOES work on windows), this doesn't seem like an issue with firebase itself surely?

This is affecting us too. We had to downgrade the version.
Also it seems that some metadata were sent automatically before (e.g., Content-Type), with the latest version that's not true anymore.

Thanks for the update. Based on the originally reported behavior and per my verification, keeping this issue open and labeling for team's attention.

I had the same issue, I resolved it by changing versions of firebase storage and other packages (as it seems like other packeges and core come into play) to the following.
  firebase_core: 2.16.0
  firebase_storage: 11.2.7
  firebase_auth: ^4.10.0
  firebase_database:  @^10.2.6

I'm also having the same issue. Pinning to 11.3.1 as suggested above seems to be the best solution for now.

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056): 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056): 	at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056): 	at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056): 	at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056): 	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056): 	at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

The firebase_storage library works when I downgrade to 11.3.1, just doesn't work on mobile when I upgrade to 11.4.0 (but it DOES work on windows), this doesn't seem like an issue with firebase itself surely?

You need to run the storage emulator for it to work. Hence why host is unreachable.

@Tclha - regarding your issue. I presume you're using the non-default bucket in the code snippet you provided?
final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
final String = await storageRef.getDownloadURL();

If so, I believe I have a fix for your issue here:https://github.com/firebase/flutterfire/pull/11844

Still doesnt work on latest, also, @russellwheatley I don't understand how that fixes anything, that's how i'm accessing images and they wont load (im also using nondefault storage).

@cyberpwnn - this fix - #1844. We've just published the latest version (11.5.0). Let me know if it resolves your issue.

@Tclha - regarding your issue. I presume you're using the non-default bucket in the code snippet you provided?
final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
final String = await storageRef.getDownloadURL();

If so, I believe I have a fix for your issue here:#11844

Yup I was using a non defualt bucket, and the latest update has fixed it, thanks! Closing the issue

That fixed it, thanks @russellwheatley

source: gharchive/issue

authors: AkanshDivker Alex-web0 Desno365 HairoLabs Tclha cyberpwnn darshankawar live9080 russellwheatley

license_type: permissive

license_source: bigquery


text:
Remove onGeoQueryReady

I don't quite understand why there is a need for this event. Also, there's quite a lot of logic involved.
Is there any use case for this? Are many people using it? If not I'd vote to remove it to have a leaner, smaller API footprint.

@vanniktech I believe the use case for this is similar to onDataChanged in the Realtime Database SDK.  Basically this lets you know that you have received all of the onKey{Blah} events that you will get in the first batch.
This helps if you are doing UI operations when keys appear/disappear that would benefit from batching.  For example maybe you're adding all of the items to a RecyclerView and only want to refresh the view after all the locations are loaded.  Or maybe you have a "Loading" indicator you want to dismiss after the GeoQuery resolves for the first time.

Interesting use case but would not you also want to know about the 2nd time when the query was executed and done?
Maybe the GeoQuery class would benefit from becoming immutable so if you want a new Query you'll need to use the queryAt function and get a new GeoQuery instance back.

Interesting use case but would not you also want to know about the 2nd time when the query was executed and done?

Yes you're probably right, and this is what happens with onDataChanged.  So maybe this would be more useful if we always fired an onGeoQueryReady event after each batch of child events.  In which case we'd probably want to rename the callback.

I've given this some more thought and I don't see the value of really having this onGeoQueryReady function. It would be interesting to see how many people are using this and how.

We rely on onGeoQueryReady for the use cases @samstern laid out with our recycler views and now also geofire JavaScript in our backend. It's been working perfectly, although we're dealing with static locations and a center location that doesn't move, so we're essentially using it to perform a "single" listener.

So when you get the event you'll dismiss the loading in dicator in the recyclerview?

Exactly, and in our case we also kill the listener since our use case doesn't require any update events.

Interesting this is yet another behavior which is different from the current use case without the onGeoQueryReady and delta updates (#88).
I think having one listener that's capable of everything is not really feasible.

The initial data load (in both regular Firebase and GeoFire) is usually much bigger than subsequent delta data updates. For this reason many apps want to gather the initial screen updates in a batch, while they'll pass subsequent updates to the screen one-by-one. Removing onGeoQueryReady would make that harder.

Alright. I'll close this then since there's an obvious need for this. I'll try to think how we can do the listeners better nonetheless though and possible don't require doing all of the heavy work in case you don't need it. onGeoQueryReady in this case.

authors: ahaverty puf samtstern vanniktech

repo: firebase/geofire-java

license: mit


text:
I ran into a problem with FCM Report 501

When I started the FCM, I did not encounter any problems. APNS also works.
Below is the FCM Log：
4.9.0 - [Firebase/Crash][I-CRA000004] Successfully initialized
4.9.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifi
cations proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
4.9.0 - [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40009000 started
4.9.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
But when I send a message:
https://user-images.githubusercontent.com/13215544/36961999-b3bd93c2-2088-11e8-8769-956c6ad8d7ba.png
https://user-images.githubusercontent.com/13215544/36962049-e3d60710-2088-11e8-93e8-f4b70343eb11.png
https://user-images.githubusercontent.com/13215544/36962538-f7787c38-208a-11e8-99ac-0dd6af82e62c.png
Can you help me?

What are the parameters of the sendMessage method call?

These are the above

messageID should be a unique string (you can just use [NSUUID UUID].uuidString). Does this fix the issue?

No, I've tried it.

Can you add the -FIRDebugEnabled argument to your app on launch and post the logs again? There should be a more complete error message printed to console after the NSError is returned.

This is a different error than last time and is a generic network error that occurs when the Firebase Messaging endpoints are unreachable. Are you using a proxy?

Firebase SDK version used : 4.9.0
Problem Description:

I started the application, FCM initialization no problem.
In iOS I need to wait a long time to connect socket service. Android phones do not it. We're on the same WiFi.
More than 95% of my FCM socket service will fail to connect.
I use the APNS delivery message, I can always receive.
Most of the messages I send using the sendmessage API get the error "Error =" Error Domain = com.google.fcm Code = 501 ".

What network conditions are your device running on? Are you able to send data messages on Android?
The slow socket/connection failures seems like a bug.

Android has no problem sending messages, their FCM socket connection is very fast

We are using a WiFi network, but we are in China, so our network access to Google requires a VPN service.

We are using a WiFi network, but we are in China, so our network access to Google requires a VPN service.

This seems like a bug in Firebase then. I am not sure when the fix will be released.
What purpose are you using FCM data messages for?

It is used to pass some messages. When the user does not open the push, you can use this to pass the station letter.

@ZhengXueNing Please file a bug at https://firebase.google.com/support/contact/bugs-features/?hl=zh-cn with the logs around the slow socket connection on iOS and any other debugging information.

I have sent an error report. I have sent details of my side and example projects, but the engineer did not give me the reasons for this problem.

@ZhengXueNing what's the case ID for your support ticket?

I have the same problem, not working on iOS, just in Android, same Wi-fi

If your error is a 501 error, please file a support ticket. It's likely a backend bug. Nothing you do on the client should result in a 501 error.

repo: firebase/quickstart-ios