使用uni-push进行app的消息推送
uni-push进行app的消息推送。 ios和安卓
官方文档入口(内容非常的齐全,包括所有可能遇到的问题也都有相应的解决方法)
UniPush开通指南 https://ask.dcloud.net.cn/article/35716
UniPush使用指南 http://ask.dcloud.net.cn/article/35622
Unipush常见问题 https://ask.dcloud.net.cn/article/36611
服务端api接口推送调用文档
https://docs.getui.com/getui/server/rest_v2/push/
本人进行一个所有遇到问题的复盘
1.ios进行应用配置的时候需要的证书,不是打包发布版本的证书,是进行消息推送的证书,不要选错了,配置iOS推送证书_中控易动的博客-CSDN博客_ios推送证书
2.关于各大厂商的的参数配置申请Android厂商推送通道 - 简书
华为手机一定要配置sha256指纹签名证书,配置方法:先进行app打包,会生成一个apk的文件链接,点击链接进行下载,然后解压那个文件里面有一个cert.RSA文件 keytool -list -v -keystore xxx/xxx/cert.RSA
3.小米手机收不到在线和离线消息,明明全部都配置好了,但是还是都不行,因为小米手机里面有很多通知设置,我把里面的全部通知设置打开了之后,就可以收到消息了
4.一定要打包之后获取的clientid才能起作用,或者自定义基座调试之后获取的cid,这两种情况以外的cid都会显示离线
5.前端只需要这点基本代码,其余的都是后端去整~,或者根据业务需求会加一些接口啥的,我当时以为全部都是前端配置
/* 接收消息通知并跳转到tab页面 */
const _self = this;
const _handlePush = function (message) {
_self.updatePushMessage(message);
};
plus.push.addEventListener(
"click",
function (message) {
// plus.nativeUI.toast(id);
_handlePush(message);
uni.reLaunch({
url: "/pages/order/list",
});
},
true
);
plus.push.addEventListener("receive", function (message) {
// plus.nativeUI.toast('push receive');
_handlePush(message);
});
// 获取App端cid
let pinf = plus.push.getClientInfo();
if (pinf && pinf.clientid) {
uni.setStorageSync("cid", pinf.clientid);
} else {
var obtainingCIDTimer = setInterval(function () {
pinf = plus.push.getClientInfo();
if (pinf.clientid) {
uni.setStorageSync("cid", pinf.clientid);
clearInterval(obtainingCIDTimer);
}
}, 50);
}
setTimeout(() => {
console.log("cid", uni.getStorageSync("cid"));
}, 500);
更多推荐
所有评论(0)