- 客戶端通知架構(gòu)
- 我們目前是什么方案?
- 基于架構(gòu)如何分析實(shí)際問題
- 通知的可能性
通知有多重要救赐?
- 移動早期的優(yōu)勢:體驗(yàn)+通知
- 蘋果的態(tài)度
客戶端通知架構(gòu)
- 需求?
- :開發(fā)者可以從服務(wù)器給指定的(自己的) app 傳遞信息只磷,兼顧安全與體驗(yàn)
- 如何設(shè)計(jì)经磅?
- 不是短信
- 兼顧安全是難點(diǎn)
- 體驗(yàn)是什么?“即時”請求用戶授權(quán)
- 蘋果的設(shè)計(jì)
我們目前的架構(gòu)
- Push 格式
- LeanCloud
- push history 表
- installation 表
- 在線發(fā)送
- 環(huán)信 IM
實(shí)際問題
- 環(huán)信+LeanCloud 帶來什么問題钮追?
- 小紅點(diǎn)不同步
- ??恐怖的 crash预厌,上圖(最恐怖的 crash 方式,最恐怖的比例)
- fixed元媚?依舊 crash
- 多設(shè)備問題轧叽?
- 管理 channel 或自定義 installation 表列字段
- 長度 256B -> 2KB -> 4KB
- 量到一定級別,問題就變了惠毁。怎么批量推犹芹?
- 推送成功沒?
- 猜測
- 蘋果采用隊(duì)列分批發(fā)送
- 分批邏輯不支持批次拆分
- 同時受 HTTP 自身限制
- WTF:發(fā)送成功是直接斷開連接的哦
- 證書
- iOSer 的痛:證書不一致鞠绰,過期腰埂,不同應(yīng)用不同證書,線上線下不同蜈膨,debug 環(huán)境無法調(diào)試
- 證書 -> JWT
- JWT屿笼?
- Json Web Token 場景:直接附帶授權(quán)提高轉(zhuǎn)化率
- 舉例:發(fā)優(yōu)惠券: http://hotegg.com/?userId=1&coupon=A, with token?
推送的可能性
- 最近七天不活躍牺荠?
- 推送打開對應(yīng)原生頁面或 H5?url
- 推送:張三你好~ 驴一?
- 客戶端替換消息內(nèi)容
- 推送可選項(xiàng)休雌?推送直接回復(fù)?
- 推送圖片肝断?自定義推送樣式杈曲?
- 修改、撤銷推送
總結(jié)
- 了解原理胸懈,有需求(問題)才能對癥下藥
- 跟緊蘋果大大:大膽應(yīng)用 1 年發(fā)布的技術(shù)(穩(wěn)定担扑、高效、給力)