考虑到OPENFIRE不支持XEP-0357(推送通知),那么客户端必须如何通知新消息?用户连接是否必须始终可用?但是在其他消息传递应用程序(如whatsApp)中,当用户转到后台时,它的存在变为UNAVAILABLE。其他问题是开发不支持BACKGROUND-SERVICE的iOS版本就像在android中一样。 其他IM客户在这种情况下做了什么?
答案 0 :(得分:1)
我自己建立了答案。 我在服务器中开发了本地API,用于发送推送通知。这个本地API将为每个用户ID提供所有用户令牌(当在我的应用中生成令牌时,会通过其余部分将数据包发送到我的API)。 当用户离线时,openfire服务器将使用CallBackOnOffline插件将包含消息正文以及发送者和接收者JSON的POST请求发送到我的本地API。然后,API将从db获取目标令牌,并将推送请求发送到FCM。
注意:CallBackOnOffline在openfire中有一个问题,无法发送POST请求。我也解决了。如果有人遇到此问题,请对其进行评论,我也会提供解决方案。