Firebase 合并 Android 中的类似通知

2023-12-04

我们在 SIP 应用程序中使用 Firebase,以便在应用程序离线时向我们发送未接来电通知和聊天通知。

虽然发送和接收工作正常,但我们对 Android 客户端产生了影响,5 个未接来电 obv 会生成 5 个未接来电通知,填满客户端设备上的通知栏。

我们如何将这些通知合并在一起,只显示一个“5 个未接来电”通知?

是否有任何额外的标志(如分组)我们可以放入data or notification消息的一部分?

以下是我们当前的未接来电通知的示例:

{
    "to":"<<FCMToken>>",
    "priority":"high",
    "notification":{
        "title":"<<Displayname-of-Caller>>",
        "text":"<<Date-and-time-of-call>>", 
        "icon":"icon_notification_missed",
        "click_action":"MISSED_CALL"
    },
    "data":{
        "type":"sip-call-missed"
    }
}

那么将它们结合在一起有什么技巧呢?


我们找到了正确的解决方案。 通知内容现有的关键字较多。 我们需要的是"tag"。 我们甚至可以通过在中提供资源名称来本地化通知的客户端文本loc keys.

这是可以捆绑在一起的正确消息:

{
"to":"<<FCMToken>>",
"priority":"high",
"notification":{
    "title_loc_key":"notification_missed_call",
    "tag":"MISSED_CALL",
    "body_loc_key":"notification_missed_call_multiple",
    "body_loc_args":["<<missed_call_count>>"],
    "icon":"icon_nav_main_chat",
    "click_action":"MISSED_CALL"
},
"data":{
    "type":"sip-call-missed"
}
}

The tag将被客户合并...说:他们将互相替换。每当带有标签的通知到达时,它都会替换具有相同标签的所有其他现有通知。 所以这里的技巧是提供一个运行计数<<missed_call_count>>(服务器必须对其进行计数),因此客户端可以显示不断增加的数字,例如“5 个未接来电”。 字符串"%d missed calls"存储在名为的客户端字符串资源中"notification_missed_call_multiple".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 合并 Android 中的类似通知 的相关文章

  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 如何使用Android opencv使图像的白色部分透明

    我无法链接超过 2 个网址 因此我将我的照片发布到此博客 请在这里查看我的问题 http blog naver com mail1001 220650041897 http blog naver com mail1001 220650041
  • 带有一、二和三个按钮的 Android 警报对话框

    我不经常发出警报 但每次发出警报时 我都会花一些时间来阅读文档 https developer android com guide topics ui dialogs html并弄清楚如何去做 由于我现在不得不这样做几次 所以我将在下面写一
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 从 React Native Js 代码调用 Android Native UI 组件方法

    我创建了一个 CustomView SignatureView java 它扩展了 LinearLayout 以捕获 Android Native 中的签名 并创建了SignatureCapturePackage java和Signatur
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 如何解决 Firebase AuthUi 中无法找到显式活动?

    使用 firebase UI 时 我无法找到显式活动类 com firebase ui auth KickoffActivity protected void onCreate Bundle savedInstanceState super
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • android EditText 输入类型用于 StreetNumber 字段

    我试图在地址对话框的 streetNumber 字段中选择正确的 inputType 我想先显示数字键盘 然后让用户输入字母字符 对于一些非常特殊的情况 更接近这个的是 inputType datetime 但这不允许输入字母字符 那么如何
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • Camera.open()返回NULL Android开发

    我正在按照构建相机应用程序的教程进行操作http developer android com tools device html http developer android com tools device html我对 Camera o
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • Android 相机未保存在特定文件夹 [MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA]

    当我在 Intent 中使用 MediaStore INTENT ACTION STILL IMAGE CAMERA 时遇到问题 相机正常启动 但它不会将文件保存在我的特定文件夹 photo 中 但是当我使用 MediaStore ACTI
  • 有关 ListView 自定义行布局项目上的 onClick() 事件的帮助

    我有一个 ListView 其行由我格式化 每行都有 ImageView 和 TextView 的混合 我还实现了自己的适配器 并且能够通过它绘制每一行 现在 我想要这样的东西 用户单击 ImageView 不是行上的其他任何位置 但只有此
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • Android 中带有组的列表视图

    我有一个列表视图 每行都有一些日期和文本 我可以像 iPhone 中那样将这个 listView 分组 组之间有标题吗 在 android 中是否可能 请帮忙 即 我需要在 Listview 行之间有标题栏 以便如果我使用日期对其进行分组

随机推荐

  • 如何正确清理 Excel 互操作对象?

    我在 C 中使用 Excel 互操作 ApplicationClass 并将以下代码放入我的finally子句中 while System Runtime InteropServices Marshal ReleaseComObject e
  • jQuery 按需加载图像

    我正在尝试按需加载图像 以防止下载不需要的图像 我正在使用 jQuery 到目前为止 这就是我想出的 region image attr src images e key jpg load function this fadeIn e ke
  • 如何避免在接口中重复使用相同的实现代码?

    首先 我为 又一个界面问题 道歉 不过 我认为这个问题可能值得一问 因为这是一个奇怪的问题 我正在使用的项目使用 Actionscript 3 但这更多是一个一般的 OOP 问题 情况是这样的 我有一个已经从基类继承的类 它是电子游戏中的一
  • Spring Data JDBC:DataRetrievalFailureException:无法将 [oracle.sql.ROWID] 转换为 [java.lang.Number]

    我是 Spring Data JDBC 的新手 我正在努力创建一个简单的 Dto 并将其持久保存在数据库上 我正在使用 Spring Boot 2 1 1 RELEASE 和 Oracle 12 数据库 UserDto Table valu
  • 如何使 std::istream_iterator 只读直到行尾?

    有以下代码 std vector
  • 如何保持打开的 xml 文档的样式

    我使用开放 XML Microsoft Word docx 作为文件模板来自动生成其他文档 在模板文档中 我定义了内容控件 并编写了代码来替换这些内容控件中的内容 内容被替换并生成文档 但我正在努力保持风格 在Word中 在检查内容控件的属
  • 将一个 div 放在两个垂直 div 旁边

    我试图让一个 div 在其容器中的高度为 100 其高度为 50 并在其旁边有两个 div 每个 div 的高度为 50 这是我的意思的一个例子 我还想在所有 div 之间留有边距 如上图所示 到目前为止 这是我的代码 div style
  • 使用正则表达式来匹配具有特定ID的div块[重复]

    这个问题在这里已经有答案了 我正在尝试匹配具有特定 id 的 div 块 这是我的正则表达式代码
  • 两个同一时间谷歌表格的价值差异[重复]

    这个问题在这里已经有答案了 为什么两个相同时间的值不同 因此无法使用vlookup 注意 时间取自两个不同的来源 一个是从网站生成的 CSV 文件 另一个是手动输入的 Example 时间值 上午 10 00 0 4166666666666
  • 将 PHPExcel 与 Composer 和 Symfony2.2 结合使用

    我在SO上找到了这个 如何在 Symfony 2 中正确使用 PHPExcel 这可行 但我想与作曲家一起使用它 我已经解决的第一部分 为特殊标签加载 PHPExcel 最后一个稳定版本 我不知道如何使用以下语法获取标签 repositor
  • 枚举中的数字常量 (c#)

    我正在 SharePoint Web 部件中创建此选择框 并且需要包含当前版本的下拉菜单 因此我需要使用枚举 public enum SelectVersionEnum 2010 2007 好吧 你可以看到它在哪里中断 有没有办法在枚举中使
  • 为什么 XmlDocument Validate 事件处理程序没有被命中?

    我有这个代码 Load the document XmlDocument xmlDocument new XmlDocument use the stream and have it close when it is finished us
  • C++ 可变参数模板和求值顺序

    我有以下代码 lib hxx template
  • Ado.net (2.0+) 连接池是在应用程序域之前还是每个进程

    我试图理解汇集理论 ADO NET 和 SQL Server 之间的交互要好得多 但尚未找到明确的答案 我一直假设每个进程 但我突然想到它可能是每个应用程序域 任何深入的参考文献也将不胜感激 连接池是一个复杂的野兽 因为它们是在几个不同的范
  • 如何使用 Node 中的 Promises 一次并行异步多个请求

    数组和循环 但我希望能够并行运行所有它们 因为我不想一个接一个地运行 我基本上想将所有端点调用状态代码 正文和时间存储为数组 并将它们作为结果返回 无论端点中是否存在错误 我正在使用 Bluebird 如何利用它的功能来解决这个问题 您可以
  • 每个子图的旋转轴文本

    我正在尝试绘制散点矩阵 我正在建立这个线程中给出的示例matplotlib中有制作散点图矩阵的函数吗 在这里 我只是稍微修改了代码 使轴对所有子图都可见 修改后的代码如下 import itertools import numpy as n
  • 如何将 c# 的 byte[] 转换为 java byte[]

    我有这段 C 代码 byte t 6 250 215 但在Java中是 byte t 6 6 41 如何解决这个问题呢 如何解决这个问题呢 第一个是关于java如何表示数据类型 byte 字节数据类型是 8 位有符号二进制补码整数 它的最小
  • 如何使用 redux 存储变量更新 FieldArray 元素

    我将 redux form 与 FieldArray 一起使用 默认情况下 数组中将有 1 个元素 并且它是从 JSON 填充的 我最多可以添加 3 个 FieldArray 组件中的元素 在下面的代码中 elementList 属性来自
  • Android模拟器UDP无法接收;在手机上运行良好

    您好 我正在尝试连接到网络上的盒子 它上面有一个正在运行的 UDP 服务器 使用下面的代码 我可以与盒子通信并从我的手机发送 接收 UDP 数据包 但是 我不知道如何使用 android 模拟器进行设置 我在 StackOverflow 以
  • Firebase 合并 Android 中的类似通知

    我们在 SIP 应用程序中使用 Firebase 以便在应用程序离线时向我们发送未接来电通知和聊天通知 虽然发送和接收工作正常 但我们对 Android 客户端产生了影响 5 个未接来电 obv 会生成 5 个未接来电通知 填满客户端设备上