HT Android推送
- 用户A,向用户B发送消息,“你好”,后台首先判断用户B的在线状态;
- 如果在线,就走app内协议,比如HT聊天服务用的是websocket协议。
- 如果不在线,就走推送通道。后台取出用户B登录的时候向后台发送的token值,判断推送需要走哪个渠道,比如vivo,oppo等,然后通过第三方渠道提供的api接口,进行推送。
Android离线推送
与设备建立长连接:第三方服务器
- 手机厂商开发:小米推送、华为推送
- 客户端不断的查询服务器,检索新内容,也就是所谓的pull或者轮询方式,适用于短连接
- 客户端和服务器之间维持一个TCP/IP长连接,服务器向客户端push【苹果的推送系统和googleC2DM推送系统】
PUSH 和 PULL对比
PUSH优于PULL,原因如下:
- PUSH方式在满足需求情况下更省资源
- PULL方式,客户端需不断监测服务器变化,消耗更多服务器资源(CPU、网络流量、系统电量)
iOS推送
- 借助APNs,苹果提供的服务。
- APNs颁发作为设备标识的device-token。
- APP 开发者收集device-token,并整理推送内容+推送范围,给APNs。
- APNs 基于device-token推送消息。之后的推送就交给APNs
测试关注点
- Push消息能否按设定业务规则发送
- Push消息针对特定用户,收到的push消息与用户身份是否相符
- 系统设置不接收该APP通知消息时,用户应该不再收到Push消息
- Push消息针对特定用户,收到的push消息与用户身份是否相符
- Push消息能否正常打开
- APP在前台使用时,Push消息如何提示
- APP在后台运行时,Push消息如何提示
- APP离线时,能否收到Push消息
- 设备锁屏状态下,能否收到Push消息
- 设备网络断开后再一次建立连接时,能否收到Push消息
标签:APP,用户,APNs,消息,Push,推送 来源: https://www.cnblogs.com/QingshanY/p/16120573.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。