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/ 

posted @ 2021-09-14 17:04  Rogn  阅读(1906)  评论(0编辑  收藏  举报