每当我的iPhone睡觉/我点击电源按钮让它进入睡眠状态时,任何关于为什么Firebase onDisconnect会被触发的想法?我启用了后台数据,当我将其发送到后台时,它不会被解雇。
我在Android上使用服务运行相同的代码,当我按下睡眠/电源按钮时它不会被调用。
答案 0 :(得分:0)
当您附加onDisconnect
处理程序时,将在服务器确定客户端已断开连接时执行写入操作。当客户端显式关闭连接或套接字超时时,可能会发生这种情况。为防止意外超时,Firebase客户端会定期发送保持活动数据包。
很可能iOS会阻止客户端在一段时间后发送此类保持活动数据包,或者以某种其他方式关闭套接字。