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)。

可能原因分析:

  1. 数据解析错误:在获取或传输过程中可能出现编码/解码问题
  2. 存储或显示问题:服务器保存或日志显示时可能引入了特殊字符
  3. 个推SDK异常:特定手机厂商或系统版本下的SDK兼容性问题

建议排查步骤:

  1. 在获取clientid后立即输出原始值进行验证:
plus.push.getClientInfoAsync((info) => {
    console.log('原始clientid:', info.clientid)
    console.log('类型:', typeof info.clientid)
    console.log('长度:', info.clientid.length)
})
回到顶部