前言
最近有在开发一个协同办公的软件,甲方希望能在有待处理事项时通知到用户,所以我开始一步步的打通厂商推送渠道。
在线推送
1.开通: 首页=>开发者后台=>找到对应的应用=>uni push =>开通
2.权限配置:manifest.json=>app模块配置=>勾选unipush
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 =>测试
打开应用,此时就可以收到在线的消息推送,随便提一句,cid通过接口给后端,后端向uni push的服务器请求,uni push 会自动分发消息。
离线推送-华为
国内安卓应用的消息推送很混乱,厂商很多,需要一个一个去打通,这一次我们先去打通华为的离线消息推送
1.配置:后台=>uni push =>厂商推送设置=>填写在华为申请得到的appid和其他项
点击下方的 【打开华为推送后台】 去申请开发者账号和应用 这一步请去华为官方文档查看,
2.申请完成后在华为开发者后台看到的大致是这样
3. 配置证书密钥:如图
4.得到证书密钥
1.自己去生成,具体安卓证书的生成请百度—建议
2.使用uniapp的自动生成工具,建议使用上一种,毕竟安全性高一点,由于我这里只是为了速通,所以使用最快的办法
快速申请证书 这个过程通常几分钟内就可以了
创建完成后 : 点击【证书详情】 将SHA256 填进华为要的证书指纹
5.打包 :打调试基座 按下图配置
将申请的证书下载,然后导入到证书文件,证书别名可以在上图看到,证书密码可以在上图的最右下方看到有一个查看证书密码
6.运行到基座:看图
*tip:如果基座不行可以打包成app试一下*
然后就可以运行到真机了。注意要运行到华为真机才可以
7.测试离线推送
1.拿到cid
2.打开uni后台=>uni push=> 配置管理=>故障排除 =>复制device token
tip:device token 有可能拿不到,这时候多重启几次应用就可以了
3.在华为开发者后台推离线消息
先杀死手机上的应用进程,然后按下图操作 如果消息没有离线推送到手机,检查一下华为方面的配置,可能那里少了,如果华为能离线推送,unipush应该也能,如果不行,请将关于uni的操作重复一遍
后记
后面会有关于魅族,小米等厂商的打通过程,等做完后再更新