uni-app 报 Bug uni.onPushMessage fail; getPushClientId:fail -1: failed, check appkey or appid
uni-app 报 Bug uni.onPushMessage fail; getPushClientId:fail -1: failed, check appkey or appid
示例代码:
onLaunch() {
uni.getPushClientId({
success(res) {
console.log("****:", res);
uni.setStorageSync('cid', res.cid);
},
fail(err) {
console.log(err, plus.push.getClientInfo())
}
})
}
操作步骤:
- 开通unipush步骤
预期结果:
- 成功返回cid
实际结果:
- `errMsg":“getPushClientId:fail -1: failed,check appkey or appid”
bug描述:
uni.getPushClientId请求时fail返回 errMsg":"getPushClientId:fail -1: failed,check appkey or appid
报错;已确认开通了unipush,打包自定义基座和开通信息都是用的云端证书信息; 曾获取到过cid;未更改配置的情况下;突然报这个错误; 唯一区别是创建了uniCloud; 请大佬们看看是还有什么地方要配置appkey 和 appid 吗?
3 回复
在 uni-app 中遇到 uni.onPushMessage fail; getPushClientId:fail -1: failed, check appkey or appid
错误,通常是由于以下原因导致的:
1. 检查 AppKey 和 AppId
- 确保你在
manifest.json
文件中正确配置了推送服务的 AppKey 和 AppId。 - 如果你使用的是第三方推送服务(如个推、极光推送等),请确保在对应的推送服务平台上正确配置了 AppKey 和 AppId。
2. 检查推送服务配置
- 确保你在
manifest.json
文件中正确配置了推送服务的相关参数。例如:"push": { "unipush": { "appid": "your-appid", "appkey": "your-appkey" } }
- 如果你使用的是其他推送服务,请确保配置正确。
3. 检查推送服务是否启用
- 确保你在
manifest.json
文件中启用了推送服务。例如:"permissions": { "push": {} }
4. 检查推送服务 SDK 是否正确集成
- 确保你正确集成了推送服务的 SDK。如果你使用的是原生插件,请确保插件已正确安装并配置。
5. 检查推送服务权限
- 确保你的应用程序已经获取了推送服务所需的权限。例如,在 Android 上需要
RECEIVE_BOOT_COMPLETED
和INTERNET
权限。
6. 检查网络连接
- 确保设备已连接到互联网,因为推送服务需要网络连接才能正常工作。
7. 检查推送服务平台的配置
- 登录到推送服务平台(如个推、极光推送等),检查 AppKey 和 AppId 是否正确,并确保推送服务已启用。
8. 检查 uni-app 版本
- 确保你使用的是最新版本的 uni-app,因为旧版本可能存在已知的 bug。
9. 调试和日志
- 使用
console.log
或调试工具查看详细的错误信息,帮助定位问题。 - 查看设备日志(如 Android 的 Logcat),看看是否有更多的错误信息。
10. 联系推送服务提供商
- 如果以上步骤都无法解决问题,建议联系推送服务提供商的技术支持,获取进一步的帮助。
示例代码
以下是一个简单的 uni-app 推送配置示例:
// manifest.json
{
"appid": "your-appid",
"appkey": "your-appkey",
"push": {
"unipush": {
"appid": "your-appid",
"appkey": "your-appkey"
}
},
"permissions": {
"push": {}
}
}
// 在页面中使用推送服务
uni.getPushClientId({
success: (res) => {
console.log('Push client id:', res.cid);
},
fail: (err) => {
console.error('Failed to get push client id:', err);
}
});