uniPush2.0消息推送(云对象)

1.创建uniCloud云开发环境 关联云服务空间(没有云空间到官网上创建)步骤如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. index.obj.js代码 ,然后上传部署
在这里插入图片描述

// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129

const uniPush = uniCloud.getPushManager({
	appId: "__UNI__xxxx"
})
module.exports = {
	_before: function() { // 通用预处理器

	},
	async messageSend(event) {
		const res = await uniPush.sendMessage({
			"push_clientid": event.cid, // 设备id,支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000  
			"title": event.title, // 标题  
			"content": event.content, // 内容  
			"payload": event.payload, // 数据  
			"force_notification": true, // 服务端推送 需要加这一句  
			"request_id": event.request_id //请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失  必须是string格式
			"options": obj.options //消息分类,没申请可以不传这个参数  
			
			
			// "push_clientid": "xxxx", //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid  
			// "force_notification": true, //填写true,客户端就会对在线消息自动创建“通知栏消息”。  
			// "title": "推送标题",
			// "content": "推送内容",
			// "payload": {
			// 	"text": "体验uni-push2.0"
			// }
		})
		return res;
	}
}

3.页面调用

const pushSend = uniCloud.importObject('push')

const send = ()=>{
	let res = await pushSend.messageSend({
		cid: "xxx",
		title:"测试",
		content:“内容”,
		payload:{
			text:“咔咔咔咔”
		},
		request_id:'s'+(new Date()).getTime() //必须是string,否则推送报错
	})
	console.log(res)
}

uniCloud :真机发消息时,可能会出现 mongo_cell_decision_not_found,解决方法,
勾选以下三个,找到三个表,图如下

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/cd28ac0be9d64413a125f00e14d1f028.png在这里插入图片描述
添加三个表
在这里插入图片描述
完美解决

注意真机本地调试时候,可能出现以下报错(很难解决,网上找了解决方法不适合我,而且非常麻烦),建议安装云打包的包 安装真机测试,

无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。
如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。 -
如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试
检查系统防火墙是否拦截了HBuilderX自带的nodejs
连接本地调试服务失败,请检查客户端是否和主机在同一局域网下

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值