gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:15:37 25 4
gpt4 key购买 nike

我将对象存储在 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;
}

}

我还没有尝试过,但在将对象存储到 Firebase 时应该正确填充时间戳。

现在我的问题是:如何添加过期属性?到期时间等于 TIMESTAMP 加上 30 秒,如下所示:

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

最佳答案

不幸的是,这是不可能的。 ServerValue.TIMESTAMP 唯一受支持的用途是将服务器时钟的准确值存储在该子项中。这是一个 token 值,而不是一个确切的数字。在 Firebase 收到 token 并将其转换为数字之前,我们不知道确切的数字。

您唯一的解决方法是使用后端执行写入,或者让客户端在写入后读取该值,并向其添加 30 秒,然后将其写回。

关于android - 如何存储 Firebase 服务器时间戳加上 30 秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62397854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com