我应该何时分离Firestore监听器



我一直在使用快照侦听器,每当用户注销时,似乎都会引发冲突。祝酒词上写着:

";PERMISSION_DENIED:缺少或权限不足">立即显示。

根据我对答案的研究,我必须在使用完它后立即分离我的侦听器。它说,每当用户注销时,侦听器(快照侦听器(仍在后台工作,由于auth不再存在,它显示了上面的toast消息。

代码段:

主要活动.kt

private fun getRealTimeUpdates(){
productsCollectionRef.addSnapshotListener { snapshot, error ->
error?.let {
Toast.makeText(this, error.message, Toast.LENGTH_SHORT).show()
return@addSnapshotListener
}
snapshot?.let {
for(document in it){
suggestions.add(document["name"].toString())
}
}
}
}
//sign out
binding.tvSignOut.setOnClickListener {
FirebaseAuth.getInstance().signOut()
Intent(this, LoginActivity::class.java).also {
startActivity(it)
finish()
}
}

正如标题所暗示的那样,我应该在什么时候以及如何分离我的火球听众?什么时候是使用它的最佳时间?

在注销用户之前,您需要断开侦听器的连接。

我建立了一个机制(从Redux商店扩展而来,尽管这不是绝对必要的(,将我的侦听器注册为一个组(好吧,因为有几个子帐户,所以有几个组(。当请求注销时,例程首先运行取消订阅,然后注销用户和/或子帐户。

有几种方法可以做到这一点,但网络:

  • 首先登录,然后添加侦听器
  • 跟踪听众
  • 取消订阅侦听器
  • 注销

我会看看是否可以隔离一些代码(总的来说,我的系统是客户端、云和身份验证功能的复杂组合(

最新更新