android - 如何在我的 fcm 消息中使用 image 和 vibrate_timings

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

我希望我的 FCM 通知包含自定义图像和振动模式。

Firebase 作为示例提供的 AndroidNotification 类具有这两个变量,但我还没有看到任何使其工作的方法。

我已经尝试通过一个 c# 类 AndroidNotification 将这两个变量添加到我的通知消息中,该类 AndroidNotification 被序列化为 json。
这是让我认为应该有可能的文档
https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages
我观看了多个在线视频并浏览了多个表单,但仍然无法设置自定义振动模式或显示图像以及我的应用程序图标。

很多地方建议我使用仅数据消息,以便我可以自己处理显示通知,但如果这是唯一的方法,那么 AndroidNotification 文档(上面链接)是否显示 vibrate_timings 和图像的字段?

笔记 :
我一直在测试 Android 版本 4、5 和 8。在 8 上,我设置了一个通知 channel ,一切正常,包括振动,但仍然没有图像。
该图像本地包含在我的 apk 中,与我的自定义图标路径相同。
我的apk也是统一构建的,但我认为这不会影响事情。

这是我发送的 json 有效负载,我得到了我的自定义声音、自定义图标、自定义颜色等,只是图像和 vibrate_timings 似乎不起作用。

{
   "validate_only":false,
   "message":{
      "data":null,
      "android":{
         "collapse_key":"new_messages",
         "priority":1,
         "restricted_package_name":"",
         "data":{

         },
         "notification":{
            "title":"A spoon is ready!",
            "body":"Grab it before someone else!",
            "icon":"spoonsbuzz",
            "channel_id":"cow",
            "color":"#0000FF",
            "sound":"cow.wav",
            "vibrate_timings":[
               "0.0s",
               "0.2s",
               "0.1s",
               "0.2s",
               "0.1s",
               "1.5s"
            ],
            "visibility":2,
            "tag":"new_messages",
            "click_action":"",
            "body_loc_key":"",
            "body_loc_args":[

            ],
            "title_loc_key":"",
            "title_loc_args":[

            ],
            "image":"spoonsbuzzimage",
            "notification_priority":4
         }
      },
      "apns":null,
      "token":"Bot"
   }
}

我希望我的设备能够收到带有我添加到有效负载中的图像的通知,并以我使用 vibrate_timings 设置的模式振动。通知确实很好,其他一切正常,但不包括图像或自定义振动。

最佳答案

已经很久了,但是如果有人遇到这个问题,他们应该添加 default_vibrate_timings 字段,如下所示:

{...
    default_vibrate_timings: false,
    vibrate_timings: [
                "0.0s",
                "0.2s",
                "0.1s",
                "o.2s"
     ],
...}
供引用:Documenation Link

关于android - 如何在我的 fcm 消息中使用 image 和 vibrate_timings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57835450/

相关文章:

android - 使用 Parse.com 动态填充后获取 Spinner Selection

android - 如何避免 SQLiteException 锁定错误

ios - 使用Swift将数据写入Firebase

java - FirebaseAuth 类现在缺少 "getCurrentUser()"方法?

ios - 使用本地时区推送通知

Android 本地测试与仪器化测试

javascript - 如何更改移动设备上 HTML5 视频的播放速度?

angular - Angular2 上的 .map/.subscribe 如何工作?

ios - 从未调用过'didRegisterForRemoteNotificationsWithDeviceToken'

ios - 推送通知在 iPhone 3GS 中不起作用。它适用于最新的 IOS 设备,如 iPhone 4、4s、5