我们可以在通知中发送firebase ServerValue时间戳吗?



我想知道是否可以在通过REST API发送的FCM通知内发送Firebase ServerValue时间戳。我知道这些值是在实时数据库到达时在实时数据库中填充的,当通过FCM发送API发送时会发生相同的情况吗?

无法将服务器端时间戳注入FCM消息。您将必须从发送消息的客户端/应用程序服务器中传递一个值。

您可以通过侦听客户端/应用服务器的时钟键来估算Firebase数据库将使用的值。firebase文档具有以下示例:

var offsetRef = firebase.database().ref(".info/serverTimeOffset");
offsetRef.on("value", function(snap) {
  var offset = snap.val();
  var estimatedServerTimeMs = new Date().getTime() + offset;
});

是的,您可以检查下面的代码,并查看我如何在数据对象中添加时间戳

{
    "to" : "sdfdfssde1w6hEbZn-8:APAb2JewYCIiApsMu5JfI5Ak...",
    "notification": {
        "body": "This is test msg",
        "title": "title here",
        "icon": "appicon"
    },
    "data" : {
     "name" : "lenovo k4",
     "product_id" : "122",
     "final_price" : "12500",
     "timestamp" : "1483095084"
   }
}

可以使用firebase'timestamp'的现在()方法获得当前服务器时间戳。ref

const currentTimestamp = firebase.firestore.Timestamp.now(); //firebase timestamp format

然后将此值传递给FCM的数据部分,作为键值对。

最新更新