swift - Firebase - 按下侧按钮时触发 onDisconnectSetValue()
问题描述
我正在尝试跟踪用户的应用程序何时将终止并在它发生时向firebase发送一些东西。我查看了Offline Capabilities 文档并尝试".info/connected"
使用.onDisconnectSetValue()
.
我已经成功了.onDisconnectSetValue()
,但是如果按下 iPhone 的侧边按钮并且 iPhone 进入睡眠状态,它会触发并说用户处于非活动状态(并且在用户再次将应用程序置于前台之前,我无法设置另一个值) .
我尝试转移.onDisconnectSetValue()
到 applicationWillTerminate() 所以它只捕获终止但当我关闭应用程序时它不会触发(我假设因为它不能及时)
Firebase 有什么东西可以为用户关闭应用程序的特定实例设置一个值吗?
解决方案
Firebase 客户端可以检测应用程序是否在线,.info/connected
并且应用程序可以告诉服务器在它离线后执行特定的写入操作onDisconnect
。
Firebase 没有在用户即将关闭应用程序时写入数据库的内置功能。这是您更有可能在 iOS 级别上找到的东西,例如iOS 中所示 - 检测应用程序何时退出以及当我在 iOS 中关闭应用程序时的哪个事件?. iOS 上的典型生命周期事件是applicationWillTerminate
和applicationWillResignActive
。
推荐阅读
- vue.js - 将数据传递给在 v-data-table 内部调用的组件
- java - 如何使用 MappedByteBuffer 读取大文件?
- datatable - 需要帮助选择过滤数据表 1.10 的性别,以匹配准确的男性和女性关键字
- python - 输入类型不支持 seaborn heatmap ufunc 'isnan'
- python - 3D nrrd 图像可视化(matplotlib)?
- aws-lambda - 在 AWS Lamba 上创建实体类
- c# - 不同函数的不同数组值
- c# - Windows 生物识别框架:AcquireFocus() 无法正常工作。错误访问被拒绝:0x80070005
- python - GstBus 没有收到 EOS 事件
- node.js - 为什么heroku在部署时找不到我的节点模块?