Bark:自建 iOS 消息推送服务
转载自 知乎Xpitz-Bark 使用指南:如何自建 iOS 消息推送服务
Bark是一个允许你推送自定义消息到iphone的IOS APP
服务端
#1、Download precompiled binaries from the releases page wget https://github.com/Finb/bark-server/releases/download/v2.0.2/bark-server_linux_amd64
#2、Add executable permissions to the bark-server binary: chmod +x bark-server
#3、Start bark-server: ./bark-server --addr 0.0.0.0:8080 --data ./bark-data
#4、Test the server: curl localhost:8080/ping
返回如下:
➜ clash curl http://0.0.0.0:8080/ping {"code":200,"message":"pong","timestamp":1631608216}
也可以通过docker或者docker-compose来部署
客户端
第一次使用会要求「注册设备」,点击后会为设备随机生成一个 Key:
作者提供了服务端,运行以上链接就可以测试消息推送。
但是这里,我们使用前面自己搭建的服务端
没有域名,直接填ip地址就行;通没有证书,改成http;默认端口是8080
使用
只能发送文本、不能发送图片表情包等
- 文本
http://106.13.150.169:8080/qWJW8guKsmrgzgQzZ2SKq3/这里改成你自己的推送内容
- 标题+文本
http://106.13.150.169:8080/qWJW8guKsmrgzgQzZ2SKq3/推送标题/这里改成你自己的推送内容
- 自动保存消息
http://106.13.150.169:8080/qWJW8guKsmrgzgQzZ2SKq3/自动保存通知消息?isArchive=1
- url测试
//点击推送将跳转到url的地址(发送时,URL参数需要编码) https://api.day.app/yourkey/百度网址?url=https://www.baidu.com
- isArchive
//指定是否需要保存推送信息到历史记录,1 为保存,其他值为不保存。 //如果不指定这个参数,推送信息将按照APP内设置来决定是否保存。 https://api.day.app/yourkey/需要保存的推送?isArchive=1
- group
//指定推送消息分组,可在历史记录中按分组查看推送。 https://api.day.app/yourkey/需要分组的推送?group=groupName
原理
APP端负责将DeviceToken发送到服务端,服务端收到一个推送请求后,将发送推送给Apple服务器。然后手机收到推送
参考链接:
1. 官方github:https://github.com/Finb/Bark
2. 作者博客:https://day.app/2018/06/bark-server-document/
个性签名:时间会解决一切