uni-app自定义基座拿不到ClientId

uni-app自定义基座拿不到ClientId

测试过的手机:

华为pura70 HarmonyOS 4.2.0

操作步骤:

onLaunch: function(options) {
    var info = plus.push.getClientInfo();
    console.log('个人cid', info);
}

预期结果:

{
    "id": "unipush",
    "token": "xxxx",
    "clientid": "xxxx",
    "appid": "xxxx",
    "appkey": "xxxx"
}

实际结果:

{
    "id": "unipush",
    "token": "null",
    "clientid": "null",
    "appid": "null",
    "appkey": "null"
}

bug描述:

unipush已经配置好了,但是自定义基座始终拿不到clientid

var info = plus.push.getClientInfo();
console.log('个人cid', info);

Image Image Image


更多关于uni-app自定义基座拿不到ClientId的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

咋解决的?

更多关于uni-app自定义基座拿不到ClientId的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni-app 开发时,如果你在自定义基座中无法获取到 ClientId,可能是由于以下几个原因导致的。以下是一些排查和解决方法:


1. 检查自定义基座是否正确生成

  • 确保你生成的自定义基座是基于最新的代码和配置。
  • 使用 HBuilderX 生成自定义基座时,确保选择了正确的配置(如是否开启 push 模块等)。
  • 生成自定义基座后,重新运行项目并确保使用的是自定义基座,而不是默认的基座。

2. 检查 ClientId 的获取时机

  • ClientId 是在设备注册推送服务后生成的,可能需要一定时间才能获取到。
  • 确保在获取 ClientId 之前,设备已经成功注册了推送服务。可以使用以下代码检查推送服务是否已注册:
    plus.push.getClientInfo((info) => {
        console.log('推送服务信息:', info);
    });
    

3. 确保 push 模块已正确配置

  • manifest.json 中,确保已经正确配置了 push 模块。例如:
    {
        "app-plus": {
            "distribute": {
                "plugins": {
                    "push": {
                        "type": "unipush" // 或其他推送类型
                    }
                }
            }
        }
    }
    
  • 如果不确定配置是否正确,可以参考 uni-app 官方文档关于推送模块的配置。

4. 检查权限和网络

  • 确保应用已经获取了必要的权限(如通知权限)。
  • 确保设备网络正常,推送服务需要联网才能注册成功。

5. 调试获取 ClientId 的代码

  • 使用以下代码获取 ClientId 并打印日志:
    plus.push.getClientInfo((info) => {
        console.log('ClientId:', info.clientid);
    });
回到顶部