分享个自用的小工具~ 给你的 iPhone 发自定义推送 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
finab
V2EX    分享创造

分享个自用的小工具~ 给你的 iPhone 发自定义推送

 
Finb 2018-07-02 11:27:21 +08:00 54346 次点击
这是一个创建于 2656 天前的主题,其中的信息可能已经有所发展或是发生改变。
我有些自动提醒只是想看一眼,看完划掉就删了~
邮件或聊天软件做提醒都稍微重了一点,

iPhone 消息推送可靠不丢数据、实时性也比较好,正好合适。
所以这个 APP 就诞生了, 使用简单 http 请求给自己的 iPhone 发推送

自用了几个月,还算稳定没掉过通知,分享出来给有需要的 V 友。免费并提供源码和后端程序

如果你的**数据敏感**,可以在自己的主机上部署后端程序,这样数据只在 你的手机、你的主机、Apple 推送服务器之间传输,非常安全 。App 内点添加私有服务器有文档

使用示例


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

App 源码
https://github.com/Finb/Bark
后端源码
https://github.com/Finb/go-tools/blob/master/Bark.go
第 1 条附言    2018-07-02 13:30:27 +08:00
打开 APP 注册得到推送 URL 后 ,可以发 get 或者 post 请求 ,请求成功会立即收到推送

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

title 推送标题 比 body 字号粗一点
body 推送内容
category 另外的功能占用的字段,还没开放 忽略就行
post 请求 参数名也是上面这些
第 2 条附言    2018-07-17 18:10:17 +08:00
第 3 条附言    2018-12-19 11:37:37 +08:00
1.0.4 支持 automaticallyCopy 参数,携带此参数发送推送,推送内容将直接复制到粘贴板

如果是自己部署的 Bark 后端要支持这个功能,需使用最新的服务端程序
https://github.com/Finb/Bark/releases
第 4 条附言    2019-03-01 15:15:57 +08:00

后端支持 Docker

docker run -dt --name bark -p 8999:8080 finab/bark-server:v1.0.0 
第 5 条附言    2019-03-01 17:18:05 +08:00

docker 挂载本地目录, 保存 bark.db 文件

docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server 
第 6 条附言    2020-06-01 09:05:12 +08:00
新增保存历史通知的功能。

使用方法:
在推送 URL 中添加 isArchive 参数。
isArchive = 1 时通知将被保存,为其他值时则不会被保存。

或者在历史消息 - 设置 中打开默认保存

保存在本地的通知消息历史非常安全。
通过 NotificationServiceExtension 扩展,在收到推送时,将推送信息保存在本地,不会经过其他任何设备。
历史记录仅由个人 iCloud 私有库进行同步。
可以确保你产生的任何通知,将只留在你的设备与你的 iCloud 中
220 条回复    2025-07-31 21:20:09 +08:00
1  2  3  
Smilecc
    1
Smilecc  
   2018-07-02 11:33:49 +08:00
感觉挺有意思的
quickma
    2
quickma  
   2018-07-02 11:37:43 +08:00
IFTTT 了解一下
x537196
    3
x537196  
   2018-07-02 11:38:00 +08:00
mark
finab
    4
finab  
OP
   2018-07-02 11:43:21 +08:00
@x7395759 唔~,和这个没啥交集吧? - -
fakeJas0n
    5
fakeJas0n  
   2018-07-02 11:43:21 +08:00
感觉有点意思
quickma
    6
quickma  
   2018-07-02 11:47:40 +08:00
@finab #4 给 IFTTT 发一个 http 请求推送消息呀
GG668v26Fd55CP5W
    7
GG668v26Fd55CP5W  
   2018-07-02 11:48:54 +08:00 via iPhone
api.day.app
服务器错误,不能使用推送服务……
GG668v26Fd55CP5W
    8
GG668v26Fd55CP5W  
   2018-07-02 11:52:06 +08:00 via iPhone
@falcon05 翻墙之后可以了,深圳移动
veightz
    9
veightz  
   2018-07-02 11:56:24 +08:00 via Android
我觉得还是蛮有意思的,应该还能发掘更多的场景
GG668v26Fd55CP5W
    10
GG668v26Fd55CP5W  
   2018-07-02 11:58:43 +08:00 via iPhone   2
很好的工具,像 Server 酱,但不限于微信,也可以自己掌控服务端。感谢
NFC
    11
NFC  
   2018-07-02 12:14:50 +08:00 via iPhone
赞一个
有个问题 如果推送的内容含有多个 / 会出问题啊。
finab
    12
finab  
OP
   2018-07-02 12:15:32 +08:00
@x7395759 我擦,是可以这样做嘛? 那确实是一样的效果

@veightz 之前想了很多收到推送之后的交互,还把界面写在推送里,收到推送后不用打开 APP 就能操作
后来觉得使用起来有点复杂就算了~ 就简简单单做了个通知,我最主要也就是用这个,不折腾了

@falcon05 发通知的主机能连上就行,APP 只能能连一次就 OK 了。最好当然是能把后端部署到自己的主机上,就不存在网络问题了
finab
    13
finab  
OP
   2018-07-02 12:19:24 +08:00   2
@NFC
你拼接的时候最好能转义一下
或者用 post 请求 字段名是 title 和 body

URL 有三个匹配,多加了 / 可能会匹配错了
/:key/:body
/:key/:title/:body
/:key/:category/:title/:body
1daydayde
    14
1daydayde  
   2018-07-02 12:35:35 +08:00   10
没有人在意那个“暗恋 9 年的女神发了新朋友圈:今天我结婚了!” 吗?
心疼楼主 1s
ifoolish
    15
ifoolish  
   2018-07-02 12:40:11 +08:00   3
支持!一直在用楼主开发的 v2 iOS 客户端
AlphaTr
    16
AlphaTr  
   2018-07-02 12:50:28 +08:00 via iPhone
赞一个,收下了试试
j0hnj
    17
j0hnj  
   2018-07-02 12:55:44 +08:00 via iPhone
我一般都是用 slack 的 推送接口
Plsea
    18
Plsea  
   2018-07-02 13:15:13 +08:00
谢谢 LZ,ps:能不能搞个定时推送的功能
finab
    19
finab  
OP
   2018-07-02 13:22:40 +08:00
@0312birdzhang 只是抖个机灵,展示下通知效果

@Plsea 不行喔~APP 端推送何时收收到啥,都需要在你主机上的实现。你需要定时推送的话,只需要在你主机上设置一个定时任务,到时间了请求下你的推送 URL 就行 ,要不你用下 crontab 我觉得能很简单的实现
blufaux
    20
blufaux  
   2018-07-02 13:26:08 +08:00
ifttt 的其他功能功能太多,喜欢楼主的这个,希望能在通知上丰富一下功能
May725
    21
May725  
   2018-07-02 13:30:04 +08:00 via iPhone
很有用,
blufaux
    22
blufaux  
   2018-07-02 13:30:24 +08:00
能推送图片吗?
WHOISYOURDaddy
    23
WHOISYOURDaddy  
   2018-07-02 13:37:59 +08:00
心疼楼主 1s
mritd
    24
mritd  
   2018-07-02 13:38:58 +08:00 via iPhone
诶呀 牛逼牛逼
双击 666666
mritd
    25
mritd  
   2018-07-02 13:40:15 +08:00 via iPhone
App 最大的败笔就是内部风格跟图标 完全不搭嘎
finab
    26
finab  
OP
   2018-07-02 13:40:19 +08:00
@blufaux 什么场景呢?
我之后可能会扩展一个 url 字段,点击推送会用 safari 打开某个 URL。
我觉得最多这样子了,毕竟是为了轻量推送通知,复杂了感觉其他途径更好点
finab
    27
finab  
OP
   2018-07-02 13:40:46 +08:00
@mritd 你揍凯,不就没给你点外卖嘛
lixile
    28
lixile  
   2018-07-02 13:49:40 +08:00
@finab 莫非是好基友?
finab
    29
finab  
OP
   2018-07-02 13:55:18 +08:00
@lixile 是的
Telegram
    30
Telegram  
   2018-07-02 14:04:47 +08:00 via iPhone
好东西,收藏
20150517
    31
20150517  
   2018-07-02 14:27:54 +08:00 via Android
不就是 pushover 么
silentstar
    32
silentstar  
   2018-07-02 15:21:57 +08:00
哎?试试看。
silentstar
    33
silentstar  
   2018-07-02 15:24:13 +08:00
美区刚提交啊,还没评论。
titachi
    34
titachi  
   2018-07-02 15:28:03 +08:00
微软的 Flow 了解一下
love8
    35
love8  
   2018-07-02 15:34:34 +08:00
建议做个网页前端 简便自定义推送
bao3
    36
bao3  
   2018-07-02 16:02:52 +08:00
感谢楼上,终于有一个可以自己掌控的服务端和客户端了。
blufaux
    37
blufaux  
   2018-07-02 16:39:22 +08:00 via iPhone
@finab 苹果推送是支持图片的,有时候给自己过别人推送这个还挺好玩的
finab
    38
finab  
OP
   2018-07-02 16:47:28 +08:00
@blufaux 哈哈,如果要玩的话,推送里还能放视频,甚至。。还能放个小游戏~ iOS10 之后推送界面就可编程了。
blufaux
    39
blufaux  
   2018-07-02 16:54:36 +08:00
@finab 这多有意思,我没发现 ifttt 可以给自己推送自定义消息
zjb861107
    40
zjb861107  
   2018-07-02 17:10:32 +08:00
直接下载信鸽的 demo 就可以了吧!!支持 Android 各大厂商推送和 ios,服务端有各种语言 SDK,可以根据自己需要定制
kera0a
    41
kera0a  
   2018-07-02 17:25:04 +08:00 via iPhone
@zjb861107 需要有苹果开发者账号,然后用这个账号去编译那个 demo,然后签名,还得用这个账号生成推送证书,创建信鸽账号,把证书上传到信鸽,生成 key 替换到 app 运行,打印 id,这之后才能推了
killerv
    42
killerv  
   2018-07-02 17:34:38 +08:00
有意思,可以做很多事
Aphsss
    43
Aphsss  
   2018-07-02 17:38:13 +08:00
我能在这许愿个安卓版的么
hqdmy
    44
hqdmy  
   2018-07-02 17:48:05 +08:00
这个有什么用啊?可以做什么
Sylv
    45
Sylv  
   2018-07-02 17:50:09 +08:00 via iPhone
不知道楼主了解过 Pushover 没?感觉没必要重新造个轮子。
https://pushover.net
gqfBzoLVY3Wl4Tng
    46
gqfBzoLVY3Wl4Tng  
   2018-07-02 17:50:44 +08:00
微信朋友圈都可以?
finab
    47
finab  
OP
   2018-07-02 17:54:54 +08:00
@Sylv
这个要简单很多,打开即用。并且可以将服务端部署到自己的服务器,防止隐私泄露或网络问题。
Pushover 可以满足更复杂的需求,但这个也是有小众需求的
finab
    48
finab  
OP
   2018-07-02 17:55:49 +08:00
@pierrec 能做什么取决于用户,本质上就是个消息推送器
Zzdex
    49
Zzdex  
   2018-07-02 18:08:21 +08:00
推送历史看不到吗?
bigwang
    50
bigwang  
   2018-07-02 18:23:34 +08:00
很赞
早就想做个这样的服务了
zuston
    51
zuston  
   2018-07-02 18:26:19 +08:00
无法看通知具体详情吧,许愿最好有一个推送历史查询和通知详情。
SoulGem
    52
SoulGem  
   2018-07-02 18:32:22 +08:00 via iPhone
@Sylv 这个安卓上貌似国内的不能推送?
yimaneilicj
    53
yimaneilicj  
   2018-07-02 18:42:52 +08:00
mark
bigtwo
    54
bigtwo  
   2018-07-02 19:17:51 +08:00
ifttt 推送延迟平均超过一分钟,且网站,app 端均有不可删的详细历史日志,一直想找个类似更简洁的
感谢楼主
comesx4
    55
comesx4  
   2018-07-02 20:12:29 +08:00
点赞点赞!
MOmc
    56
MOmc  
   2018-07-02 20:39:23 +08:00 via iPhone
不错不错,谢谢提供哈~
Lentin
    57
Lentin  
   2018-07-02 20:47:24 +08:00
可以加一个给通知附带个链接吗?比如把 PC 上当前浏览的网页推送过去,这样岂不是美滋滋~
t/448807
Lentin
    58
Lentin  
   2018-07-02 20:49:22 +08:00
另外图标建议弄成灰色等不那么……抢眼球的颜色图标……
killerirving
    59
killerirving  
   2018-07-02 21:16:32 +08:00
私人服务器需要 https 吗?
kera0a
    60
kera0a  
   2018-07-02 21:25:06 +08:00 via iPhone
@killerirving http 也行的,只不过相当于明文传输了你的推送信息。如果发推送的服务器和收推送的服务器是一台服务器,http 就没任何问题
shanxuefeng
    61
shanxuefeng  
   2018-07-02 21:27:29 +08:00
很好,点赞点赞!
yeeyeung
    62
yeeyeung  
   2018-07-02 22:05:06 +08:00
卧槽超棒的,可以给老妈发提醒了!
huclengyue
    63
huclengyue  
   2018-07-03 00:03:53 +08:00 via Android
这个不是类似 ifttt 的功能?
Tink
    64
Tink  
PRO
   2018-07-03 00:22:31 +08:00 via iPhone
和 pushover 类似吧
dream7758522
    65
dream7758522  
   2018-07-03 00:46:44 +08:00 via Android
顺便做个安卓客户端吧
killerirving
    66
killerirving  
   2018-07-03 01:10:54 +08:00
@kera0a 感谢楼主 试了一下 请求接口返回 {"code":400,"data":null,"message":"与苹果推送服务器传输数据失败"}
finab
    67
finab  
OP
   2018-07-03 05:24:15 +08:00 via iPhone
@killerirving 你用的自己编译的还是我提供的程序?
densuc
    68
densuc  
   2018-07-03 09:01:16 +08:00 via iPhone
@Aphsss 安卓版可以用小米系统级推送这样应用 加上 gcnformojo
需要的话我写过 demo
可以共享出来()
hugo2lee
    69
hugo2lee  
   2018-07-03 09:14:01 +08:00
求安卓端, pushbullet 要 Google 服务而且是别人的的服务器, 楼主这个就很轻便了
s2555
    70
s2555  
   2018-07-03 11:25:09 +08:00
谢谢楼主,收藏先,会用到的
sampeng
    72
sampeng  
   2018-07-03 12:05:35 +08:00
pushover 10 块钱解决的问题。没必要花太多精力去处理。。。
finab
    73
finab  
OP
   2018-07-03 12:06:59 +08:00
@claymore94 那些是一些定时自动执行的脚本,放在自己的服务器上的,脚本运行完了把结果推送到 iPhone。
这个软件的作用就是用 HTTP 接口把一段文字推送到 iPhone。至于是什么文字就自己决定了
finab
    74
finab  
OP
   2018-07-03 12:08:16 +08:00   2
@sampeng
这个 APP 0 元,
这个 APP 打开即用比 pushover 简单
这个 APP 后端可部署在自己服务器上
dingdangnao
    75
dingdangnao  
   2018-07-03 12:09:50 +08:00
突然想到。我们来交换 key 聊天吧
sampeng
    76
sampeng  
   2018-07-03 12:17:37 +08:00
@finab 推送消息没有私密性的要求吧。。。推送个密码?
leafleave
    77
leafleave  
   2018-07-03 12:21:43 +08:00 via iPhone
加一个复制按钮如何?有时候要复制推送内容
finab
    78
finab  
OP
   2018-07-03 12:21:49 +08:00
@sampeng 我有一些社交软件上的特别关注,本身 APP 不带特别关注功能
有一些域名即将到期的监控,即将到期时会通知我去抢注,这些我也不想被人看到
看对数据的敏感程度吧,我个人是很需要的
finab
    79
finab  
OP
   2018-07-03 12:23:30 +08:00
@leafleave get,之后的版本下拉推送或锁屏左滑,会弹出复制选项
swylg
    80
swylg  
   2018-07-03 12:25:49 +08:00 via iPhone
m
zhandi
    81
zhandi  
   2018-07-03 12:27:39 +08:00 via iPhone
nice,感谢
sampeng
    82
sampeng  
   2018-07-03 12:28:08 +08:00
@finab
根据时间来推送的,请用日历。0 延迟
社交软件的特别关注。。就是你这个截图的暗恋 9 年的菇凉结婚了?扎心不。。。。来,说出你的故事。
其实 pushover 我都用的少,最多家里自动电影下载机有我要追的剧下完了通知一下。。。完全想不出有别的使用场景。通知还是越少越好。。。干扰太多,分心。如果不是要收验证码,我连短信的通知都想关掉。
neilp
    83
neilp  
   2018-07-03 12:34:02 +08:00 via iPhone
这个要支持
geekcorn
    84
geekcorn  
   2018-07-03 12:34:12 +08:00 via iPhone   1
感谢楼主大大会用的,然后正在用你写得 ios 客户端发帖
finab
    85
finab  
OP
   2018-07-03 12:35:15 +08:00
@sampeng 我大部分任务都是定在星期 1 上午 10 点,所以打扰到没有多少。
大部分任务都是要执行代码的,日历也做不到,时间提醒我需求不大。

少年,等你要追妹子了,就知道特别关注的好了
claymore94     86
claymore94  
   2018-07-03 12:51:59 +08:00
@finab 原理我理解, 我只是好奇 要自动化 抓取应用和 web 网页的内容
SingeeKing
    87
SingeeKing  
PRO
   2018-07-03 13:01:46 +08:00
建议加上点进去可以看到推送的详细内容吧,最好有历史。。
metrue
    88
metrue  
   2018-07-03 13:34:43 +08:00
看上去很棒,最近也有做一个通知器的想法,可以借鉴楼主的了。
hackpro
    89
hackpro  
   2018-07-03 14:15:59 +08:00 via iPhone
各位有什么好用的模板可以分享吗?
gswxy
    90
gswxy  
   2018-07-03 14:42:59 +08:00 via iPhone
求各种自动化执行脚本。
xiaozizayang
    91
xiaozizayang  
   2018-07-03 16:08:37 +08:00
@yeeyeung 这么激动?发短信 发微信都行啊
KiseXu
    92
KiseXu  
   2018-07-03 16:18:15 +08:00
好东西,想要很久了,希望早日支持付费
KiseXu
    93
KiseXu  
   2018-07-03 16:24:17 +08:00
如果推送的内容,在本地留一份,可以看历史推送就好了
X-Force
    94
X-Force  
   2018-07-03 16:59:14 +08:00
可以考虑做成付费,然后增加 Android 端,服务器端增加 PHP 版,毕竟是最好的语言。就完美了……
jiangnana
    95
jiangnana  
   2018-07-03 17:04:50 +08:00
要充电了
lauix
    96
lauix  
   2018-07-03 18:49:20 +08:00
之前用微信实现的。你这个很棒,有空研究研究。
mritd
    97
mritd  
   2018-07-03 19:36:46 +08:00 via iPhone
作为好基友说一下我的使用: 目前 写了个程序自动检测 局域网梯子,3 次失败 webhook 告警
yeeyeung
    98
yeeyeung  
   2018-07-03 19:37:25 +08:00
@xiaozizayang 短信要钱,老人都不爱。微信消息太多容易把提醒冲掉。这个推送可以自己选择删除或者不删
PHPJit
    99
PHPJit  
   2018-07-03 19:50:44 +08:00 via Android
求安卓端
PHPJit
    100
PHPJit  
   2018-07-03 20:18:13 +08:00 via Android
后端有其他语言吗?
1  2  3  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     944 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 32ms UTC 18:48 PVG 02:48 LAX 11:48 JFK 14:48
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86