轉載自 知乎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/