- 安装app后首次启动
- onLaunch中调用getPushClientId
- 发布:2024-01-31 12:17
- 更新:2024-01-31 14:37
- 阅读:140
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: Android
手机系统版本号: Android 13
手机厂商: OPPO
手机机型: Reno7
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
拿到clientId
拿到clientId
实际结果:
拿不到
拿不到
bug描述:
在ColorOS 13和14上应用安装后首次启动后,不管调用多少次uni.getPushClientId都拿不到clientId
多次测试只有两种情况能拿到
- 安装完后直接在应用详情手动打开通知权限,再启动应用,这时可以拿到clientId
- 首次启动应用后,杀掉进程重启app,此时不管开没开通知权限都可以拿到clientId
MIUI14上也有这个问题
只要是首次启动,在 app.vue的onLaunch中调用,在首页调用这个,都拿不到clientId
uni.getPushClientId({
success: (res) => {
let push_clientid = res.cid
uni.$u.toast('客户端推送标识:' + JSON.stringify(res), 5000)
uni.setStorageSync('clientId', push_clientid)
commit('SET_CID', push_clientid)
resolve(push_clientid)
},
fail(err) {
console.log(err)
uni.$u.toast('客户端推送标识失败:' + JSON.stringify(err), 5000)
uni.removeStorage({ key: 'clientId' })
reject(err)
},
})