摘要
想要在自己的手机上能够以系统级别的通知形式第一时间收到通知、提醒消息,在 iOS 上已经有非常不错的方案,那就是 Bark 这款 App,可以使用官方的服务、也是免费的,如果是比较注重隐私,也可以下载官方的服务器代码自建服务器。
那么安卓系统有没有这类软件和服务呢?众所周知,安卓不同手机厂商都有不同的 Push 服务,有不同的消息推送 SDK,因此适配起来很是麻烦,但目前仍然有一款开源的软件还是可以的 - Gotify(https://gotify.net/)
本次给大家介绍一下,Gotify 的服务端搭建与客户端的配置。

Gotify 是什么
Gotify 是一套自托管推送通知系统,由两部分组成:
- Gotify Server:服务端,负责接收消息并分发
- Gotify Client(Android / Web):客户端,负责实时接收并展示通知
核心优势:
- 开源、可自建、无第三方依赖
- HTTP API,任何语言都能推送
- Android 系统级通知(支持优先级)
- 支持 Docker,一行命令即可部署
服务器搭建
现在宝塔面板已经有 Docker 应用直接下载,需在目前比较新的宝塔面板上才有。

进入宝塔面板的 Docker 直接搜索就可以下载安装。

安装完就可以启动了,启动后会在你当前服务器的 IP 地址开启一个后台,这个后台服务是有一个端口的,这个端口你需要前往服务器的防火墙加入,不然一直进不去的,记得这很重要。
点击详情,就可以看到后台账号密码。


登录进去先不管了,先去下载 APP。
下载客户端
- GitHub 开源地址:https://github.com/gotify/android/releases/tag/v2.9.0(国内下载比较慢)
- 国内下载地址:https://likeyun.lanzout.com/iNEw53fn5fif
下载安装后打开客户端,然后登录。
登录的时候,输入的就是你上面搭建好的服务器 IP 地址和端口号。

账号密码也是点击详情获取到的。
点击登录后会让你创建一个设备名称。

确定后就登录进去了。
然后去后台就可以看到新设备加入了。

推送消息的代码
先在后台创建一个应用 Token。

我这里创建一个名为测试的应用,Default Priority 是默认优先级的意思,数字大一些优先级高。

创建后,复制这个 Token 等会有用。

PHP 推送代码
| |
复制以上代码,去你已经解析好域名的一个目录下,创建一个文件,名字自己取,例如 send.php。
然后代码粘贴进去并保存,修改代码里面的 IP 地址和端口号 就是你刚才创建的 gotify 服务器的,Token 也是上一步让你复制的那个,保存就行。
测试推送
| |
访问这个代码所在的路径后,即可触发推送。


正常来说就会马上弹出消息了,如果不弹出来,那么一般都是手机的通知设置问题。
我的是 红米K90,只需要长按图标即可进入设置通知。


开启前后对比,把所有有利于你第一时间看到最明显的通知的项打开。

其他手机自行研究。
适用场景
前期只需要搭建好服务器即可。
| |
这个链接可以嵌入很多场景,例如:
- 服务器的后端任意页面,用于监控某个状态的变化进行通知;
- 宝塔面板定时任务执行到自己的目的的时候发送通知;
- 服务器运维告警通知;
- 抢票软件抢票结果;
- 短信转发器推送通道配置;
总结
Gotify 是一款非常优秀的自建消息推送服务,特别适合注重隐私的用户。通过简单的配置,就可以实现安卓系统级别的通知推送,效果堪比 iOS 的 Bark。
如果你在使用过程中有任何问题,欢迎在评论区留言讨论!