如何知道用户是不是正在打字或消息是不是已在聊天应用程序中传递给他

Posted

技术标签:

【中文标题】如何知道用户是不是正在打字或消息是不是已在聊天应用程序中传递给他【英文标题】:How to know if user is typing or message has been delivered to him in Chat App如何知道用户是否正在打字或消息是否已在聊天应用程序中传递给他 【发布时间】:2017-05-16 06:57:57 【问题描述】:

我正在构建一个聊天移动应用。到目前为止,我已经研究了 FCM 和 GCM,我想选择 FCM,但是没有这样的选项可以让我获得有关用户是否正在输入内容或消息是否正在传递到他/她的设备的信息。此外,还有另一个名为 XMPP 的协议。我应该选择 XMPP 还是 FCM 是更好的方法?

另外,我在后端使用 laravel 5.2。 任何帮助,将不胜感激。

【问题讨论】:

FCM 不是为消息传递应用程序设计的,您需要使用 XMPP 或类似协议或编写您的协议。 到底有没有FCM可以用? 【参考方案1】:

如果需要有投递状态,是否消息已经被endpoint收到,需要在FCM上使用XMPP:FCM with XMPP official page

您必须将delivery_receipt_requested 设置为true 以检查消息是否已送达。

要知道用户是否正在输入消息,您必须在服务器端实现自己的解决方案,才能完全控制。

【讨论】:

你能提供任何相同的例子或样本吗?

以上是关于如何知道用户是不是正在打字或消息是不是已在聊天应用程序中传递给他的主要内容,如果未能解决你的问题,请参考以下文章

如何检查麦克风是不是已被使用或没有颤振?

如何检测是不是有人在打字但没有发送消息?

如何使用 Smack 在 XMPP openfire 中了解打字状态

如何使用 Smack 在 XMPP openfire 中了解打字状态

检查用户是不是正在使用 App Engine XMPP 打字

聊天应用程序如何知道用户何时发送消息以重新呈现?