@LeanCloud技术人员
尊敬的leancloud技术人员,混合推送那边有没有针对各个平台的应用桌面红点未读数设置,在推送的时候,服务端可以通过单独字段设置放到pushMessage字段的设置参数值里

@LeanCloud2 你好,我们使用混合推送,对方收到通知后,App未运行或被杀死了,桌面没有红点通知, 这个时候 用户不就不会注意到新消息了,这个情况下有没有什么补救措施能让桌面红点角标显示提醒一下用户?

混合推送那边有没有针对各个平台的应用桌面红点未读数设置,在推送的时候,服务端可以通过单独字段设置放到pushMessage字段的设置参数值里

您好,Android 原生并不支持类似 iOS 的 badge 参数。比如华为、小米各个手机显示的小红点是各自厂商自行实现的。各个厂商的设置方式不同,并且不是所有Android 厂商都支持设置小红点,需要参考厂商的官方文档。

这个情况下有没有什么补救措施能让桌面红点角标显示提醒一下用户?

以华为为例,参考华为文档1可以用 badge 实现 Android 通知消息角标控制

LeanCloud 支持推送消息直接原样传递厂商的参数,例如可以在推送消息 hms 键里按照厂商消息参数填写,这样会被原封不动得传递到华为,类似这样:

{
    "hms": {
        "message": {
            "android": {
                "notification": {
                    "title": "你收到了一条微信消息",
                    "body": "Tom,你妈妈喊你回家吃饭",
                    "default_sound": false,
                    "click_action": {
                        "type": 3
                    },
                    "badge": {
                        "class": "cn.leancloud.demo.hmspush.MainActivity",
                        "add_num": 1,
                        "set_num": 99
                    }
                }
            }
        }
    }
}

其他厂商也都支持这种方式填写,但是各种厂商的参数格式是不太一样的。比如小米的参数是平的,华为的参数是有层级的结构。
比如小米使用原厂商参数格式如下:

{
    "mi": {
        "title": "hehe",
        "description": "haha"
    }
}

更多细节需要参考小米的官方文档。
vivo、oppo 格式与小米的类似。

1 人赞了这个帖子.