警告:Firestore中存储的java.util.Date对象的行为将更改

时间:2019-01-23 09:20:32

标签: firebase google-cloud-firestore firebase-admin

实例化Firestore客户端时收到此警告。

fs = FirestoreClient.getFirestore();

该解决方案随附警告,用于通过以下方式实例化客户端:

FirestoreOptions options = 
FirestoreOptions.newBuilder().setTimestampsInSnapshotsEnabled(true).build();
Firestore firestore = options.getService();

这样做建议,在正确实例化默认Firebase应用程序后,我会从options.getService()

中得到空引用

仅适用于Firebase管理员SDK Java版本。隐藏了NodeJs版本的警告。

根据Java版本的文档,我不需要新的构建器,至少我可以找到它。

当前软件包版本(来自gradle构建文件):

compile 'com.google.firebase:firebase-admin:6.7.0'

更新:

我现在注意到createTime属性返回的是时间戳而不是日期,因此无论客户端初始化的方式如何,行为似乎都已更改。

1 个答案:

答案 0 :(得分:1)

对于Admin SDK,您应该通过FirebaseOptions来查看该选项。

FirebaseOptions options =
          FirebaseOptions.builder()
              .setCredentials(credentials)
              .setFirestoreOptions(FirestoreOptions.newBuilder()
                  .setTimestampsInSnapshotsEnabled(true)                 
                  .build())
              .build();
FirebaseApp.initializeApp(options);
Firestore db = FirestoreClient.getFirestore();