uni-app自定义基座拿不到ClientId
uni-app自定义基座拿不到ClientId
测试过的手机:
华为pura70 HarmonyOS 4.2.0
操作步骤:
onLaunch: function(options) {
var info = plus.push.getClientInfo();
console.log('个人cid', info);
}
预期结果:
{
"id": "unipush",
"token": "xxxx",
"clientid": "xxxx",
"appid": "xxxx",
"appkey": "xxxx"
}
实际结果:
{
"id": "unipush",
"token": "null",
"clientid": "null",
"appid": "null",
"appkey": "null"
}
bug描述:
unipush已经配置好了,但是自定义基座始终拿不到clientid
var info = plus.push.getClientInfo();
console.log('个人cid', info);

更多关于uni-app自定义基座拿不到ClientId的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在使用 uni-app 开发时,如果你在自定义基座中无法获取到 ClientId,可能是由于以下几个原因导致的。以下是一些排查和解决方法:
1. 检查自定义基座是否正确生成
- 确保你生成的自定义基座是基于最新的代码和配置。
- 使用
HBuilderX生成自定义基座时,确保选择了正确的配置(如是否开启push模块等)。 - 生成自定义基座后,重新运行项目并确保使用的是自定义基座,而不是默认的基座。
2. 检查 ClientId 的获取时机
ClientId是在设备注册推送服务后生成的,可能需要一定时间才能获取到。- 确保在获取
ClientId之前,设备已经成功注册了推送服务。可以使用以下代码检查推送服务是否已注册:plus.push.getClientInfo((info) => { console.log('推送服务信息:', info); });
3. 确保 push 模块已正确配置
- 在
manifest.json中,确保已经正确配置了push模块。例如:{ "app-plus": { "distribute": { "plugins": { "push": { "type": "unipush" // 或其他推送类型 } } } } } - 如果不确定配置是否正确,可以参考 uni-app 官方文档关于推送模块的配置。
4. 检查权限和网络
- 确保应用已经获取了必要的权限(如通知权限)。
- 确保设备网络正常,推送服务需要联网才能注册成功。
5. 调试获取 ClientId 的代码
- 使用以下代码获取
ClientId并打印日志:plus.push.getClientInfo((info) => { console.log('ClientId:', info.clientid); });

