求解在推送的时候遇到问题
如下图
使用厂商通道
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标;S.content=测试内容;S.payload=test;end
为什么会出现
clientId离线
- 发布:2020-05-06 18:31
- 更新:2021-09-05 17:43
- 阅读:1930
你好,你是怎么实现的? 我也遇到你一样的问题
-
jtshushu (作者)
回复 c***@zeroteam.co:
.厂商推送设置
是华为还是什么
AppID
AppSecret
PkgName
都要有
有没 Android配置
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=包的唯一id/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标;S.content=测试内容;S.payload=test;end
3.注意你的手机是华为高版本的
2020-05-13 17:53
jtshushu (作者) - 擅长:PHP-Thinkphp Python MUI UniApp Vuejs Bootstrap Jq Logo设计 广告设计 网页设计 有项目上需要联系我微信号:jtshushu66
.厂商推送设置
是华为还是什么
AppID
AppSecret
PkgName
都要有
-
有没 Android配置
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=包的唯一id/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标;S.content=测试内容;S.payload=test;end
3.注意你的手机是华为高版本的
2***@qq.com - 前端程序员
你好我也遇到了这个问题,有看到你回复其他朋友说的,离线推送要打包app才可以,但是通过uniapp的自定义调试基座也是打包出去的,为什么还是会出现这个问题,难道说一定要云打包出来吗?
-
回复 2***@qq.com: 你好,我的也出现这个问题了,杀死后台,还是不能通过厂商透传,只有打开app才可以,也配置了厂商,请问如何解决这个问题
2020-07-17 09:06
jtshushu (作者) - 擅长:PHP-Thinkphp Python MUI UniApp Vuejs Bootstrap Jq Logo设计 广告设计 网页设计 有项目上需要联系我微信号:jtshushu66
const clientInfo = plus.push.getClientInfo()
console.log(clientInfo);
手机唯一id
jtshushu (作者) - 擅长:PHP-Thinkphp Python MUI UniApp Vuejs Bootstrap Jq Logo设计 广告设计 网页设计 有项目上需要联系我微信号:jtshushu66
// /App.vue
onLaunch: function() {
// #ifdef APP-PLUS
const clientInfo = plus.push.getClientInfo()
console.log(clientInfo)
// #endif
}
返回信息:
{
“id”: “unipush”
, “token”: “54930dd7764bea63d367634169729xxx”
, “clientid”: “54930dd7764bea63d367634169729xxx”
, “appid”: “zQE9oBlmnF7SzV9bQPHxxx”
, “appkey”: “ftjJNVX7Cu9iI8NEaMexxx”
}
jtshushu (作者) - 擅长:PHP-Thinkphp Python MUI UniApp Vuejs Bootstrap Jq Logo设计 广告设计 网页设计 有项目上需要联系我微信号:jtshushu66
// #ifdef APP-PLUS
// uni.showModal({
// title: '提示',
// content: '您的用户在其它的app登录,如果有问题,请修改密码或重新登录!',
// cancelText:"修改密码",
// confirmText:"好的",
// success: function (res) {
// if (res.confirm) {
// console.log('用户点击确定');
// } else if (res.cancel) {
// console.log('用户点击取消');
// }
// }
// });
const clientInfo = plus.push.getClientInfo()
console.log(clientInfo);
console.log(clientInfo.clientid);
//clientid
const _self = this;
const _handlePush_pash= function(message) {
// 通过 vuex 来同步页面的数据,仅做演示。
// 实际开发中,这里可能是跳转到某个页面等操作,请根据自身业务需求编写。
console.log(message);
_self.updatePushMessage(message);
console.log(message.payload);
// uni.showModal({
// content:'duixiang1111=='+JSON.stringify(message)+"duixiang111",
// showCancel: false
// });
var message_payload = JSON.parse(message.payload);
// uni.showModal({
// content:'duixiang=='+JSON.stringify(message_payload)+"duixiang",
// showCancel: false
// });
console.log(message_payload);
// var message_payload = JSON.stringify(payload);
//将对象转为字符串 JSON.stringify(jsObj)
//JSON字符串转为对象 JSON.parse(str);
console.log(message_payload.titelok);
console.log(message_payload.pagePath);
// uni.showModal({
// content:'tiaozhuang=='+message_payload.pagePath+"tiaozhuang",
// showCancel: false
// });
//这个很重要 因为加载要时间 定时器的重要性
setTimeout(() => {
//这个 调整
uni.navigateTo({
url: message_payload.pagePath
});
},1000);
//end 定时器 他有缓冲时间
};
plus.push.addEventListener('click', function(message) {
plus.nativeUI.toast('111push click');
console.log(message);
var message_payloadxxx = JSON.parse(message.payload);
//return;
_handlePush_pash(message);
});
plus.push.addEventListener('receive', function(message) {
plus.nativeUI.toast('push receive');
console.log(message);
// var i=0;
var jsonData = JSON.stringify(message.payload) //字字符串 对项专字符串
var jsonData1 = JSON.stringify(message) //字字符串 对项专字符串
//var jsonData=JSON.parse(message.payload) //字字符串 对项专字符串
//苹果解决
if (message.type == 'receive') {
//plus.push.createMessage(message.content,message.payload,message.title);
// plus.push.createMessage(message.content,jsonData,message.title);
// plus.push.createMessage(message.content,jsonData,message.title);
// plus.push.createMessage(message.content,aaa);
plus.push.createMessage(message.title, jsonData); //可以到页面
}
// return;
//_handlePush(message);
});
// #endif
我知道原因了 谢谢
您好 我还有一个问题 在uni push里面发布透传信息的时候 intent后面带了一个示例:intent:#Intent;component=你的包名/你要打开的 activity 全路径;S.parm1=value1;S.parm2=value2;end 其中【你的包名/你要打开的 activity 全路径 】这部分是可以直接放打开的地址吗,就比如说点击信息提醒之后,我想让页面跳转到优惠券页面(页面路径的话是:pages/xinren/xinren.vue),这个部分可以直接写【包名/pages/xinren/xinren】吗,但是我放地址跳转一直是跳转不了,我现在是在APP.vue中onLaunch中添加的一个监控跳转,但是这个的话是需要每次重新打包之后才可以使用,还需要应用商店提交进行审核啥的,每次都是很麻烦,我意思是直接可以在unipush页面直接放一个跳转的地址,让他直接跳转,在网上搜索很多材料,都没有这部分的具体介绍,有的话也只是一笔带过,麻烦大佬帮小弟解答一下,感激不尽
jtshushu (作者)
您好我是用 HBuilder基座 打宝测试的
但是还是出现这个 clientId离线
2020-05-06 20:47
jtshushu (作者)
配置了厂商推送通道参数 我也配置了
是不要只能用上线的app才可以
在华为中心我是没有发布上线的app
2020-05-06 20:48
DCloud_App_Array
回复 jtshushu: clientid怎么获取的?将应用切换到前台确认是否还是提示离线?
2020-05-11 12:19
jtshushu (作者)
回复 DCloud_App_Array: 您好 谢谢我已经解决了通过程序实现了
2020-05-11 14:18