当用户在Android中使用XMPP离线时向用户发送通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当用户在Android中使用XMPP离线时向用户发送通知相关的知识,希望对你有一定的参考价值。

我使用Smack客户端和XMPP服务器实现了一个android聊天应用程序。当用户在线时,现在当用户离线时(应用程序未处于运行状态),一切正常。我想使用GCM推送通知。

有没有办法实现这一点,有没有办法我们可以管理我们的服务器本身来处理它?

答案

您可以在用户在线或不在线时发送推送通知,但设备具有互联网。您拥有所有设备设备令牌,因此当您向特定用户发送消息时,请使用他的设备令牌并发送推送通知。

另一答案

我也面临着这个问题。我正在按照以下步骤解决这个问题:

  1. 使用包含每个JID用户FCM-TOKENS的数据库开发Web服务(ASP或php或...)
  2. 在Android设备上开发FCM并在刷新到我的Web服务时发送TOKEN并将其保存在db中。
  3. 在openfire中激活“CallBackOnOffline”插件。 (当收到消息但收件人为UnAvailable时,将带有JSON的POST请求发送到定义的URL)
  4. 将“服务属性”中的“plugin.callback_on_offline.url”设置为我的WebService。因此消息和jid将被发送到我的Web服务。
  5. 现在从我的Web服务数据库中获取FCM-TOKEN,并向包含消息正文和标题的FCM发送请求。

以上是关于当用户在Android中使用XMPP离线时向用户发送通知的主要内容,如果未能解决你的问题,请参考以下文章

用户离线时Openfire发送推送通知

当用户离线时,Firebase 身份验证会话会持续多长时间?

Firebase 离线支持:在用户离线时上传帖子,当用户在 iOS Swift 应用程序中在线时同步

当用户在 quickblox 的 ios 中离线时获取消息

为啥当其他用户离线时 XMPPOutgoingFileTransfer 失败?

离线时在 Progressive Web App 中处理获取请求