FirebaseUser getMetadata返回null

时间:2018-07-10 10:53:02

标签: android firebase

我正在尝试获取当前已在我的应用程序中登录的当前Firebase用户的创建日期。所以我正在使用下面的代码:

FirebaseAuth.getInstance().getCurrentUser().getMetadata().getCreationTimestamp();

但是getMetadata()始终返回null。 我正在使用Firebase版本 12.0.1 。您对此有何建议?

1 个答案:

答案 0 :(得分:1)

首先请确保您使用最新版本的google-services,如下所示:

classpath 'com.google.gms:google-services:4.0.1'

然后将所有Firebase依赖项更新到最新版本:

implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.google.firebase:firebase-core:16.0.1'

如果您使用其他firebase库,请在下面进行检查(基于this link):

implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-ads:15.0.1'
implementation 'com.google.firebase:firebase-analytics:16.0.1'
implementation 'com.google.firebase:firebase-appindexing:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.google.firebase:firebase-firestore:17.0.2'
implementation 'com.google.firebase:firebase-functions:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-crash:16.0.1'
implementation 'com.google.firebase:firebase-invites:16.0.1'
implementation 'com.google.firebase:firebase-perf:16.0.0'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-config:16.0.0'

如果您使用的是Google服务,请检查是否也如下更新(基于on this link):

implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-places:15.0.1'
implementation 'com.google.android.gms:play-services-gcm:15.0.1'

用于空错误注销和登录。然后尝试如下操作:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    user.getMetadata().getCreationTimestamp();
}