首页 > 解决方案 > Flutter 和 Native 之间的 Firebase 云消息传递令牌处理

问题描述

我有一个预先存在的管理系统 API。我知道在 Android 上,带有实时通知的后台服务有点问题,所以看起来我们需要在我们的 .NET Core Web 应用程序上使用 Firebase Cloud Messaging 而不是 SignalR。

事情的那一面似乎很直截了当。

我们需要做什么,如果有更好的方法,请告诉我,我们需要将 Firebase 令牌绑定到我们的 .NET Core 应用程序。同样,这不是什么大问题,当我们登录 Flutter 应用程序时,我们可以在 API 调用中传递令牌并将其存储在数据库中。

现在是困难的部分。Android 上的服务和实时通知。

使用原生代码中定义的 FirebaseMessagingService() 以及负责更新 Web 应用的 Flutter 应用,我使用 MethodChannels 在原生和 Flutter 之间进行通信。

我们的 FirebaseMessagingService() 类不会在应用程序启动时自动触发(可能是因为它具有 MESSAGING_EVENT 的意图过滤器,因此在有消息之前不会触发)。这意味着在 Flutter 中,我无法在服务中定义的通道上调用方法,因为服务和通道还不存在。

因此,除非前端 Flutter 应用程序正在运行,否则我认为我将无法从本机端调用方法。

那么我应该如何获得firebase令牌?

我唯一想到的就是剥离我们正在使用的 API 库并为 Android 重新编写它。或者至少只需编写最少的代码即可将令牌发布到 Web 应用程序。

标签: androidflutterfirebase-cloud-messaging

解决方案


推荐阅读