Java教程

消息推送

本文主要是介绍消息推送,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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消息
这篇关于消息推送的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!