Firebase实时数据库中存储对象...

Firebase实时数据库中存储对象...

Android 如何存储 Firebase 服务器时间戳加上 30 秒?

安卓火力基地

Android 如何存储 Firebase 服务器时间戳加上 30 秒? , android, firebase, firebase-realtime-database, Android, Firebase, Firebase 实时数据库, 我在 Firebase 实时数据库中存储对象。 对象看起来像这样: import com.google.firebase.database.ServerValue;public class Message {private Object timestamp = ServerValue.TIMESTAMP;private String source = "client";private String req;private String ack = null;

我将对象存储在 Firebase 实时数据库中。 该对象看起来像这样:

import com.google.firebase.database.ServerValue;
public class Message {
    private Object timestamp = ServerValue.TIMESTAMP;
    private String source = "client";
    private String req;
    private String ack = null;
    private int pos;
    Message(){};    // needed for Firebase when converting DataSnapshot to Message object
    Message(String req, int pos) {
        this.req = req;
        this.pos = pos;
    }
    public Object getTimestamp() {
        return timestamp;
    }
    public String getSource() {
        return source;
    }
    public String getReq() {
        return req;
    }
    public String getAck() {
        return ack;
    }
    public int getPos() {
        return pos;
    }
}

我没试过unity 服务器时间戳,但是在 Firebase 上存储对象时应该正确填充时间戳

现在我的问题是:如何添加 expires 属性? 过期时间等于时间戳加上30秒程序开发开发学习,如下:

private Object expiration = ServerValue.TIMESTAMP + <30 seconds>;

private Object expiration=ServerValue.TIMESTAMP+;

不幸的是,这是不可能的。

ServerValue.TIMESTAMP

唯一支持的用法是在此子项中存储服务器时钟的准确值。 这是一个标记值,而不是一个确切的数字。确切的数字是未知的,直到 Firebase 收到令牌并将其转换为数字

您唯一的解决方法是使用后端执行写入unity 服务器时间戳,或者让客户端在写入后读取值,向其添加 30 秒,然后将其写回