uni-app 云打包获取oaid报错 {"code":401,"message":"not support"}

发布于 1周前 作者 eggper 来自 Uni-App

uni-app 云打包获取oaid报错 {“code”:401,“message”:“not support”}

示例代码:

plus.device.getOAID({
    success:(e)=>{
        this.getOAID = JSON.stringify(e);
        console.log('getOAID success: '+JSON.stringify(e));
    },
    fail:function(e){
        console.log('getOAID failed: '+JSON.stringify(e));
    }
});

操作步骤:

打开登录页面下方有打印,还可以点击登录页面新增设备,账号密码随便输入,提示如果提示唯一id获取失败就是没获取到oaid。

预期结果:

可以获取出来oaid。

实际结果:

获取不出来oaid。

bug描述:

荣耀畅玩20获取oaid报错

{"code":401,"message":"not support"}

小米12 获取oaid不报错但是值为空。

开发环境信息

项目创建方式 PC开发环境操作系统 PC开发环境操作系统版本号 HBuilderX类型 HBuilderX版本号 手机系统 手机系统版本号 手机厂商 手机机型 页面类型 vue版本 打包方式
HBuilderX Windows 11 正式 3.8.4 Android Android 10 华为 荣耀畅玩20 vue vue2 云端

2 回复

你好,我也遇到这个问题了,请问下你后来怎么解决的


针对您提到的uni-app云打包获取OAID(Open Anonymous Device Identifier,开放匿名设备标识符)时报错{"code":401,"message":"not support"}的问题,这通常意味着您的请求没有通过权限验证,或者您使用的服务/平台不支持该操作。OAID主要用于广告追踪等需要匿名标识用户设备的场景,而不同的平台(如Android、iOS)以及不同的服务提供方(如DCloud、手机厂商等)对OAID的支持和获取方式可能有所不同。

以下是一个基本的思路和一些可能的代码示例,但请注意,由于具体实现依赖于您的环境和平台支持,这些代码可能需要根据实际情况进行调整。

1. 确认平台支持

首先,确保您的应用运行在一个支持OAID获取的平台上。OAID主要在Android平台上使用,且通常由设备厂商提供API来获取。

2. 检查权限配置

确保您的应用已正确配置权限以访问设备信息。在Android中,这通常涉及到在AndroidManifest.xml中声明必要的权限。

3. 使用第三方库或SDK

由于直接获取OAID可能比较复杂,很多开发者会选择使用第三方库或SDK,如华为、小米等手机厂商提供的SDK,这些SDK通常封装了获取OAID的逻辑。

示例代码(假设使用某厂商SDK)

以下是一个简化的示例,展示了如何在Android平台上使用某厂商提供的SDK来获取OAID(注意,这里的SDK和API是假设的,具体实现需参考实际SDK文档):

// 假设有一个名为OaidManager的类提供了获取OAID的方法
OaidManager oaidManager = new OaidManager(context);

oaidManager.getOaid(new OaidManager.Callback() {
    @Override
    public void onSuccess(String oaid) {
        // 成功获取OAID
        Log.d("OAID", "OAID: " + oaid);
    }

    @Override
    public void onFail(int errorCode, String errorMessage) {
        // 获取失败
        Log.e("OAID", "Error: " + errorCode + " - " + errorMessage);
    }
});

4. 注意事项

  • 确保您已经集成了正确的SDK,并且SDK版本与您的应用兼容。
  • 检查是否有任何网络或配置问题导致权限验证失败。
  • 如果您是在uni-app的云打包环境中遇到此问题,可能还需要检查DCloud的官方文档或社区,看看是否有关于OAID获取的特定指导或限制。

由于OAID的获取涉及具体平台和服务,上述代码仅为示例,具体实现需根据实际情况调整。

回到顶部