我一直在使用我的快照偵聽器,每當用戶退出時似乎都會引起沖突。吐司訊息說:
“PERMISSION_DENIED:權限缺失或不足。” 立即顯示。
根據我對答案的研究,我必須在使用完后立即將聽眾分開。它說每當用戶退出時,偵聽器(快照偵聽器)仍在后臺作業,并且由于身份驗證不再存在,它會顯示上述吐司訊息。
片段:
主要活動.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()
}
}
正如標題所暗示的,我應該何時以及如何分離我的 firebase 偵聽器?什么時候使用最好?
uj5u.com熱心網友回復:
allow read, write: if true;
您可以嘗試在 firestore 規則中輸入此內容嗎?或者撤消最后的更改。
uj5u.com熱心網友回復:
在注銷用戶之前,您需要斷開監聽器的連接。
我構建了一個機制(從 Redux 商店擴展,雖然這不是絕對必要的)將我的聽眾注冊為一個組(好吧,由于幾個子帳戶,幾個組)。當請求注銷時,例程首先運行取消訂閱,然后注銷用戶和/或子帳戶。
有幾種方法可以做到這一點,但凈:
- 先登錄,然后添加監聽器
- 跟蹤你的聽眾
- ...
- 取消訂閱聽眾
- 登出
我會看看我是否可以隔離一些代碼(總的來說,我的系統是客戶端、云和身份驗證功能的相當復雜的組合)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361484.html
標籤:安卓 火力基地 科特林 谷歌云firestore
