Skip to content

🐛 [firebase_messaging] getToken and onTokenRefresh returns NotRegistered token on one of our iOS devices #3902

@BogsBalangat

Description

@BogsBalangat

Bug report

Describe the bug
Firebase getToken and onTokenRefresh is returning a NotRegistered token on one of our testers' iphone device and never refreshes
The app is download and installed from testflight.
Push notifications work on all of our other iOS devices.

Xcode version is 12.0.1

Steps to reproduce

Note that we CAN NOT replicate the same issue on our other iOS devices. We are not touching the device (iPhone 7, iOS 14.0.1) that has the issue so that we can preserve it until the issue is identfied and fixed.

Here are the steps that our tester did:

  1. Download the app from testflight
  2. Install the app, log in with an existing account, push notifications are working fine.
  3. The tester logs out, and logs in using a different account. Note that old fcm token was deleted using deleteInstanceID method upon log out. So the new user was assigned with a new fcm token.
  4. Push Notifications are not working anymore bec the fcm token is NotRegisered.

{"multicast_id":8940516461846828474,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}

  1. Force closing and starting the app never refreshes the fcm token. We checked the logs and onTokenRefresh and getToken methods returns the same fcm token as if it is not invalid.

Expected behavior

Firebase messaging api should always return a fresh and valid fcm token if the existing one gets invalid.


Additional context

This might be a one off issue, but we have to make sure that we know the cause of the issue and that it won't happen to our users.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
 Doctor summary (to see all details, run flutter doctor -v):
 [✓] Flutter (Channel beta, 1.22.1, on Mac OS X 10.15.5 19F101, locale en-US)
  
 [✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
 [✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
 [✓] Android Studio (version 4.0)
 [!] Connected device
     ! No devices available
 
! Doctor found issues in 1 category.

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand
Dart SDK 2.10.1
Flutter SDK 1.22.1

dependencies:
- add_2_calendar 1.3.1 [flutter]
- apple_sign_in 0.1.0 [flutter]
- audioplayers 0.14.0 [uuid path_provider flutter flutter_web_plugins]
- cached_network_image 2.1.0+1 [flutter flutter_cache_manager]
- chewie 0.9.10 [open_iconic_flutter video_player wakelock flutter]
- collection 1.15.0-nullsafety.3
- connectivity 0.4.9 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web]
- corsac_jwt 0.1.2 [asn1lib logging crypto]
- crypto 2.1.5 [collection convert typed_data]
- cupertino_icons 0.1.2
- device_id 0.2.0 [flutter]
- device_info 0.4.1+4 [flutter]
- diacritic 0.1.1
- equatable 0.5.1 [collection meta]
- firebase_analytics 6.0.2 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_core 0.5.0+1 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_crashlytics 0.2.1+1 [flutter stack_trace firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface]
- firebase_messaging 7.0.3 [meta flutter firebase_core]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 5.0.1 [flutter flutter_cubit bloc provider]
- flutter_cache_manager 1.4.2 [flutter path_provider uuid http path sqflite pedantic clock file rxdart]
- flutter_cupertino_localizations 1.0.1 [flutter flutter_localizations]
- flutter_facebook_login 3.0.0 [flutter collection]
- flutter_html 1.0.2 [html csslib css_colors video_player chewie webview_flutter chewie_audio flutter_svg flutter]
- flutter_launcher_icons 0.6.1 [image dart_config]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_sidekick 0.1.3 [flutter]
- flutter_svg 0.18.0 [path_drawing xml vector_math meta flutter]
- font_awesome_flutter 8.7.0 [flutter]
- get_it 4.0.2 [async meta]
- http 0.12.2 [http_parser path pedantic]
- latlong 0.6.1 [logging console_log_handler validate intl]
- location 2.3.5 [flutter]
- logging 0.11.3+2
- mailer 1.2.3 [dart2_constant mime logging path intl charcode]
- package_info 0.4.0+13 [flutter]
- path_provider 1.6.18 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- permission_handler 4.2.0+hotfix.3 [flutter meta]
- rect_getter 0.0.1 [flutter]
- share 0.6.3+5 [meta flutter]
- shared_preferences 0.5.6+1 [meta flutter shared_preferences_platform_interface shared_preferences_macos shared_preferences_web]
- sqflite 1.3.1 [flutter sqflite_common path]
- timezone 0.5.6 [path]
- toast 0.1.5 [flutter]
- tuple 1.0.3 [quiver]
- uni_links 0.2.0 [flutter]
- uuid 2.0.4 [crypto convert]
- video_player 0.10.12 [meta video_player_platform_interface video_player_web flutter]

dev dependencies:
- flutter_driver 0.0.0 [file json_rpc_2 meta path web_socket_channel vm_service_client webdriver flutter flutter_test fuchsia_remote_debug_protocol archive args async boolean_selector characters charcode clock collection convert crypto fake_async matcher platform process pub_semver source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_gherkin 1.1.7+3 [flutter flutter_test flutter_driver glob meta gherkin]
- flutter_screenutil 2.2.0 [flutter]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- glob 1.1.7 [async collection path string_scanner]
- mockito 4.1.0 [collection matcher meta test_api]
- pinput 0.2.4 [flutter]
- random_string 1.1.0
- test 1.16.0-nullsafety.5 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic 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]

transitive dependencies:
- _fe_analyzer_shared 6.0.0 [meta]
- analyzer 0.39.16 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob html meta package_config path pub_semver source_span watcher yaml]
- ansicolor 1.0.2
- archive 2.0.13 [crypto args path]
- args 1.6.0
- asn1lib 0.5.8
- async 2.5.0-nullsafety.1 [collection]
- bloc 5.0.1 [cubit meta]
- boolean_selector 2.1.0-nullsafety.1 [source_span string_scanner]
- characters 1.1.0-nullsafety.3
- charcode 1.2.0-nullsafety.1
- chewie_audio 1.0.0+1 [open_iconic_flutter video_player screen flutter]
- cli_util 0.1.4 [path]
- clock 1.1.0-nullsafety.1
- connectivity_for_web 0.3.1 [connectivity_platform_interface flutter_web_plugins flutter]
- connectivity_macos 0.1.0+3 [flutter]
- connectivity_platform_interface 1.0.6 [flutter meta plugin_platform_interface]
- console_log_handler 1.1.6 [logging intl ansicolor]
- convert 2.1.1 [charcode typed_data]
- coverage 0.13.4 [args logging package_config path source_maps stack_trace vm_service]
- css_colors 1.0.2 [flutter]
- csslib 0.16.2 [source_span]
- cubit 0.1.2 [meta]
- dart2_constant 1.0.2+dart2
- dart_config 0.5.0 [yaml]
- fake_async 1.2.0-nullsafety.1 [clock collection]
- ffi 0.1.3
- file 6.0.0-nullsafety.2 [meta path]
- firebase 7.3.0 [http http_parser js]
- firebase_analytics_platform_interface 1.0.3 [flutter meta]
- firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.0 [firebase firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_crashlytics_platform_interface 1.1.1 [flutter meta collection firebase_core plugin_platform_interface]
- flutter_cubit 0.1.1 [flutter cubit provider]
- flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math]
- fuchsia_remote_debug_protocol 0.0.0 [json_rpc_2 process web_socket_channel flutter_test flutter_driver archive args async boolean_selector charcode clock collection convert crypto fake_async file matcher meta path platform pub_semver source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math vm_service_client webdriver]
- gherkin 1.1.6+3 [glob path test matcher]
- html 0.14.0+3 [csslib source_span]
- http_multi_server 2.1.0 [async]
- http_parser 3.1.3 [charcode collection source_span string_scanner typed_data]
- image 2.1.14 [archive xml]
- intl 0.16.1 [path]
- io 0.3.3 [charcode meta path string_scanner]
- js 0.6.3-nullsafety.1
- json_rpc_2 2.2.2 [stack_trace stream_channel]
- matcher 0.12.10-nullsafety.1 [stack_trace]
- meta 1.3.0-nullsafety.3
- mime 0.9.6+3
- nested 0.0.4 [flutter]
- node_preamble 1.4.4
- open_iconic_flutter 0.3.0 [flutter]
- package_config 1.9.3 [path charcode]
- package_resolver 1.0.10 [collection http package_config path]
- path 1.8.0-nullsafety.1
- path_drawing 0.4.1 [vector_math meta path_parsing flutter]
- path_parsing 0.1.4 [vector_math meta]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+4 [flutter]
- path_provider_platform_interface 1.0.3 [flutter meta platform plugin_platform_interface]
- path_provider_windows 0.0.4+1 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.10.0-nullsafety.1
- petitparser 3.0.4 [meta]
- platform 3.0.0-nullsafety.2
- plugin_platform_interface 1.0.2 [meta]
- pool 1.5.0-nullsafety.1 [async stack_trace]
- process 4.0.0-nullsafety.2 [file path platform]
- provider 4.3.1 [flutter nested collection]
- pub_semver 1.4.4 [collection]
- quiver 2.1.3 [matcher meta]
- rxdart 0.23.1
- screen 0.0.5 [flutter]
- shared_preferences_macos 0.0.1+4 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 1.0.1 [meta flutter]
- shared_preferences_web 0.1.2+3 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shelf 0.7.5 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 1.0.4 [async path shelf shelf_static package_resolver]
- shelf_static 0.2.8 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel]
- sky_engine 0.0.99
- source_map_stack_trace 2.1.0-nullsafety.2 [path stack_trace source_maps]
- source_maps 0.10.10-nullsafety.1 [source_span]
- source_span 1.8.0-nullsafety.2 [charcode collection path term_glyph]
- sqflite_common 1.0.2+1 [synchronized path meta]
- stack_trace 1.10.0-nullsafety.1 [path]
- stream_channel 2.1.0-nullsafety.1 [async]
- string_scanner 1.1.0-nullsafety.1 [charcode source_span]
- sync_http 0.2.0
- synchronized 2.1.0
- term_glyph 1.2.0-nullsafety.1
- test_api 0.2.19-nullsafety.2 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.12-nullsafety.5 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.0-nullsafety.3 [collection]
- validate 1.7.0
- vector_math 2.1.0-nullsafety.3
- video_player_platform_interface 2.1.0 [flutter meta]
- video_player_web 0.1.3+2 [flutter flutter_web_plugins meta video_player_platform_interface]
- vm_service 2.3.1 [meta]
- vm_service_client 0.2.6+2 [async collection json_rpc_2 pub_semver source_span stack_trace stream_channel web_socket_channel]
- wakelock 0.1.4+1 [flutter]
- watcher 0.9.7+10 [async path]
- web_socket_channel 1.1.0 [async crypto stream_channel]
- webdriver 2.1.2 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 0.5.2 [logging]
- webview_flutter 0.3.22+1 [flutter]
- win32 1.7.3 [ffi]
- xdg_directories 0.1.2 [meta path process]
- xml 4.2.0 [collection convert meta petitparser]
- yaml 2.1.15 [charcode collection string_scanner source_span]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions