- 客户端通知架构
- 我们目前是什么方案?
- 基于架构如何分析实际问题
- 通知的可能性
通知有多重要?
- 移动早期的优势:体验+通知
- 苹果的态度
客户端通知架构
- 需求?
- :开发者可以从服务器给指定的(自己的) app 传递信息,兼顾安全与体验
- 如何设计?
- 不是短信
- 兼顾安全是难点
- 体验是什么?“即时”请求用户授权
- 苹果的设计
我们目前的架构
- Push 格式
- LeanCloud
- push history 表
- installation 表
- 在线发送
- 环信 IM
实际问题
- 环信+LeanCloud 带来什么问题?
- 小红点不同步
- 😱恐怖的 crash,上图(最恐怖的 crash 方式,最恐怖的比例)
- fixed?依旧 crash
- 多设备问题?
- 管理 channel 或自定义 installation 表列字段
- 长度 256B -> 2KB -> 4KB
- 量到一定级别,问题就变了。怎么批量推?
- 推送成功没?
- 猜测
- 苹果采用队列分批发送
- 分批逻辑不支持批次拆分
- 同时受 HTTP 自身限制
- WTF:发送成功是直接断开连接的哦
- 证书
- iOSer 的痛:证书不一致,过期,不同应用不同证书,线上线下不同,debug 环境无法调试
- 证书 -> JWT
- JWT?
- Json Web Token 场景:直接附带授权提高转化率
- 举例:发优惠券: http://hotegg.com/?userId=1&coupon=A, with token?
推送的可能性
- 最近七天不活跃?
- 推送打开对应原生页面或 H5?url
- 推送:张三你好~ ?
- 客户端替换消息内容
- 推送可选项?推送直接回复?
- 推送图片?自定义推送样式?
- 修改、撤销推送
总结
- 了解原理,有需求(问题)才能对症下药
- 跟紧苹果大大:大胆应用 1 年发布的技术(稳定、高效、给力)