手机消息推送解决方案
随着我在服务器上部署的软件越来越多,我也需要一个方便的通知推送来让我知道我的服务器发生了什么事.
前言
最早接触到的自定义推送方式当然是邮件推送, 但是在国内的大环境下邮件推送并不流行. 一是手机推送环境并不统一, 就算邮件到达了用户的邮箱, 用户也接收不到邮件服务商下发的通知. 二是大多数(小白)用户并没有查看邮箱的习惯, 邮箱只是用来注册和找回账号用的.
直到我接触到一些服务器自动化脚本时我才知道还有依赖微信(公众号)的推送软件, 最有名的莫过于 Server酱.
iOS平台因其优秀且统一的推送也出现了推送软件 Bark, 是iOS平台解决自定义推送的不二之选.
Bark
Bark的推送流程:
自动化脚本 -[POST/GET]-> Bark提供的API –> Apple推送服务器 –> iPhone
Bark APP在AppStore已上架
Bark后端 是开源的并且支持Docker部署.
看样子应该是直接拿到了对应iPhone的类似于openID的东西, 直接给Apple推送服务器发消息即可. 因为是开源的所以没啥可担心的.
WxPusher
这是最近两天才接触到的基于微信公众号的推送接口, 类似于 Server酱 但功能更加强大.
WxPusher微信推送服务 (貌似证书出了点问题, 无碍)
特点:
实现了openID机制, 可获取用户信息和单独/多人推送.
实现了关注消息应用(单发/多发), 订阅消息应用(仅群发).
关注回调接口(带参数), 上行消息回调(向公众号发送内容开发者可获取).
更详细的内容请访问文档来获取.
普通用户关注它的微信公众号, 开发者就可以拿到UID, 就可以做推送了. 如果走 Server酱 的话还需要用户去注册, 门槛大幅降低. 还支持上行消息, 做一些额外的骚操作.
下面记录一些常用的接口.
发送消息
1 | http://wxpusher.zjiecode.com/api/send/message |
关注回调
1 | { |
上行消息回调
1 | { |
模板消息和内信
微信官方限制微信公众号发送内信(聊天消息)的数量. 文档
所以有模版消息的出现, 代替内信实现非用户交互时段下的消息下发.