【发布时间】:2016-05-24 02:04:31
【问题描述】:
我有一个 iPhone 应用程序,我想在其中显示目前有多少人正在查看这样的项目:
我通过在人们进入视图时运行此事务来做到这一点(下面的 Rubymotion 代码,但功能与 Firebase iOS SDK 完全相同):
listing_reference[:listings][self.id][:viewing_amount].transaction do |data|
data.value = data.value.to_i + 1
FTransactionResult.successWithValue(data)
end
当他们退出视图时:
listing_reference[:listings][self.id][:viewing_amount].transaction do |data|
data.value = data.value.to_i + -
FTransactionResult.successWithValue(data)
end
它大部分时间都可以正常工作,但有时会出现问题。应用程序崩溃,人们失去连接或类似的事情。
我一直在寻找“onDisconnect”来解决这个问题 - https://firebase.google.com/docs/reference/ios/firebasedatabase/interface_f_i_r_database_reference#method-detail - 但据我所知,没有“inDisconnectRunTransaction”。
如何确保无论如何都会减少列表的观看量?
【问题讨论】:
标签: ios firebase rubymotion firebase-realtime-database