uni-app Unipush使用个推获取clientid,出现特殊字符
uni-app Unipush使用个推获取clientid,出现特殊字符
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.18
手机系统:Android
手机系统版本号:Android 8.1
手机厂商:OPPO
手机机型:r11 plus
页面类型:vue
打包方式:云端
操作步骤:
使用plus.push.getClientInfoAsync获取,跟官方的方法一致,提交到我自己的服务器保存clientid
预期结果:
clientid应该为数字和字母的组合
实际结果:
...81125ff49b<g2,前面几位省略了,暂时无法查看,可以确定包含<特殊字符
bug描述:
获取到的clientid为 "...81125ff49b<g2",由于手机在客户手上,目前只能看到clientid的部分内容,可以确定内容之中包含<,之前也遇到过,但是现在无法重现。
更多关于uni-app Unipush使用个推获取clientid,出现特殊字符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app Unipush使用个推获取clientid,出现特殊字符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在UniPush使用个推通道时,获取到的clientid包含特殊字符(如<)属于异常情况。正常情况下,个推clientid应为由数字和字母组成的32位字符串(如2e3a1b2c4d5e6f7890a1b2c3d4e5f6g7)。
可能原因分析:
- 数据解析错误:在获取或传输过程中可能出现编码/解码问题
- 存储或显示问题:服务器保存或日志显示时可能引入了特殊字符
- 个推SDK异常:特定手机厂商或系统版本下的SDK兼容性问题
建议排查步骤:
- 在获取clientid后立即输出原始值进行验证:
plus.push.getClientInfoAsync((info) => {
console.log('原始clientid:', info.clientid)
console.log('类型:', typeof info.clientid)
console.log('长度:', info.clientid.length)
})

