如何获取 FCM 即时交货状态
Posted
技术标签:
【中文标题】如何获取 FCM 即时交货状态【英文标题】:How to get FCM Instant delivery status 【发布时间】:2018-03-27 04:54:59 【问题描述】:我怎样才能获得像现在这样的 FCM 即时交货状态,或者永远不会。例如,如果我向特定设备发送推送消息,如果设备处于离线状态,我想立即获得错误状态。我已经尝试了带有 delivery_receipt_requested 标志的 XMPP 协议,但是只要设备重新联机,它就会成功响应。但我希望 FCM 现在或永远不会有交货状态。
【问题讨论】:
FCM Notification Delivery Report的可能重复 ***.com/questions/41700719/… ***.com/questions/40781933/… @NileshRathod 我想这不是重复的问题。我已经尝试过您提供的链接,但没有运气。我希望 FCM 交付状态立即而不是当它以编程方式到达时 重复的帖子站着。如果没有 XMPP 协议,您想要的用例是不可能的。 FCM 的工作方式是从您的服务器发送消息将其定向到 FCM 服务器,在该服务器排队发送给客户端。您可以收到的最快响应是您的 App 服务器和 FCM 服务器之间的通信结果。 【参考方案1】:FCM 不提供您想要的功能。另一种方法是使用实时数据库来实现“存在系统”。一个样本是provided in the docs。然后,您可以使用设备的在线状态来决定向其发送哪些消息。
【讨论】:
不错!谢谢+1,但我认为可以以某种方式轻松完成。是否有其他替代方法来确定设备已与服务器连接或准备好获取 fcm 推送.. 我会尝试您的解决方案 您可能还想尝试使用Instance ID Service。您可以获得设备的“connectionType”,但我不知道状态的实时性如何。它可能不是设备是否已连接的真实指示。以上是关于如何获取 FCM 即时交货状态的主要内容,如果未能解决你的问题,请参考以下文章