接收端在初始化IM对象时,增加参数allowNotification:true即可,该参数仅在UniApp开发的APP下有效,如果在小程序和网页下启用,该参数会被自动忽略,不会报错。
开启通知栏推送后,如果发送的消息含有通知栏信息,将会按照如下规则触发:
Vue.prototype.im = GoEasyIM.getInstance({
host: 'hangzhou.goeasy.io',
appkey: '您的appkey',
allowNotification:true, // true表示支持通知栏提醒,false则表示不需要通知栏提醒
});
如果希望APP在后台运行时,能够收到通知栏提醒,需要创建消息时指定notification的title和body,反之则不需要。
通知栏提醒,对发送端没有平台限制,不论是小程序、H5还是服务端均可以进行发送,但只有Uniapp开发的APP在手机端可以接收通知栏推送,其他平台收到消息后,仅触APP内部收到消息,notification会被自动忽略。
let textMessage = im.createTextMessage({
text:'Hello, GoEasyIM',
to : {
type : GoEasyIM.SCENE.PRIVATE,
id : 'user002',
data:'{"avatar":"/www/xxx.png","nickname":"Neo"}'
},
notification : { //APP在后台运行,或进程被杀掉,将会收到通知栏提醒
title : '张无忌发来一段文字',
body : 'Hello, GoEasyIM'
}
});
再次强调
为了确保能收到通知栏提醒,必须在手机的系统设置里确认,该app的通知栏提醒为“允许”状态。
至此,我们可以开始推送我们的第一条通知栏提醒,测试步骤:
“允许”
状态为了确保APP在进程被杀掉后,仍然可以收到通知栏提醒,必须要配置厂商通道,详情请参阅GoEasy接入厂商通道教程。 GoEasy目前已集成以下厂商,其他厂商也在持续推进中: