【问题标题】:Flutter fcm redirect issueFlutter fcm重定向问题
【发布时间】:2020-07-23 06:07:40
【问题描述】:

您好,在我的一个颤振项目中,我正在使用 firebase 消息传递。首先是启动画面,其次是应用程序的主页。在第二页中,我在init state 中实现了firebase.configure 方法,如下所示。 _navigateToItemDetail 方法指向另一个页面

 @override
  void initState() {
    super.initState();
    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print("onMessage: $message");
        setState(() {
          _newNotification = true;
        });
      },
      onLaunch: (Map<String, dynamic> message) async {
        print("onLaunch: $message");
        _navigateToItemDetail(message);
      },
      onResume: (Map<String, dynamic> message) async {
        print("onResume: $message");
        _navigateToItemDetail(message);
      },
    );

然后我会在此之后调用此页面的 Web 服务。但上述方法将在 web 服务调用后启动。所以这将导致页面重定向错误。我只是在网络服务调用中延迟了 4 秒,然后它就可以正常工作了。有什么方法可以解决这个问题吗? async 方法可用于 firebase 配置?

【问题讨论】:

    标签: firebase flutter dart firebase-cloud-messaging


    【解决方案1】:

    我认为你需要'onBackgroundMessage'

    
    firebaseMessaging.configure(
    //...
     onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler
    //...
    )
    
    
    //...
    static Future<dynamic> myBackgroundMessageHandler(Map<String, dynamic> message) async {
    //Do here something
    }
    

    如你所见,它只适用于安卓

    【讨论】:

    • 所以我们不实现 onResume 和 onLaunch ?我可以在 myBackgroundMessageHandler 中处理重定向吗?
    猜你喜欢
    • 2021-07-31
    • 2022-06-15
    • 2021-10-16
    • 2011-02-04
    • 2021-03-30
    • 2021-03-28
    • 2011-11-18
    • 2016-05-21
    相关资源
    最近更新 更多