Featured image of post 简单但实用的 IOS 消息推送应用 Bark

简单但实用的 IOS 消息推送应用 Bark

Bark 是完整开源的 iOS APP,用来接收自定义推送。

简单但实用的 IOS 消息推送应用 Bark

这是一个很多年前的项目了,以前也听说过这个项目,最近在冲浪的时候,偶尔再看到了这个项目,然后就看看是否还活着,没想到连 APP 都还有持续更新中,真的是太良心了。作者在主页上也写到 Bark 2018年7月上线,至少会维持运营到 2031年7月

bark_01.png

项目官方网站 https://bark.day.app/

先来看看效果,这是我自己通过 docker 部署的服务端,然后往我手机上推送的一条测试消息,基本上是秒收到推送

bark_02.png

服务端部署

官方提供了多种部署方式,但是首选肯定是 Docker 方式,因为方便,同时目前也有很多免费的容器可以支持,所以以下主要介绍 Docker 部署方式

其他部署方式 https://bark.day.app/#/deploy

1
2
# 镜像也可使用 ghcr.io/finb/bark-server
docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server

如果使用 zeabur 等容器平台,则填入如下内容即可。

  • 镜像:finab/bark-server
  • 端口:8080
  • 卷:卷ID填 data,路径填 /data

等部署成功以后,添加一个公网域名地址就能够使用了,就这么简单。

bark_10.png

客户端配置

首先去 APP Store 下载 Bark 的客户端 APP

bark_20.png

安装以后,打开 APP 会有很多提示获取通知权限的,通通允许。

然后点击右上角的 加号 ,添加刚才上面部署好的服务端公网域名地址

bark_21.png

例如:https://example.zeabur.app

bark_22.png

如果添加成功,就会在首页看到自己的推送地址,其中最重要的是跟在域名后面的那个 key

bark_23.png

最后就可以试试能不能推送消息成功发到手机上了,官方提供了几种方式。

URL格式

URL由推送key、参数 title、参数 subtitle、参数 body 组成。有下面三种组合方式

1
2
3
/:key/:body 
/:key/:title/:body 
/:key/:title/:subtitle/:body 

GET方式

GET 请求参数拼接在 URL 后面,例如:

1
curl https://域名/your_key/推送内容?group=分组

POST 方式

POST 请求参数放在请求体中,例如:

1
2
curl -X POST https://域名/your_key \
     -d'body=推送内容&group=分组'

请求支持 JSON 格式,例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
curl -X "POST" "https://域名/your_key" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "body": "Test Bark Server",
  "title": "Test Title",
  "badge": 1,
  "sound": "minuet",
  "icon": "https://day.app/assets/images/avatar.jpg",
  "group": "test",
  "url": "https://bark.day.app"
}'

玩法

只要有消息推送的场景,玩法也有很多,大家可以按照自己的日常发挥脑洞。

验证码

估计验证码是比较常用的一种消息推送场景,而且推送支持自动复制推荐内容(iOS14.5以下自动复制推送内容,iOS14.5以上需手动长按推送或下拉推送)

1
https://域名/yourkey/验证码是123456?autoCopy=1&copy=123456

bark_24.png

订阅消息

例如,根据一些场景,自己可以写一些订阅消息管理后台,添加一些自己可能每个月或者一个周期内需要提醒自己的内容。最常见可能就是每个月的水电费、电话费和房租等等 XD

bark_30.png

每个月呢就能够提醒我一下咯哈哈哈

bark_31.png

快捷指令

Bark 支持使用快捷指令直接发送推送,更多的玩法自己摸索哈

批量推送

如果你没有服务器自建服务端,也可以通过官方的渠道域名来实现推送(如果你要推送的内容隐私程度不高),官方文档写的是可以支持批量推送,若 QPS 超过 200,推荐自建服务端,若 QPS 超过 3000,尽量自建服务端,部署时添加 --max-apns-client-count 参数,详情可以查看文档。但是一般自用也不会涉及到这么高的频次,其次来说,大家用的时候要自重哈

Licensed under CC BY-NC-SA 4.0
本博客所有内容无特殊标注均为大卷学长原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy