问题描述
Flutter 应用程序专为移动和网络设计。我们正在使用 firebase_messaging 进行消息传递功能。早些时候是工作魅力。最近我们将 Flutter SDK 升级到了 2.0 版本(Channel stable,2.0.4)。
该应用程序的工作方式与之前的移动版本一样。但是在网络版本中执行时给了我下面提到的错误并且无法解决。
以下命令已经尝试禁用空安全但没有用。
Flutter run --no-sound-null-safety
错误日志:
Debug service listening on ws://127.0.0.1:53789/y22KqzTNKwU=/ws
Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
Debug service listening on ws://127.0.0.1:53789/y22KqzTNKwU=/ws
TypeError: Cannot read property 'isSupported' of undefined
at new firebase_messaging_web.FirebaseMessagingWeb.new (http://localhost:53495/packages/firebase_messaging_web/firebase_messaging_web.dart.lib.js:189:51)
at Function.registerWith (http://localhost:53495/packages/firebase_messaging_web/firebase_messaging_web.dart.lib.js:56:73)
at Object.registerPlugins (http://localhost:53495/packages/pca_app/generated_plugin_registrant.dart.lib.js:44:49)
at main (http://localhost:53495/web_entrypoint.dart.lib.js:44:35)
at main.next (<anonymous>)
at runBody (http://localhost:53495/dart_sdk.js:39051:34)
at Object._async [as async] (http://localhost:53495/dart_sdk.js:39082:7)
at main$ (http://localhost:53495/web_entrypoint.dart.lib.js:43:18)
at http://localhost:53495/main_module.bootstrap.js:19:10
at Array.forEach (<anonymous>)
at window.$dartRunMain (http://localhost:53495/main_module.bootstrap.js:18:32)
at <anonymous>:1:8
at Object.runMain (http://localhost:53495/dwds/src/injected/client.js:8656:21)
at http://localhost:53495/dwds/src/injected/client.js:22068:19
at _wrapJsFunctionForAsync_closure.$protected (http://localhost:53495/dwds/src/injected/client.js:3830:15)
at _wrapJsFunctionForAsync_closure.call$2 (http://localhost:53495/dwds/src/injected/client.js:10905:12)
at Object._asyncStartSync (http://localhost:53495/dwds/src/injected/client.js:3794:20)
at main__closure1.$call$body$main__closure (http://localhost:53495/dwds/src/injected/client.js:22080:16)
at main__closure1.call$1 (http://localhost:53495/dwds/src/injected/client.js:22007:19)
at Staticclosure._rootRunUnary [as call$2$5] (http://localhost:53495/dwds/src/injected/client.js:4153:16)
at _CustomZone.runUnary$2$2 (http://localhost:53495/dwds/src/injected/client.js:12136:39)
at _CustomZone.runUnaryguarded$1$2 (http://localhost:53495/dwds/src/injected/client.js:12068:14)
at _ControllerSubscription._sendData$1 (http://localhost:53495/dwds/src/injected/client.js:11697:19)
at _DelayedData.perform$1 (http://localhost:53495/dwds/src/injected/client.js:11849:59)
at _PendingEvents_schedule_closure.call$0 (http://localhost:53495/dwds/src/injected/client.js:11898:14)
at Object._microtaskLoop (http://localhost:53495/dwds/src/injected/client.js:3990:24)
at Staticclosure._startMicrotaskLoop (http://localhost:53495/dwds/src/injected/client.js:3996:11)
at _AsyncRun__initializeScheduleImmediate_internalCallback.call$1 (http://localhost:53495/dwds/src/injected/client.js:10774:9)
at invokeClosure (http://localhost:53495/dwds/src/injected/client.js:1250:26)
at MutationObserver.<anonymous> (http://localhost:53495/dwds/src/injected/client.js:1269:18)
Flutter 医生报告:
> Doctor summary (to see all details,run Flutter doctor -v): [√]
> Flutter (Channel stable,2.0.4,on Microsoft Windows [Version
> 10.0.18363.1441],locale en-GB) [√] Android toolchain - develop for Android devices (Android SDK version 30.0.2) [√] Chrome - develop for
> the web [√] Android Studio (version 4.0) [√] VS Code (version 1.41.1)
> [√] Connected device (2 available)
>
> • No issues found!
解决方法
将此 this.state = {
token: this.props.route.params.token,is_camera: 0,is_loading: 0,barcodes: [],camera: {
type: RNCamera.Constants.Type.back,flashMode: RNCamera.Constants.FlashMode.auto,},};
}
SDK 添加到您的 7.20.0
,它应该看起来像这样的布局。
index.html
到目前为止,这是推荐的。在 <script src="https://www.gstatic.com/firebasejs/8.3.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.20.0/firebase-messaging.js"></script>
和
Stable channel 2.0.4