uni-app uniplus无法获取clientId
uni-app uniplus无法获取clientId
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC版本号 | windows11 |
| HBuilderX | 正式 |
| HBuilderX版本 | 4.76 |
| 手机系统 | Android |
| 手机版本号 | Android 15 |
| 手机厂商 | OPPO |
| 手机机型 | 已加ace2 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
export const getClientInfo = () => {
return new Promise((resolve, reject) => {
plus.push.getClientInfoAsync(
(info) => {
console.log(info, "infoinfo");
cid = info.clientid;
resolve(info);
},
(err) => {
console.log(err, "errerr");
reject(err);
}
);
});
};
操作步骤:
- 打开app,控制台报错
预期结果:
- 需要拿到clientid
实际结果:
- 但是没有拿到
bug描述:
获取clientid,自定义基座了,也没有办法获取到。

更多关于uni-app uniplus无法获取clientId的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app uniplus无法获取clientId的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中通过 uniplus 获取 clientId 失败通常与推送模块配置或权限问题有关。根据你的代码和配置,以下是排查重点:
-
推送模块配置检查
在manifest.json的「App 模块配置」中需勾选「Push(消息推送)」,并确保已配置厂商通道(OPPO 需上传应用密钥)。云端打包后需重新制作自定义基座。 -
权限与平台差异
- Android 15 需在
manifest.json中声明以下权限:<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> - 部分国产机型(如 OPPO)对自启动管理严格,需引导用户手动开启「允许自启动」和「关联启动」。
- Android 15 需在
-
代码执行时机优化
getClientInfoAsync需在plusready事件后调用,建议在onLaunch中增加延迟:setTimeout(() => { plus.push.getClientInfoAsync((info) => { console.log('ClientID:', info.clientid) }) }, 1000)

