用户2993025
用户2993025
  • 发布:2026-03-24 13:44
  • 更新:2026-03-24 13:44
  • 阅读:21

【报Bug】"errMsg":"getPushClientId:fail -1: failed,check appkey or appid"

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window11

HBuilderX类型: 正式

HBuilderX版本号: 5.04

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: xiaomi 13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://bdpkg-qiniu.dcloud.net.cn/20260324/ea47c090-271d-11f1-8758-159fb2d9708f/__UNI__3DEF698_0324091449.apk?e=1774315945&token=NnNBeYySSNAvw4mRpTG4lZFLSzHEK0GnVnlVLu_4:P5u1nWB3wN3ce1hmgQObydSd0nc=

示例代码:

uni.getPushClientId({
success: (res) => {
if (isCompleted) return;
isCompleted = true;
clearTimeoutHandler();

            this.addLog('【V2】获取 CID 成功: ' + res.cid);  
            this.cid = res.cid;  

            // 保存 CID 到本地  
            uni.setStorageSync('push_cid', res.cid);  

            // 上报到服务器  
            this.reportCIDToServer(res.cid);  
        },  
        fail: (err) => {  
    console.log('=================',JSON.stringify(err))  
            handleV2Failed(JSON.stringify(err));  
        }  
    });

操作步骤:

uni.getPushClientId({
success: (res) => {
if (isCompleted) return;
isCompleted = true;
clearTimeoutHandler();

            this.addLog('【V2】获取 CID 成功: ' + res.cid);  
            this.cid = res.cid;  

            // 保存 CID 到本地  
            uni.setStorageSync('push_cid', res.cid);  

            // 上报到服务器  
            this.reportCIDToServer(res.cid);  
        },  
        fail: (err) => {  
    console.log('=================',JSON.stringify(err))  
            handleV2Failed(JSON.stringify(err));  
        }  
    });

预期结果:

返回cid

实际结果:

{"errMsg":"getPushClientId:fail -1: failed,check appkey or appid"}

bug描述:

{"errMsg":"getPushClientId:fail -1: failed,check appkey or appid"}
app证书、appid等都已经排查

2026-03-24 13:44 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对该 bug 反馈评审如下:

1. 反馈内容完整性分析

基本信息完整度:良好

  • 提供了完整的错误信息:{"errMsg":"getPushClientId:fail -1: failed,check appkey or appid"}
  • 环境信息较完整:HBuilderX 5.04 正式版、Android 16、Vue2、小米 13
  • 代码示例完整:提供了完整的 uni.getPushClientId 调用代码

缺失关键信息:

  • 复现步骤过于简单:仅粘贴了代码,未说明是首次调用还是每次必现、是否使用自定义基座/正式包运行、manifest.json 中 push 模块的配置情况
  • 未提供 manifest 配置:未说明是否在 manifest.json 中正确启用了 uni-push 2.0,以及 Android 平台的包名、签名证书配置
  • 未说明服务开通状态:未确认是否在 DCloud 开发者中心 开通了 UniPush 2.0 服务并正确配置应用信息
  • 基座类型未明确:未说明是使用标准基座、自定义基座还是正式包测试(标准基座无法获取正确的 push 能力)

2. Bug 是否成立分析

根据知识库相关内容,该错误通常不是框架 bug,而是配置集成问题

push > 客户端API > uni.getPushClientId 文档中明确说明,常见报错 getPushClientId:fail register fail 需要检查:

  1. 当前应用是否已开通 uni-push 2.0
  2. 客户端对应平台是否已启用 uni-push 2.0

appkey 常见问题 文档指出,提示"未配置 AppKey 或配置错误"是因为 appid + 应用包名 + 签名 sha1 三者必须与申请填写的信息完全一致

对话知识库中类似案例显示,此类问题通常与基座打包配置或manifest中未正确启用 push 模块有关。

3. 评审结论

该反馈目前不足以认定为框架 bug,更可能是集成配置问题。需要用户补充以下信息后进一步判断:

  1. 确认服务开通:是否在 DCloud 开发者中心开通 UniPush 2.0,并正确填写了应用包名和 SHA1 签名
  2. 确认 manifest 配置:在 manifest.json -> App 模块配置 -> Push(消息推送) 中是否勾选了"UniPush 2.0"
  3. 确认运行基座:是否使用了自定义基座正式包运行(标准基座无法获取有效 cid)
  4. 确认证书一致性:Android 签名证书(SHA1)与 DCloud 后台配置是否完全一致

建议用户操作:

  • 如未开通服务,请参考 UniPush 2.0 快速上手文档 完成开通和配置
  • 如已开通,请重新制作自定义基座(需勾选 push 模块)后测试
  • 检查 manifest.json 中 AppID 与 DCloud 后台申请 AppKey 时使用的 AppID 是否一致

若上述配置均确认无误仍复现,请补充 manifest.json 中 push 配置截图和基座类型后重新提交。

内容为 AI 生成,仅供参考

要回复问题请先登录注册