设备在线和离线状态判断说明

ACCS简介

  • ACCS(Alibaba cloud channel service) 是阿里自建的推送通道服务。其核心功能是维持两个长连接在 SDK和EMAS服务器之间传递数据:应用内连接静默连接。SDK中存在一些保活和心跳机制(心跳时长45秒)。

     

EMAS如何判断设备在线和离线

  • 本质区别: EMAS的在线和离线的唯一判断标准就是上边的ACCS长连接服务是否能继续保持通信。SDK会自动轮询检查这一状态。
    • 一旦长连接断开(应用内连接和静默连接都断开),即认为这个设备处于离线状态。
    • 同理,SDK会不断尝试建立连接,一旦某一次请求到达了服务器并且重新建立了长连接,服务器即认为此时app处于在线状态。
  • 现象区别:一般情况下,app在前台是通常是在线的,app被杀死时会变成离线。
    • 当app没有被杀死而是切换到了后台则是一个模糊界限,某些机型会默认进入后台就会切断这个app的网络连接,或者手机内存不足时也会杀死后台app的进程等等各种优化手段。当然也存在app切换到后台较长一段时间仍能够继续保持长连接的情况。
    • 对于安卓定制设备来说,系统应用可以定制一些保活措施,保证app一直可以在线状态。

长连接使用到的域名

  • 【SDK3.8.2及之前】acs4public.m.taobao.com、accscdn4public.m.taobao.com
  • 【SDK3.8.2之后】msgacs.cn-zhangjiakou.aliyuncs.com、jmacs.cn-zhangjiakou.aliyuncs.com

更多信息

某些物联网卡或是公司内网可能会误屏蔽EMAS域名导致长连接无法建立,现象是SDK无法注册成功,建议升级SDK最新版本。若还是无法建立长连接,请联系技术支持。

适用于

  • 移动推送