Trigger.io在后台保持longpoll连接打开

时间:2013-11-02 18:26:00

标签: ios ajax background-process long-polling trigger.io

我有一个长轮询forge.request.ajax调用连接到我的服务器以侦听新事件或通知。当应用程序在前台处于活动状态时它可以正常工作,但是一旦应用程序处于backgruond中,它似乎不起作用。

我使用了forge.event模块中的isPaused事件,在新请求进入时更新徽章,但没有任何反应。当我回到应用程序时,我会在应用程序处于后台时收到通知。

当应用程序在后台时,是否可以打开longpoll ajax请求?

1 个答案:

答案 0 :(得分:2)

在触发器应用程序处于后台时,您无法进行长时间轮询。

当触发器应用程序进入后台时,JS执行暂停。当应用程序进入后台时会调用appPaused event的监听器,但有一些限制:

  

回调中可执行的内容因平台而异:

     
      
  • Android:任何javascript都可以运行,但定时器可能不会被解雇   应用程序恢复,这可以防止不必要的电池使用   应用
  •   
  • iOS:执行时间很短,确实如此   通常最好假设回调和计时器可能直到开火   该应用程序已恢复。
  •   

这不是触发器固有的东西,但一般的移动应用程序,特别是iOS对于在后台运行某些东西的时间非常严格。这种问题通常使用推送通知解决,推送通知更可靠(即使您的应用程序被杀死也能保持正常工作)并且电池更友好。