java - 给WEB用户发送FCM通知时如何设置ttl(time to live)?

标签 java firebase firebase-cloud-messaging

我正在尝试通过 Firebase 云消息传递向多个用户(WEB、WAP)发送通知。 但是我无法设置通知的生存时间。

Map<String, String> map = new HashMap<>();
    map.put("status", article.getStatus());
    map.put("headLine", article.getHeadLine());
    map.put("caption", article.getCaption());
    map.put("thumb", article.getThumb());
    map.put("tag", article.getTag());
    map.put("webUrl", article.getWebUrl());
    map.put("category", article.getCategory());

    WebpushConfig webpushConfig = WebpushConfig.builder().putAllData(map).putHeader("TTL", ttl + "").build();
    Message message = Message.builder()
            .setWebpushConfig(webpushConfig)
            .putAllData(map)
            .setTopic(id)
            .build();
    String response = FirebaseMessaging.getInstance().send(message);

最佳答案

我可以通过添加以下行来配置相同的内容:-

Map<String, String> headers = new HashMap<>();
headers.put("TTL", "3600");
headers.put("Urgency", "high");
WebpushConfig webpushConfig = WebpushConfig.builder().putAllHeaders(headers).build(); 

关于java - 给WEB用户发送FCM通知时如何设置ttl(time to live)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54996103/

相关文章:

java - 带大括号的赋值的数组语法错误

java - 使用 DOM 解析器从 XML 文档创建 JTree

mysql - 如何在 BigQuery SQL 中将一组用户分组为 10 人组?

java - Appium 与 Sikuli 一起进行移动应用程序测试

java - Hibernate 序列 ID 规范

javascript - Angular 拨动开关双向数据绑定(bind)

firebase - 在 Flutter 中,如何创建与 Firebase documentID 兼容的字符串?

ios - didReceiveRemoteNotification 不工作 swift

node.js - Firebase 云函数说 Unreachable 并且每个 then() 应该返回一个值或抛出 promise/always-return

java - 如果使用 iPhone 配置 watch ,FCM 推送通知无法在 WearOS 上运行