首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
华为云
V2EX  ›  分享创造

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

  finab · 109 天前 · 9800 次点击
这是一个创建于 109 天前的主题,其中的信息可能已经有所发展或是发生改变。
我有些自动提醒只是想看一眼,看完划掉就删了~
邮件或聊天软件做提醒都稍微重了一点,

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 条附言  ·  108 天前
打开 APP 注册得到推送 URL 后 ,可以发 get 或者 post 请求 ,请求成功会立即收到推送

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

title 推送标题 比 body 字号粗一点
body 推送内容
category 另外的功能占用的字段,还没开放 忽略就行
post 请求 参数名也是上面这些
第 2 条附言  ·  93 天前
156 回复  |  直到 2018-10-17 14:15:32 +08:00
1  2  
    101
Lentin   107 天前 via iPhone
@PHPJit 安卓的话时效性就没有了,不翻墙的话,抽疯
    102
diyisoft   107 天前 via iPhone   ♥ 1
用大佬的开源 V2EX 客户端来回大佬的帖子。赞一下。这个功能也很强大,谢谢
    103
royrs   106 天前
求各种自动化执行脚本。
    104
70599   106 天前
@finab 作者你好,这个 App 能实现以下功能吗?
1、自定义声音
2、打开链接

目前在用 pushover,pushover 可以有限自定义声音,但是不能定义来电铃声长度的声音。
所以我不得不转发一个邮件,让邮件触发长铃声来达到提醒目的。
    105
tinytin   105 天前
马克
    106
tinytin   105 天前
@falcon05 server 酱用微信好处是跨平台
    107
finab   105 天前 via iPhone   ♥ 1
@70599 打开链接即将支持,在审核了最近两天应该会更新到商店。
自定义声音不支持。
不过你有开发者账号的话下载源码稍微加几行代码就能自己支持上了。自定义声音时长好像是限制 30 秒以内,并且不能循环播放,起不到提醒的作用

这个 app 只适合推送一些不重要的简单的通知,专业复杂的我觉得并不合适吧
    108
gswxy   105 天前 via iPhone
多次出现{"code":400,"data":null,"message":"与苹果推送服务器传输数据失败"}

用的编译的版本 。
    109
bobsam   105 天前   ♥ 1
哇,原来你是 iOS V2EX 的软件的作者啊!我现在在用着你的客户端!支持一波~
    110
finab   105 天前
@gswxy
编译的版本是我提供的那些?
你运行的时候有记录控制台打印日志么? 上面有详细原因, 错误信息前缀 Error:
    111
gswxy   105 天前 via iPhone
@finab 你编译好的版本 。没记录日志。
    112
finab   105 天前
@gswxy 你记录下日志吧

nohup ./Bark_linux_amd64 -ip=0.0.0.0 -port=8080 &
我一般这样运行,然后日志保存在同目录下 nohup.out 里

我刚在我服务器上 grep 了一下,只发现一条错误日志,大概长这样
2018/06/30 23:20:22 Error: Post https://api.push.apple.com/3/device/2dac2f77c0e030d4a07535ad4264d05abda6808162e499f193bbc6973e72a6d6: dial tcp 17.188.148.26:443: i/o timeout
    113
gswxy   105 天前 via iPhone
@finab 嗯 等记录看看什么情况 。v2ex 签到脚本可以共享下?不甚感谢 。
    114
finab   105 天前
@gswxy 我不用签到脚本 - -,图片上的那个是我随便写的用例😓
    115
gswxy   104 天前 via iPhone
@finab 看了下日志 应该是苹果那边没通过导致的
    116
finab   104 天前
@gswxy 苹果那边没通过? 是网络原因还是?
    118
70599   104 天前
@finab 没有开发者账户。30 秒以内 /不循环播放我是可以接受的,如果您有兴趣的话,期待加入相应特性。
    120
mayuko2012   103 天前
太赞了!
以前为了自定义通知用的企业微信来接受推送,现在可以更加方便了~
    121
metrue   103 天前
试玩了一把,自己 build iOS app 然后部署 server,可以遇到下面的错误信息。有同学知道什么原因吗?
{"code":400,"data":null,"message":"推送发送失败 DeviceTokenNotForTopic"}
    122
finab   103 天前 via iPhone
@metrue 需要去开发者中心申请自己的推送证书喔
    123
gswxy   102 天前 via iPhone
@finab 现在完全不知道它何时工作 。😄 不知道其他人是不是这样 。
    124
doudouwu   101 天前
我记得 IFTTT 好像可以实现这个需求吧
    125
xlvecle   99 天前   ♥ 2
楼主这个非常赞啊,用了有一周了,有复制之后更好用了👍
帮你撸了一个 chrome 插件,https://www.v2ex.com/t/469956
    126
34C   99 天前
@sampeng 真杠精,这么能杠,你没需要不代表别人不需要好吧,神特么各种基于你自己的设定
    127
Lentin   99 天前
@finab 如果没有推送证书是不是就无法搭建 server ?
    128
finab   99 天前 via iPhone
@Lentin 提供了编译好了的后端程序,自己编译的话就需要证书了
    129
Lentin   99 天前 via iPhone
@finab 找到了 多谢
    130
fuwu1245   99 天前
LZ 能帮忙编译一个 Linux i386 版本的执行文件么?
自己编译了下 扔到服务器上 提示 cer error
    131
fuwu1245   99 天前
...看了回复 貌似是证书的问题
    132
finab   99 天前
    133
internelp   93 天前
不错不错,楼主牛逼。
很有用的东西。
    134
autoxbc   91 天前
我点击注册设备后,生成的 key 是空的

https://i.loli.net/2018/07/19/5b5022c607e35.jpg
    135
finab   91 天前
@autoxbc 重进下 APP 试试,有可能第一次没网络权限的时候没获取到 key
    136
autoxbc   91 天前
@finab #135 解决了,多谢。我试了 3 次把 app 删掉重装,却一次也没试过关掉重进 ^_^。不过,还是建议有个异常处理
    137
finab   91 天前
@autoxbc 是的,我手机不弹网络权限,所以忽略了这个 BUG
    138
autoxbc   91 天前
很好用,如果能在通知部分用等宽体,使得红圈部分可以对齐就更好了

https://i.loli.net/2018/07/19/5b50361b34e8a.png
    139
finab   91 天前
@autoxbc
这里的 UI 不能控制。
如果越狱了可以把系统字体改成等宽字体就能对齐了,没越狱就没啥办法
    140
foxni   91 天前
自己部署的服务端,一直提示 BadDeviceToken。。。
    141
foxni   91 天前
{"code":400,"data":null,"message":"推送发送失败 BadDeviceToken"}
    142
finab   91 天前 via iPhone   ♥ 1
@foxni iOS 端是自己编译的吗
    143
foxni   91 天前
@finab 不是啊,app store 下的,服务端是部署在国外的一台 vps 上,debian 32 位。
    144
finab   91 天前 via iPhone   ♥ 1
@foxni 后端是下载我编译好的还是自己编译的?
    145
foxni   91 天前
@finab 也是下的编译好的,都是通过上面给的链接跳过去的。
    146
finab   91 天前   ♥ 1
@foxni 好像 linux_386 版打包时证书用错了
我重新编译了一遍,测试了下可以用了,你更新下试试看还有没有问题
https://github.com/Finb/Bark/releases/download/1.0.0/Bark_linux_386
    147
foxni   90 天前
@finab 非常感谢,已经通了。
    148
frozenthrone   90 天前
土问,ifttt 上自己弄了一个 applet,是公开的?其他人都能看到?
    149
blaxmirror   89 天前
简直太好用了,特地回来点赞
    150
Athrob   88 天前
收费版建议
1. 增加通知记录, 就是打开后可以看到之前收到的通知.
2. 增加安卓平台的支持
3. 支持短信 /电话方式通知
4. 做个比较完善的管理后台
5. 提高服务稳定性
哇咔咔, 仿佛看到数月后, 国内又多了一家有爱的创业公司.
    151
MangozZ   67 天前
不懂 ios 开发。
请问下是什么功能会要求 ios10 呢 - -
有个 ios7 用不了心痛。。
    152
finab   67 天前
@MangozZ 有个推送操作至少需要 iOS10 - -
    153
flowfire   43 天前 via iPhone
Material design 可还行。。
    154
gswxy   25 天前 via iPhone
12 下 url copy 失效了?
    155
finab   25 天前
@gswxy 没有呀
    156
ahu   1 天前
研究了一上午,不错!
相比 pushover,免费的,好!
现在是只能发给自己,如何实现发给一组人?@finab
1  2  
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2766 人在线   最高记录 3762   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 21ms · UTC 04:34 · PVG 12:34 · LAX 21:34 · JFK 00:34
♥ Do have faith in what you're doing.
沪ICP备16043287号-1