5***@qq.com
5***@qq.com
  • 发布:2017-01-23 10:14
  • 更新:2020-03-27 08:45
  • 阅读:4786

如何让app在后台保持运行,或者让socket.io在后台保持通讯

分类:HTML5+
 我们的项目是一个即时通讯app,通讯采用的是socket.io,目前发现app切换到后台大概3分钟的样子就休眠了,socket.io自动断开,mui.ajax也无法访问数据,android和ios都存在此问题。目前的需求是,我们必须监听每条消息对方是否收到(接收者通过socket.io发送消息回执),如果没有收到回执则通过短信的方式发送消息。如果将app切换到后台3分钟后,对于接收者而言他仍然认为app是运行着的,但由于socket.io已断开无法进行回执而会收到短信,这是客户不能忍受的~~~  
 这应该是个比较普遍的问题,有谁解决了这个问题或者有好的思路的,欢迎留言。  
2017-01-23 10:14 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

手动置顶~

啸天

啸天

IOS 的后台只能运行三分钟,你可以通过设置后台定位的方式做到长久保活,如果你只是想发送消息,可以配合苹果 APNS 使用,离线时通过苹果服务器下发

其实这种即时通讯应用可以通过第三方推送SDK实现,比如 HBuilder 集成的个推、小米推送等等

  • 5***@qq.com (作者)

    试了个推发现很不稳定,从官网发起的推送都经常收不到,或者必须退出app再进才能收到。在我的应用场景中,用户收到消息后还必须要告诉服务器自己收到这条消息了,否则服务器会认为你没收到而发短信给你,加入个推没问题能稳定收到它透传过来的消息,又该怎么告诉服务器收到消息了呢~因此此时app已在后台太久,是没法向外发送数据了的!

    2017-02-06 10:41

  • 啸天

    回复 5***@qq.com:退出APP再进才能收到的,请推送离线消息,至于你说的回执,可以在收到透传或者点击通知栏的时候通知服务器

    2017-02-06 13:38

  • 5***@qq.com (作者)

    回复 啸天:收到透传或点击通知栏通过什么途径通知服务器?推送有相关支持么,此时程序的ajax是用不了的~~

    2017-02-08 16:34

  • wen如故i

    个推也会 三分钟之后 收不到吧,除非后台转前台,重新初始化 个推sdk。。但是需要的是 后台 接收消息,,并不是在前台时,接收

    2017-04-28 13:06

d***@163.com

d***@163.com

你的 APP 是如何使用socket.io的啊,,uniapp如何使用socket.io啊

virtualTurth

virtualTurth - 人类的本质是复读机

同问,个推app进程杀掉了就收不到推送了

该问题目前已经被锁定, 无法添加新回复