再分享一下自用的小工具 Bark ,给你的 iPhone 发自定义推送

2020-06-02 11:44:21 +08:00
 finab

之前有发过一次
https://www.v2ex.com/t/467407
两年来收到很多反馈想加个历史记录,这次总算加了。

之前觉得麻烦,最近发现依赖 Github 编程工作量很少,大部分工作都有非常优秀的大佬帮你做了, 就顺手实现了。
软件完全免费,完整开源。APP 与源码都可以随意使用,V 站的朋友们有需要的自取即可。

简单介绍下 Bark
Bark 提供一个 http 接口,简单调用即可给自己的 iPhone 发送推送。

简单说下优点

  1. 稳定
    使用苹果 APNS,我自用以来没掉过通知

  2. 及时
    一般 1 秒左右就能收到推送

  3. 隐私安全
    服务端可以选择自行部署 /编译 /实现,数据将在 你的服务器-苹果 APNS-你的设备 之间传输,
    确保任何推送信息都不会被泄漏。
    通知历史记录是通过 NotificationServiceExtension 扩展,在收到推送时将推送信息保存在本地,再由个人 iCloud 同步,你的推送将只保留在你的设备与你的 iCloud 中。

使用示例

AppStore 链接
https://itunes.apple.com/cn/app/bark-customed-notifications/id1403753865

源码
https://github.com/Finb/Bark
https://github.com/Finb/bark-server

使用教程
https://github.com/Finb/Bark/blob/master/README.md

7412 次点击
所在节点    分享创造
47 条回复
lovepy
2020-06-02 20:37:14 +08:00
用过 确实不错, 不过后来想点击看历史消息发现没有 所以转用 tgbot 发消息了
l12ab
2020-06-02 20:58:52 +08:00
用了很久了,非常好用。还有楼主开发的 V2 客户端
zhzy0077
2020-06-02 21:06:33 +08:00
@zst
@jianzhao123
试试 www.pipehub.net 呢,不用 App 直接推送到微信上。
dingdangnao
2020-06-03 01:07:04 +08:00
之前真的好用 后来 自己建了个 tgbot😂还能发群组改声音之类的😂
diyisoft
2020-06-03 05:42:59 +08:00
老大的工具很好,且开源。赞,谢谢。
正在用的你的开源 V2EX 客户端来回复的消息。
benjix
2020-06-03 08:17:29 +08:00
终于有历史消息了....可惜我已经转用企业微信了
terencehan
2020-06-03 09:40:17 +08:00
一直在用,很舒服。年前结合 bypass 抢票,nice
kiracyan
2020-06-03 17:02:11 +08:00
自己试着做个 server 发送消息 但是无法保存信息纪录 isarchive 也传了值没生效 但是 copy 参数生效了 没搞懂是什么原因
finab
2020-06-03 17:24:24 +08:00
@kiracyan
isarchive=1 才会保存,或者不加 isarchive 参数,默认设置下是会保存所有推送
可以点首页第三条自动保存的测试示例测试一下
kiracyan
2020-06-03 17:31:39 +08:00
@finab 你的服务端没问题 我是自己写了一个服务端 试着发一下消息
finab
2020-06-03 17:44:28 +08:00
@kiracyan 我的实现会把参数名全部转为小写
例如 isArchive 传给 APNS 时,参数名是 isarchive 。

iPhone 的推送扩展里的保存推送代码会相应的取 isarchive 的值。
如果你传的是大写,可能会导致代码认为没有 isarchive 参数,就不保存了

这种情况下,会根据 APP 设置是否默认保存推送来决定保不保存。默认这个设置是打开的

是否你关闭了这个设置,并且传递参数时,传了 isArchive ?
kiracyan
2020-06-03 17:50:35 +08:00
@finab 没关 我不传也不会自动保存
这是 json
{
"aps": {
"sound": "1",
"badge": "0",
"alert": {
"body": "You have a new message",
"title": "hello"
}
},
"copy": "message"
}
kiracyan
2020-06-03 17:51:19 +08:00
@finab 顺便提个建议 注册设备的时候可以手动选择刷不刷新 key,
finab
2020-06-03 17:55:02 +08:00
@kiracyan
缺少了 "mutable-content":1,

在我的实现里是这行代码
https://github.com/Finb/bark-server/blob/19fe79ae4267957a10e389e529ce756d120f8564/server.go#L229

这个字段的作用是推送到达设备时,会先执行推送扩展里的代码再显示推送
保存推送和其他功能是依赖这个的
finab
2020-06-03 18:00:34 +08:00
@kiracyan 在我的实现里,Key 注册了就不会变化了。
因为这是一个公共服务,所以客户端不能指定 key,都由服务端分配。
分配好后,再注册更新数据时,携带旧 key 不会再分配新 key 了。

如果是自个的服务端,只需要拿到注册时携带的 token,key 什么的就无所谓了。
kiracyan
2020-06-03 18:01:44 +08:00
@finab OK 了 感谢
v2vTZ
2020-06-04 11:57:14 +08:00
用了挺长时间了.是真的好用
mq4079
2020-06-04 19:59:43 +08:00
很好用,感谢!
programV2
2020-09-28 15:45:24 +08:00
@finab 楼主你好,请问你的 V2EX 客户端怎么发帖子啊,我更新到最新版,没找到发帖子的地方。谢谢🙏
finab
2020-09-28 18:45:16 +08:00
@programV2 你好,没有发帖的地方 囧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/677782

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX