uni-app push 1.0 appid appkey 与后台不一致
uni-app push 1.0 appid appkey 与后台不一致
问题描述
//获取cid
plus.push.getClientInfoAsync((info) => {
console.log("获取cid",info)
});
//监听消息
uni.onPushMessage((res) => {
console.log("监听到消息:", res) //监听推送消息
})
获取到的 appid appkey 与后台配置的不一致,这个是使用自定义证书,正式打包后安装的app,不是调试基座获取到的信息。
由于这两个数据都不对 所以 当然无法收到消息或者透传了
我后台使用的是 curl 发包 拿到了 {“msg”:“target user is invalid”,“code”:20001} 这个回复
修改方向在哪呢
是我自己弄错了,用了个推的资料
在处理uni-app推送功能时,确保appid和appkey与后台服务一致是至关重要的。如果这些信息不匹配,推送服务将无法正常工作。以下是一个示例代码和配置步骤,帮助你检查和确保这些信息的一致性。
步骤 1: 检查uni-app项目配置
首先,你需要在uni-app项目的manifest.json
文件中检查并确认app-plus
下的distribute
配置是否正确。这包括appid
和appkey
。
{
"mp-weixin": { /* ... */ },
"app-plus": {
"distribute": {
"apple": {
"appid": "YOUR_APPLE_APPID",
"teamId": "YOUR_TEAM_ID"
},
"android": {
"package": "com.yourcompany.yourapp",
"appkey": "YOUR_ANDROID_APPKEY"
},
"uniPush": {
"appid": "YOUR_UNIPUSH_APPID", // 确保这个appid与后台一致
"appkey": "YOUR_UNIPUSH_APPKEY" // 确保这个appkey与后台一致
}
}
}
}
步骤 2: 检查后台服务配置
接下来,登录到你的推送服务提供商的后台(例如个推、极光推送等,如果你使用的是uniPush,则登录DCloud开发者后台),检查推送服务中配置的appid
和appkey
是否与manifest.json
中的一致。
步骤 3: 代码示例:初始化推送服务
在你的uni-app项目中,初始化推送服务的代码通常放在App.vue
的onLaunch
方法中。以下是一个简单的示例:
// App.vue
export default {
onLaunch() {
#ifdef APP-PLUS
plus.push.addEventListener('receive', function(msg) {
console.log('收到推送消息:', msg);
// 处理推送消息
});
plus.push.createMessage({
title: '测试推送',
content: '这是一条测试推送消息'
}, function(e) {
console.log('创建本地消息成功:', e);
}, function(e) {
console.error('创建本地消息失败:', e);
});
#endif
}
}
步骤 4: 测试推送
最后,通过后台服务发送一条测试推送消息到你的应用,检查是否能够正常接收。如果未能收到消息,请再次检查appid
和appkey
的一致性,以及网络连接和推送服务配置的正确性。
确保所有配置正确无误后,你的uni-app项目应该能够正常接收来自后台的推送消息。如果问题仍然存在,可能需要联系推送服务提供商的技术支持进行进一步的排查。