前言

最近有在开发一个协同办公的软件,甲方希望能在有待处理事项时通知到用户,所以我开始一步步的打通厂商推送渠道。

在线推送

1.开通: 首页=>开发者后台=>找到对应的应用=>uni push =>开通

ios uniapp 推送不显示 uni-app推送_ios uniapp 推送不显示

2.权限配置:manifest.json=>app模块配置=>勾选unipush

ios uniapp 推送不显示 uni-app推送_华为_02

3.拿到cid:代码

第一次打开应用cid可能拿不到。等一会儿或者杀掉应用再打开应该就可以了

copyCid() { //将cid等信息拷贝到粘贴版
				var inf = plus.push.getClientInfo();
				uni.setClipboardData({
					data: JSON.stringify(inf),
					success: (res) => {
						uni.showToast({
							title: '',
						})
					}
				})
			}

4.在线推送:开发者后台=>uni push=>通知消息=>预览=>填写cid =>测试

ios uniapp 推送不显示 uni-app推送_华为_03

打开应用,此时就可以收到在线的消息推送,随便提一句,cid通过接口给后端,后端向uni push的服务器请求,uni push 会自动分发消息。

离线推送-华为

国内安卓应用的消息推送很混乱,厂商很多,需要一个一个去打通,这一次我们先去打通华为的离线消息推送

1.配置:后台=>uni push =>厂商推送设置=>填写在华为申请得到的appid和其他项

ios uniapp 推送不显示 uni-app推送_ci_04


点击下方的 【打开华为推送后台】 去申请开发者账号和应用 这一步请去华为官方文档查看,

2.申请完成后在华为开发者后台看到的大致是这样

ios uniapp 推送不显示 uni-app推送_uni-app_05

3. 配置证书密钥:如图

ios uniapp 推送不显示 uni-app推送_ios uniapp 推送不显示_06

4.得到证书密钥

1.自己去生成,具体安卓证书的生成请百度—建议
2.使用uniapp的自动生成工具,建议使用上一种,毕竟安全性高一点,由于我这里只是为了速通,所以使用最快的办法

快速申请证书 这个过程通常几分钟内就可以了

ios uniapp 推送不显示 uni-app推送_uni-app_07

创建完成后 : 点击【证书详情】 将SHA256 填进华为要的证书指纹

ios uniapp 推送不显示 uni-app推送_ios uniapp 推送不显示_08

5.打包 :打调试基座 按下图配置

将申请的证书下载,然后导入到证书文件,证书别名可以在上图看到,证书密码可以在上图的最右下方看到有一个查看证书密码

ios uniapp 推送不显示 uni-app推送_华为_09

6.运行到基座:看图

*tip:如果基座不行可以打包成app试一下*

ios uniapp 推送不显示 uni-app推送_ci_10


然后就可以运行到真机了。注意要运行到华为真机才可以

7.测试离线推送

1.拿到cid
2.打开uni后台=>uni push=> 配置管理=>故障排除 =>复制device token
tip:device token 有可能拿不到,这时候多重启几次应用就可以了

ios uniapp 推送不显示 uni-app推送_ios uniapp 推送不显示_11

3.在华为开发者后台推离线消息

先杀死手机上的应用进程,然后按下图操作 如果消息没有离线推送到手机,检查一下华为方面的配置,可能那里少了,如果华为能离线推送,unipush应该也能,如果不行,请将关于uni的操作重复一遍

ios uniapp 推送不显示 uni-app推送_uni-app_12

后记

后面会有关于魅族,小米等厂商的打通过程,等做完后再更新