javascript - Firebase 在 cordova 暂停时断开连接

标签 javascript cordova firebase

我的应用面临的一个相当大的问题是,除非应用暂停,否则大约 50% 的启动没有 Firebase 连接。所以我会:

  1. 启动应用程序以不加载任何数据
  2. 暂停加载当前页面的数据
  3. 恢复查看数据。
  4. 每次需要发送或接收数据时,请重复步骤 2 和 3

代码:

  var onPause = function(){console.log("paused");}
  var onResume = function(){console.log("resumed");}
  document.addEventListener("pause", onPause, false);
  document.addEventListener("resume", onResume, false);

  var connectionRef = new Firebase(FB + "/.info/connected");
  connectionRef.on("value", function(snap){
    if(snap.val() == true){
      console.log("connected       -------[]------");
    } else {
      console.log("not connected   --------[            ]------------");
    }
  });

日志:

resumed
not connected   --------[            ]------------
paused
connected       -------[]------
resumed
not connected   --------[            ]------------
paused
connected       -------[]------

它一半时间有效的原因是因为它也以相反的方式工作,我认为这是预期的方式。有什么办法可以防止它完全断开连接吗?或者强制它在恢复时连接?

最佳答案

我找到了问题的原因 - 这是一个名为phonegap-plugin-push 的插件。当它注册 GCM 时,它会导致 Firebase 离线(如果暂停则在线)。

我仍然没有找到真正的解决方案,但作为一种黑客修复,我有一个注册 GCM 的计时器,这样数据就可以在断开连接之前首先加载。此后,它依赖于用户长时间不使用该应用程序,以便它可以暂停以定期同步。

关于javascript - Firebase 在 cordova 暂停时断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053851/

相关文章:

javascript - 我怎样才能把图片放在 Angular 选择中?

swift - Firebase 观察结果重复数据?

javascript - 如何在 JSON 成功时添加 JS 事件

javascript - 隐藏一个 bootstrap 表头

javascript - 在 JavaScript 中使用 DOM 递归

iOS/Cordova 应用程序初始屏幕加载后移动

ios - 二进制被拒绝 - TabletApplicationIconHD167 保持空白

iphone - iOS 中的 vtable 错误

Firebase 导入未在构造函数 ionic Native 中初始化

java - 在 Firebase 中获取查询