8***@qq.com
8***@qq.com
  • 发布:2026-07-21 11:36
  • 更新:2026-07-21 11:45
  • 阅读:117

unipush2.0 appid一致,无法获取cid

分类:uni-app

配置是一致的,function getPlusPushClientId() {
try {
return (plus as any)?.push?.getClientInfo?.()?.clientid || ''
} catch {
return ''
}
}

/* 获取 UniPush clientId(仅 APP-PLUS) /
export function fetchPushClientId(): Promise<string> {
// #ifdef APP-PLUS
return new Promise((resolve) => {
try {
console.log('[Push] fetchPushClientId start')
uni.getPushClientId({
success: (res: any) => {
const plusCid = getPlusPushClientId()
const cid = res?.cid || plusCid || ''
console.log('[Push] getPushClientId success', {
resCid: res?.cid || '',
plusCid,
finalCid: cid,
res,
})
resolve(cid)
},
fail: (err: any) => {
const cid = getPlusPushClientId()
console.warn('[Push] getPushClientId fail', {
err,
errMsg: err?.errMsg || err?.message || '',
plusCid: cid,
})
resolve(cid)
},
})
} catch (e) {
const cid = getPlusPushClientId()
console.warn('[Push] fetchPushClientId exception', e, { plusCid: cid })
resolve(cid)
}
})
// #endif
// #ifndef APP-PLUS
console.log('[Push] fetchPushClientId skip: not APP-PLUS')
return Promise.resolve('')
// #endif
}获取方式,日志显示:{
"err": {
"errMsg": "getPushClientId:fail -1: failed,check appkey or appid"
},
"errMsg": "getPushClientId:fail -1: failed,check appkey or appid",
"plusCid": "null"
}

2026-07-21 11:36 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

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

针对 getPushClientId:fail -1: failed,check appkey or appidplusCid"null" 的问题,请按以下步骤排查:

  1. 检查 uni-push2.0 开通与启用状态

    • 确认当前应用是否已在 DCloud 开发者中心开通 uni-push2.0 服务。
    • 确认客户端对应平台是否已启用 uni-push2.0,即在 manifest.jsonAPP 模块配置 中勾选 uniPush 2.0
  2. 检查 appid 一致性

    • 确认 manifest.json 中的 appid 与 DCloud 开发者中心、个推后台配置的 appid 是否完全一致。
    • 如果重新获取过 appid,需确保所有地方都已同步更新。
  3. 重新打包自定义基座

    • 修改 manifest.json 中的推送配置后,必须重新云打包或本地打包自定义基座,不能使用标准基座或旧的自定义基座。
  4. 增加延时重试机制

    • 客户端向推送服务器注册需要时间,应用安装后第一次运行时可能尚未注册完成,导致获取的 cid 为空。建议在调用 uni.getPushClientId 失败或返回空时,使用 setTimeout 延时重试。
  5. 重启或重装应用

    • 根据社区反馈,该问题有时由超时或缓存引起。尝试重启应用,或删除应用后重新编译安装,可能恢复正常。
  6. 使用官方推荐 API

    • 优先使用 uni.getPushClientId 获取 cid,而不是 plus.push.getClientInfo

参考链接:

内容为 AI 生成,仅供参考
8***@qq.com

8***@qq.com (作者)

已在 DCloud 开发者中心开通 uni-push2.0 服务

要回复问题请先登录注册