Android |在本地网络上推送通知

Android | Push notifications on local network

我进行了大量研究,但未能找到解决我的(简单)问题的方法。我正在构建一个不需要连接到 Internet 的应用程序,但它会从安装在本地网络 LAN 中的服务器消耗 restful API。

目前,我每分钟发送一个 HTTP 请求,以查看数据库中是否有任何更改,并提醒用户这些更改。然而,这不是很有效,并且会导致性能不佳/电池耗尽。

我听说可以使用 Google 云消息传递实现推送通知,但这不是一个选项,因为它需要通过 google 服务器,换句话说,互联网。

我正在使用 Square 的 Retrofit 框架来处理服务器端 Android 和 PHP + Laravel 上的 HTTP 请求。

有没有办法发送推送通知?如果不是,'long polling' 是 Android 中的一个好习惯吗?它甚至可以与 Retrofit 一起使用吗?

我不知道它是否有效,但您是否研究过像这样的特定软件包?

https://github.com/davibennun/laravel-push-notification

在服务器端,您可以使用 XMPP 服务器,有一些 XMPP 服务器,例如 Openfire、ejabberd 和 SleekXMPP。请看看他们。

在 Android 方面,您可以使用客户端库,例如 Smack 或 Xabber,移动库将使用侦听器自动更新通知或事件。

希望对您有所帮助。