侧边栏壁纸
博主头像
Wyatt博主等级

Done is better than perfect!

  • 累计撰写 103 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

开发者的专属推送小工具 - Bark

Wyatt
2021-03-20 / 0 评论 / 0 点赞 / 1,045 阅读 / 2,331 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-03-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一. 简介

对于开发者来说,我们日常会收到非常多的自动提醒,例如短信,邮件,手机弹框,钉钉等。但是很多时间以及场景下,我们都不会太关心自己所不想关心的事情,我们只想处理一些自己定义的特殊通知。iPhone消息推送可靠不丢数据,实时性很好,非常轻量,并且利用简单的http请求给自己的手机发推送。

针对于隐私保护,如果你的数据特别敏感,请将Bark部署到私人服务器。所有的数据将只在 你的手机、你的服务器、Apple推送服务器之间传输。

Github项目地址:

二. 安装

2.1 安装barkserver

在自己服务器上配置好docker后,万物皆可docker。推荐使用docker-compose方式部署。

  • Docker部署
docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server
  • docker-compose部署
mkdir bark && cd bark
curl -sL https://git.io/JvSRl > docker-compose.yaml
docker-compose up -d

具体的docker-compose.yaml的内容如下:

version: '3.8'
services:
  bark-server:
    image: finab/bark-server
    container_name: bark-server
    restart: always
    volumes:
      - ./data:/data
    ports:
      - "8080:8080"

采用Ping方式来验证程序是否正常运行:

curl "http://127.0.0.1:8080/ping"

# {"code":200,"message":"pong","timestamp":1616194575}

2.2 bark ios app 安装

优先推荐使用客户端App Store地址进行安装: Bark IOS App

2.3 配置App

根据私有服务器配置nginx或者采用服务器的负载均衡,我是基于腾讯云的负载均衡进行公网暴露,并且使用了具体的域名进行了绑定,例如当前我的bark server的地址为:https://barkserver.wyatt.plus

打开App,在右上角配置自己的域名地址。注意,一个手机只能配置一个bark server服务器地址,并不是多个。

barkserver私人配置

2.4 调试

可以发get或者post请求 ,请求成功会立即收到推送

url个人展示

URL 组成: 第一个部分是 key , 之后有三个匹配

  • /:key/:body

  • /:key/:title/:body

  • /:key/:category/:title/:body

  • title 推送标题 比 body 字号粗一点

  • body 推送内容 换行请使用换行符 '\n'

  • category 另外的功能占用的字段,还没开放 忽略就行

  • post 请求 参数名也是上面这些

2.5 更多细节

  • Bark正在支持更多的页面参数,包括网页,自动复制,自动保存,自定义提示音等。这说明,这是一个还是很活跃的项目
  • Bark Server也在提供更多的语言案例,这对于在程序中使用Bark提供了很多便利,更多的内容参考:API_V2

三. 调试运行

当我们使用get或者post请求访问url时,我们手机将收到如下的弹框提示。

弹框

当然,平台也提供了更多系统API给到开发者。例如:

  • Healthz
curl "http://127.0.0.1:8080/healthz"
  • Info
curl "http://127.0.0.1:8080/info"

四. 总结

关于提醒工具,存在于开发者的时时刻刻与方方面面,很多时候有些推送并非是我们所需要的。
我们只想关注于我们当前所想关注的。

我们人就像一个数据库,很多外在的通知希望查询我们数据。利用了“布隆过滤器”的机制,我们过滤掉的通知“一定不是我们想收到的”,但是没过滤的“大概率是我们需要的东西”。

高效的专注,不浪费时间于杂事。

0

评论区