根据其他客户端的响应更改Flutter应用程序状态

时间:2019-07-21 21:59:11

标签: c# firebase flutter

我事先表示歉意-这是一个非常高层次的问题,我不知道该怎么问。

我有一个应用程序,它通过返回人与人之间的结果列表来创建人与人之间的会议。

我正在尝试使用Flutter复制功能,但是不同之处在于,当用户B响应用户A时,使用Flutter我需要一种方法来更新应用程序的状态。

流量:

  • 用户A发出会议邀请。
  • 用户B应该收到会议邀请。
  • 用户B接受会议邀请。
  • 服务器使用一些信息更新用户A。

现在,我正在异步调用我的应用程序服务器-它模拟用户B的位置,并将场所列表发回。

但是,实际上,在用户B收到请求并发出响应之前,我将没有用户B的数据。

我已经考虑过使用Firebase Cloud Messaging,但是对作为Azure Firebase Cloud Messaging / Firebase应用程序服务器的Azure中托管的C#应用​​程序的支持不多。我当然可以多加研究,但我只是想看看是否有其他选择。

我的理解是:

  • 用户A发出请求。
  • 应用服务器对其进行处理-将发出请求的SQL存储在SQL中。
  • 记下用户A的姓名。
  • 记下用户B的姓名。
  • 向用户B发出推送通知。
  • 用户B接受或拒绝。
  • 用户B的设备向服务器发出请求。
  • 服务器从用户B查找响应,找到用户A。
  • 向用户A的设备发出推送通知。

我的问题是,有没有一种方法可以不依赖推送通知?

更简单地说,如果可能的话,如何在不使用推送通知的情况下在初始请求/响应之外更新移动应用程序?

在我看来,在我的最初请求中,我必须用客户所需的数据进行响应(直到被调查者回答后该数据才可用),因此我需要后台任务或其他东西。

我是客户端开发的新手,所以我不知道该怎么办。

编辑: 为了清楚起见,我可以从客户端向服务器发布消息-它从用户A发送数据,并将其持久保存到SQL数据库。

当前,响应立即是我“模拟”的来自设备B的数据。意思是我写了虚拟数据以返回到设备A。实际上,这不会发生,因此我需要发出“请求”以某种方式更新设备B和设备A。

现在,我不确定如何通过Firebase以外的其他任何方式“到达”另一台设备来获得推送通知。

我也看过: How to send notification from the background via an HTTP api (without push notifications) in Flutter?

虽然有解决方案,但我特别需要它比15分钟要快-有时几乎是实时的。这可能吗?

0 个答案:

没有答案