如何使用FCM(Firebase云消息传递)发出紧凑的通知?

时间:2019-08-08 16:40:33

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

由于FCM不允许我发送URL类型的“ icon”,因此我试图在FCM发送“ data”类型的消息后立即应用本地通知。但是在关闭应用程序时不会处理“数据”类型的消息,因此我不得不重用“通知”类型的消息。由于“图标”选项不适用于URL,因此我考虑使用“图像”,但是我只需要一个小的图标即可。有什么方法可以压缩邮件,使其隐藏大图像而只显示小图像?

这将类似于下图中的第二条消息,该隐藏的大图像会收到另一条消息。

example image

REST中的通知的JSON结构如下:

{
    "to": "fVJq6D9...................................",
    "notification": {
        "title": "Title Message 2",
        "body": "Body Message 2",
        "image": "http://www.iconarchive.com/download/i65798/hopstarter/bioman/Bioman-Avatar-1-Red.ico"
    }
}

我正在使用Flutter构建App,

1 个答案:

答案 0 :(得分:0)

当前这是不可能的,因为您要动态设置的图标是setSmallIcon()设置的小图标,根据定义,它需要对本地存储资源的ID:

    /**
     * Set the small icon to use in the notification layouts.  Different classes of devices
     * may return different sizes.  See the UX guidelines for more information on how to
     * design these icons.
     *
     * @param icon A resource ID in the application's package of the drawable to use.
     */
    public Builder setSmallIcon(int icon) {
        mNotification.icon = icon;
        return this;
    }

您无法获得服务器获取的图像的ID。相反,您可以尝试根据情况在代码中设置相应的小图标的情况下创建不同的通知。