uni-app 华为荣耀50无法获取oaid
uni-app 华为荣耀50无法获取oaid
示例代码:
plus.device.getOAID({ success: (e) => { console.log(e) }, fail: (e) => { console.log(e) } })
## 操作步骤:
华为荣耀50,`plus.device.getOAID`进入了fail,无法获取oaid
## 预期结果:
华为荣耀50,获取到oaid
## 实际结果:
进入fail,输出结果
{ “code”: 401, “message”: “not support” }
## bug描述:
华为荣耀50,`plus.device.getOAID`进入了fail,无法获取oaid
更多关于uni-app 华为荣耀50无法获取oaid的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个需要升级oaid sdk,看起来官方不愿意升级。群里反馈爱答不理的。你就慢慢等吧
更多关于uni-app 华为荣耀50无法获取oaid的实战教程也可以访问 https://www.itying.com/category-93-b0.html
什么时候能解决?
在华为荣耀50上出现plus.device.getOAID返回{code: 401, message: "not support"},通常是由于设备系统或硬件限制导致OAID功能不可用。以下是可能的原因和解决方案:
-
系统版本限制:部分华为/荣耀设备在特定系统版本(如基于Android 10的Magic UI 4.0及以上)中可能对OAID获取有更严格的权限控制。请检查设备系统是否为最新版本,并尝试升级系统。
-
设备未开启广告标识符:进入设备的设置 > 华为帐号 > 隐私中心 > 广告与隐私,确保“限制广告跟踪”选项未开启(若开启则OAID可能被禁用)。部分机型路径可能略有差异。
-
HMS Core版本问题:OAID依赖华为HMS Core服务。请到华为应用市场更新HMS Core至最新版本(建议不低于5.0.0)。
-
uni-app原生模块兼容性:
- 确认项目使用的是最新版HBuilderX(3.6+)和uni-app原生模块。
- 在
manifest.json中检查是否已正确配置OAID模块(App模块权限需勾选“OAID”)。
-
备用方案:若上述方法无效,可尝试以下代码适配,通过
plus.runtime.OS判断系统并降级使用其他设备标识:if (plus.os.name === 'Android') { // 尝试获取OAID,失败时使用其他标识 plus.device.getOAID({ success: (e) => console.log('OAID:', e), fail: (e) => { console.log('OAID获取失败,使用IMEI备用方案'); // 降级获取IMEI(需android.permission.READ_PHONE_STATE权限) plus.device.getInfo({ success: (info) => console.log('IMEI:', info.imei) }); } }); }

