【发布时间】:2019-08-23 07:38:24
【问题描述】:
环境:
Ejabberd 版本:16.04
Smack-android-4.1.0
我创建了一个带有 XMPP 服务器的 Android 聊天应用程序。但是,由于 Google 播放权限问题,我不得不缩小应用程序的功能范围,该功能支持在应用程序处于后台时接收传入消息通知。
作为替代方案,我收到了来自 GooglePlay 审核小组的以下建议。
移除此权限后,您可以考虑使用 Firebase Cloud Messaging (FCM) 如果您的应用程序的消息传递需要 暂时免于电池优化。请设置高 仅当消息是时间关键的并且需要用户的 立即互动,并注意将您的消息设置为高 与正常优先级相比,优先级会导致更多的电池消耗 消息
因此,目前用户可以通过该应用发送消息。但是当他关闭应用程序时,他将被视为离线用户,并且不会收到应用程序的任何通知。当他再次打开应用程序时,他将获得所有保存在 Ejabberd 服务器上的离线消息。
我想增强当前的应用程序,即使用户关闭了应用程序,当有人向他发送消息时,他仍然会收到通知(类似于 whatsapp)
-
ejabberd 中是否有将服务器与 FCM 集成并处理此问题的模块?
-
如果我们无法通过 Ejabberd 实现这一点,是否有第三方库支持这一点?
-
如果不是,我们是否必须从头开始编写 Erlang 模块?
我在互联网上发现了类似的问题,但找不到任何可行的解决方案。由于我对 Erlang 的经验并不多,因此很高兴听到您对此的解决方案/想法。提前致谢。
【问题讨论】:
标签: android erlang firebase-cloud-messaging ejabberd smack