跳到主要内容

角标推送

GoEasy从GoEasy JS Sdk 2.8.3开始,支持开发者推送通知时设置角标。

GoEasy角标设置的工作原理是,当App进程存活,由GoEasy来创建本地通知并设置角标。当App进程被杀掉,GoEasy调用厂商通道推送消息并设置角标,各个品牌能否支持角标设置取决于厂商通道能否支持和厂商是否提供设置角标的客户端API。

GoEasy当前对各厂商角标的支持情况
厂商进程存活(GoEasy推送)进程被杀(厂商通道)
iOS支持支持
小米支持支持
华为支持支持
荣耀支持支持
VIVO不支持不支持
OPPO不支持不支持
Google FCM不支持不支持
魅族不支持不支持
提示

小米手机特别提醒:

小米的角标的设置和清除,均由厂商通道和操作系统按小米手机的规则自动维护,下列操作均会被小米手机忽略。

推送时设置角标

推送消息时,在notification中增加badge属性来设置角标,"0"表示该消息不需要设置角标,"+1"表示角标+1, 默认为"0"。 注意,设置badge属性必须为字符串类型,即必须加上双引号,badge当前仅支持"0"或"+1"两个字符串作为参数,不可以为其他值。

Websocket(Pubsub)推送消息时设置角标

    pubsub.publish({
channel: "my_channel", //请确认与接收端一致
message: "Hello GoEasy!", //app内onMessage收到的消息内容
notification: { //定义通知栏推送
title: '您有一条新消息', //通知栏提醒标题,仅显示于通知栏
body: "Hello GoEasy!", //通知栏提醒内容,仅显示于通知栏
badge: "+1", //角标,值必须有引号,"0"表示该消息不需要设置角标,"+1"表示角标+1,不支持其他值, 默认为“0”
},
onSuccess: function () {
console.log("Publish successfully.")
},
onFailed: function (error) {
console.log("Failed to publish message, code:" + error.code + ' error:' + error.content);
}
});

客户端设置角标

APP进程每次启动时,角标会被自动设置为0。 开发者需要在APP启动后,根据业务数据及时调用该方法更新角标,确保角标能够正确累加。


goeasy.setBadge({
badge: 2, //必须>=0的整数
onSuccess: function () { //设置成功
console.log("setBadge successfully.")
},
onFailed: function (error) { //设置失败
console.log("Failed to setBadge, code:" + error.code + ",error:" + error.content);
}
});