【问题标题】:Firebase - onDisconnectSetValue() fires when side button pressedFirebase - 按下侧按钮时触发 onDisconnect SetValue()
【发布时间】:2019-03-03 07:52:00
【问题描述】:

我正在尝试跟踪用户的应用程序何时将终止,并在它发生时向 firebase 发送一些内容。我查看了Offline Capabilities documentation 并尝试使用".info/connected".onDisconnectSetValue()

我在.onDisconnectSetValue() 上取得了成功,但是如果按下 iPhone 的侧边按钮并且 iPhone 进入睡眠状态,它会触发并说用户处于非活动状态(并且我无法设置其他值,直到用户将应用程序再次回到前台)。

我尝试将 .onDisconnectSetValue() 移动到 applicationWillTerminate() 以便它只捕获终止但在我关闭应用程序时它不会触发(我假设是因为它不能及时)

Firebase 有什么东西可以为用户关闭应用的特定实例设置一个值吗?

【问题讨论】:

    标签: swift firebase asynchronous firebase-realtime-database


    【解决方案1】:

    Firebase 客户端可以通过.info/connected 检测应用是否在线,并且该应用可以通过onDisconnect 告诉服务器在离线后执行特定的写入操作。

    Firebase 没有在用户即将关闭应用时写入数据库的内置功能。这是您在 iOS 级别上更有可能找到的内容,例如 iOS - detect when application exitsWhich Event When i close app in iOS? 中所示。 iOS 上的典型生命周期事件是 applicationWillTerminateapplicationWillResignActive

    【讨论】:

    • 当我尝试在 applicationWillTerminate 中调用 .onDisconnect 时,它不起作用。是否可以在应用程序即将终止时设置 Firebase 值?
    • Firebase 没有在用户即将关闭应用时写入数据库的内置功能。
    • 好的。我有一些东西使用 Firebase 消息将 APNS 静默推送发送到其他设备,我想这样做,如果应用程序在设备上处于非活动状态,则不会发送推送,但我不确定现在是否会发生这种情况。感谢您的帮助。
    猜你喜欢
    • 2016-11-04
    • 2023-03-03
    • 1970-01-01
    • 2013-10-11
    • 2018-02-07
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多