uni push2.0实现消息推送(在线&离线)

uni push2.0配置

  1. 需要开通uniCloud服务(推荐阿里云)

  2. 生成证书:安卓(https://ask.dcloud.net.cn/article/68),ios(https://docs.getui.com/getui/mobile/ios/apns/

  3. 进入开发者中心进行配置uni push2.0

  4. 没有配置应用或者没有配置应用的各平台信息,需要先新增一个应用然后在该应用中新增平台信息
    在这里插入图片描述

  5. 找到uniPush->2.0->应用信息,配置以下信息
    在这里插入图片描述

  6. 安卓/ios平台需要配置以下信息(证书生成的信息)
    在这里插入图片描述
    在这里插入图片描述

  7. 厂商离线推送设置 —— https://docs.getui.com/getui/mobile/vendor/vendor_open,配置常见问题 —— https://ask.dcloud.net.cn/article/40291

  8. 更多参考官方文档(https://uniapp.dcloud.net.cn/unipush-v2.html

云函数

  1. 新建项目时勾选启用uniCloud,已有项目则右击项目目录->创建uniCloud云开发环境->阿里云
  2. 在生成的uniCloud文件夹右击选择关联云服务空间
  3. 在uniCloud\cloudfunctions文件夹中新建云函数,勾选uni-cloud-push扩展库
// 简单的使用示例
'use strict';
const uniPush = uniCloud.getPushManager({appId:"__UNI__XXXXXX"}) //注意这里需要传入你的应用appId
exports.main = async (event, context) => {
	const data = JSON.parse(event.body)
	return await uniPush.sendMessage({
		"getui_alias": data.alias,  // 使用别名推送
		"title": data.title,
		"content": data.content,
		// "force_notification": true,  // 服务端推送
		"request_id": event.requestId, // 请求唯一标识号
		"payload": data.payload,
		"badge": 0 // 不设置应用角标
	})
}
  1. 右击新建的云函数点击上传部署
  2. 进入uniCloud控制台,找到上传的云函数点击详情
    在这里插入图片描述
  3. 设置URL的PATH部分
    在这里插入图片描述
  4. 配置完后的完整URL就可用来请求调用
  5. App.vue中监听收到服务端消息及通知栏点击消息事件处理
onLaunch() {
	// #ifdef APP-PLUS
	let pushMessageCallback = (res) => {
		const { data } = res
		if (res.type === "receive") {
			// 创建通知栏消息
			plus.push.createMessage(data.content, data.payload, {
				title: data.title,
				sound: "system",
				cover: false
			})
		} else {
			const msgType = data.payload.msgType
			const id = data.payload.id
			const orderId = data.payload.orderId
			const parentId = data.payload.parentId
			if (msgType === 0) {
				uni.navigateTo({
					url: `/pages/workbenches/listPage/order-detail/order-detail?parentId=${parentId}&orderId=${orderId}`
				})
			} else if (msgType === 1) {
				uni.navigateTo({
					url:  `/pages/workbenches/listPage/delivery-detail/delivery-detail?parentId=${parentId}&orderId=${orderId}&id=${id}`
				})
			}
		}
	}
	uni.onPushMessage(pushMessageCallback)
	// #endif
}

更多参考官方文档

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值