我已经在我的应用程序中成功使用Firebase数月了。我刚刚完成更新以使用9.0.0版本,但还有一个问题我无法解决。
在MainActivity onCreate函数中,我检查用户是否登录到Firebase。如果用户已登录,则我尝试获取数据库中已有的用户对象。
这是我在应用程序中遇到麻烦的唯一实例。我已验证用户已登录,并且DatabaseReference指向正确的URL。
创建了DatabaseReference并添加了侦听器,但是侦听器上什么都没有触发...
FirebaseAuth auth = FirebaseAuth.getInstance();
if (auth != null && auth.getCurrentUser() != null) {
DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child(USERS).child(auth.getCurrentUser().getUid());
userRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Logic for success is here...
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Logic for failure is here...
}
});
}
关于我在做什么错的任何想法吗?
您的项目配置存在问题,导致Firebase Auth令牌无法正确刷新。您需要在Firebase控制台中为您的应用添加SHA-1指纹。
在Firebase控制台中转到项目的概述页面。选择相关应用的设置溢出菜单,然后点击“管理”。将有一个按钮添加SHA-1值。
您可以按照本指南中的步骤获取应用的SHA-1值。您可能需要重新下载google-services.json文件并将其再次添加到Android Studio中的应用程序中,但我没有。
Firebase团队成员回答的这个类似stackoverflow问题包含更多详细信息(如果需要)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句