uniapp的离线通知推送

最近遇到了 离线通知的开发场景,本人使用的是mqtt接收消息, uniapp本地通知, 特别记录下, 供各位老铁参考,如下:

mqtt接收消息,本地创建通知(安卓端)

创建mqtt连接(前提uniapp项目配好push模块)

// Mqtt连接
mqtt.connect(getApp().globalData.matt_Url, {
		keepalive: 30,
		// clientId: 'test.exchange' + Math.random().toString(16).substr(2, 8),
		clientId: deviceUid,
		protocolId: 'MQTT',
		protocolVersion: 4,
		username: 'eric',
		password: 'eric',
		// clean: false,
		reconnectPeriod: 5000, //重连间隔,如果为0则禁用自动重连
		resubscribe: true //关闭订阅,不带页面显示会出问题
	})
	console.log('connect...')
	// getApp().globalData.client = client
	// console.log("21212122212",getApp().globalData.client)
	getApp().globalData.client.on('connect', function() {
		console.log('on connect 连接成功')
		// console.log(uni.getStorageSync("username"))
		//订阅主题
		// client.subscribe('test.exchange.test3', function(err, granted) {
		getApp().globalData.client.subscribe('test.exchange.' + uni.getStorageSync("username"), function(err, granted) {
			if (!err) {
				console.log('subscribe  ' + JSON.stringify(granted))
				//发布主题presence,消息内容为Hello mqtt
				// setTimeout(function(){
				// 	getApp().globalData.client.publish('test.exchange.admin', '{"CompanyName":"测试公司","EquipmentName":"app设备1","AlarmText":"温度","AlarmValue":31,"AlarmTime":"2020-08-28 17:38:11","PositionName":"机房1","AlarmType":1}')
				// },3000)
			} else {
				//打印错误
				console.log('subscribe  ' + err)
			}
		});
	}).on('reconnect', function() {
		console.log('on reconnect')
	}).on('error', function() {
		console.log('on error')
	}).on('end', function() {
		console.log('on end')
	}).on('message', function(topic, message) {
	// 此处接收到消息进行创建本地消息
	//把接收到的数据处理成,要推送的数据格式messageStr
	var content = messageStr,
			payload = "payload数据",
			option = {
				"aa": 11,
				"bb": 2
			}
		plus.push.createMessage(content, payload, option);
	})

更多细节参考文章:https://ask.dcloud.net.cn/article/34

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值