在我的新Android应用程序中使用Firebase身份验证和实时数据库(RTDB)的当前实现(使用MVP架构)。而不是将AuthStateListener逻辑放在我的MainActivity View类中。我将它放在Presenter类中。 Presenter类附加或分离侦听器以响应视图生命周期(onResume调用在演示者中附加侦听器,onPause调用在演示者中分离侦听器)。
设备变为非活动状态(可能是服务器关闭连接)后问题,再次激活。用户仍然登录(预期行为),但出乎意料的是,登录用户无法再访问Firebase RTDB,但RTDB不会抛出任何读/写权限被拒绝错误。从FirePoint Console确认,此时的任何数据库读/写操作都将无效。
当出现此问题时,log cat会反复显示以下警告,似乎是一个正在进行的后退登录尝试策略?
12-10 14:09:23.671 13076-13271/appname W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms
12-10 14:09:27.191 13076-13271/ appname W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms
12-10 14:09:28.182 13076-13271/ appname W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms
12-10 14:09:29.659 13076-13271/ appname W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms
如果用户退出,则会解决此问题,然后登录并再次激活。当用户处于活动状态时,任何新的读/写操作都会进行,但之前的操作不会被持久化或重试。
我使用的相关版本是
// Firebase
implementation "com.firebaseui:firebase-ui-auth:3.1.0"
implementation "com.google.firebase:firebase-database:11.6.2"
implementation "com.google.firebase:firebase-auth:11.6.2"
在Android应用中的MVP结构中是否有使用数据库实现Firebase Auth的最佳实践信息?
答案 0 :(得分:1)
你应该使用
10000
。
答案 1 :(得分:0)
我发生了类似的事情,相同的警告,电子邮件/密码验证的问题......我忘记更新我的项目的SHA-1指纹,我升级了我的计算机操作系统...在你的case,也许是与你的API密钥相关的东西?