先吐槽一下,Dcloud的文档真的很坑,东一块西一块,而且版本有时候对不上,sdk更新了文档没更新,emmmmm,还能怎么样呢,硬着头皮来吧。
首先,我们的项目是混合开发,主要部分是uniapp,部分插件是原生,打包采用离线打包,用到unipush,原生这边也需要做配置。
一.UniPush开通
可以参考这个链接
https://ask.dcloud.net.cn/article/35716
主要注意几点:
1.需要实名认证
2.创建app,填写appid,注意在“应用配置”里上传推送证书
二.uniapp部分接收推送配置
1.在 App.vue 中更新推送消息
export default {
onLaunch() {
// #ifdef APP-PLUS
const _self = this;
const _handlePush = function(message) {
/**
* 通过 vuex 来同步页面的数据,仅做演示。
* 实际开发中,这里可能是跳转到某个页面等操作,请根据自身业务需求编写。
*/
_self.updatePushMessage(message);
};
plus.push.addEventListener('click', function(message) {
plus.nativeUI.toast('push click');
_handlePush(message);
});
plus.push.addEventListener('receive', function(message) {
plus.nativeUI.toast('push receive');
_handlePush(message);
});
// #endif
},
methods: {
...mapMutations(['updatePushMessage'])
}
}
2.在manifest.json里修改配置
三.Xcode配置
1.引入Libs相应的库文件,参考Feature-iOS.xls
2.在info.plist文件里配置appid和key(我就是卡在这里!文档上面没有,在项目里找到的!需要这样配置)
到此,在unipush里创建透传消息,iOS可以收到推送啦。