Android:如何找到 Id/修改/关闭来自 FCM 大推的通知

标签 android firebase-cloud-messaging android-notifications firebase-notifications

我们正在尝试从无声 FCM 推送迁移到大声推送(即从应用管理的 "data":{} 迁移到 "notification": {}/ 原因)。 通过大声推送,FCM 客户端框架会自动创建一个通知。因此:

  • 我没有它的 ID,所以我可以修改它
  • 我无法控制它的 channel ID(这对启动 Oreo 很重要)。
  • 不确定我的服务器是否有办法为其请求特定的通知声音(与 iOS 中的方式相同)。实际上,我可以通过 onRemoteMessage() 做到这一点,但自动生成的通知会播放默认的哔哔声,这会导致两种声音都发出有趣的声音。

我该如何解决这些问题?

谢谢

最佳答案

在 FCM 客户端框架使用通知负载数据自动创建通知时的通知负载情况下。 通知负载包含一个声音 key ,因此您必须从服务器端设置它

例如:

{
    "to" : "yourToken",

    "notification" : {
      "body" : "Notification Body",
      "title" : "Notification Title",
      "sound" : "/res/raw/yourSoundResourceFile"
    }
  }   

根据 firebase 文档,声音是一个可选字符串

支持应用程序中 bundle 的声音资源的“默认”或文件名。声音文件必须位于/res/raw/。

了解更多信息 follow this offical firebase link

关于Android:如何找到 Id/修改/关闭来自 FCM 大推的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927198/

相关文章:

android - 如何将android meminfo转储到文件中?

android - Firebase 云消息传递通知 key 名称

server - 如果我运行自己的推送通知服务器,我还需要 FCM 吗?

android - 奥利奥 - 在前台启动服务

android - 为什么我的 firebase 通知没有使用正确的图标?

android - 通知点击显示唯一数据问题

android - 在 Google Play 管理中心中对多个应用使用相同的上传证书

android - getInstallerPackageName 返回 null

android - ShadowSystemClock NullPointerException

android - FCM onMessageReceived 不调用 Android