APP端接收和发送 - Uniapp通知栏推送

APP端接收通知栏推送

接收端在初始化IM对象时,增加参数allowNotification:true即可,该参数仅在UniApp开发的APP下有效,如果在小程序和网页下启用,该参数会被自动忽略,不会报错。

开启通知栏推送后,如果发送的消息含有通知栏信息,将会按照如下规则触发:

  • APP在前台运行,APP内部能收到新消息,但不会收到通知栏提醒。
  • APP在后台运行或进程被杀掉,APP将会收到通知栏提醒,APP拉起后,APP内部也能收到新消息。
Vue.prototype.im = GoEasyIM.getInstance({
    host: 'hangzhou.goeasy.io',
    appkey: '您的appkey',
    allowNotification:true,  // true表示支持通知栏提醒,false则表示不需要通知栏提醒
});

IM客户端发送通知栏推送

如果希望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的通知栏提醒为“允许”状态。

至此,我们可以开始推送我们的第一条通知栏提醒,测试步骤:

  • 将Uniapp应用安装到手机上
  • 在手机系统设置里确认,该app的通知栏提醒为“允许”状态
  • 将APP切换到后台运行
  • 运行Uniapp应用运行到浏览器,在浏览器里执行发送代码
  • 恭喜,手机端收到通知栏提醒!

集成厂商通道

为了确保APP在进程被杀掉后,仍然可以收到通知栏提醒,必须要配置厂商通道,详情请参阅GoEasy接入厂商通道教程。 GoEasy目前已集成以下厂商,其他厂商也在持续推进中:

  • 苹果iOS(APNs)
  • 小米
  • 华为
  • OPPO
  • VIVO
  • 魅族

results matching ""

    No results matching ""