HbuilderX 4.42 华为手机无法监听uni-push 1.0消息推送 uni-app

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

HbuilderX 4.42 华为手机无法监听uni-push 1.0消息推送 uni-app

产品分类

uniapp/App

开发环境信息

信息
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 13.7.1
HBuilderX类型 Alpha
HBuilderX版本号 4.42
手机系统 Android
手机系统版本号 Android 10
手机厂商 华为
手机机型 TAS-AN00
页面类型 vue
vue版本 vue2
打包方式 离线
项目创建方式 HBuilderX

示例代码

onLaunch: function() {  
   uni.onPushMessage((res) => {  
    console.log("收到推送消息:", res); //监听推送消息  
    uni.showModal({  
        title: "收到推送消息",  
        content: JSON.stringify(res)  
    });  
   });  
}

操作步骤

个推后台选择透传消息:

  • 描述:描述内容
  • 透传: {"a":"b"}

预期结果

app监听到推送消息,弹窗提示消息内容。

实际结果

app未弹窗提示。

bug描述

在Dcloud管理后台中测试透传消息推送,华为手机无法监听消息事件:

  1. 在线消息:后台推送成功,app未触发uni.onPushMessage
  2. 离线消息:后台推送成功,app有通知提示,点击通知打开app,但app未触发uni.onPushMessage

安卓intent配置:

intent://io.dcloud.unipush/?#Intent;scheme=unipush;launchFlags=0x4000000;component=com.hx.mall/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=12121212;S.content=12121212;S.payload=dfasdfs;end

测试小米、oppo、vivo都可以正常监听。通过Androd Studio调试,在线推送时能看到应用接收到消息,但未触发uni.onPushMessage

图片


2 回复

隔了几天,华为手机在线推送莫名其妙正常了, 华为离线推送还是点击后可以打开app,但触发不了click事件


针对你提到的在HBuilderX 4.42中使用uni-app开发时,华为手机无法监听uni-push 1.0消息推送的问题,这里提供一些可能的解决方案和相关的代码案例。请注意,由于这涉及到具体的设备和推送服务,实际的效果可能会因设备型号、系统版本、网络环境等因素有所不同。

首先,确保你的uni-app项目已经正确配置了uni-push。这通常包括在manifest.json文件中添加推送相关的配置,以及确保你已经在DCloud开发者后台申请并配置了推送服务。

以下是一个基本的配置示例:

{
  "mp-weixin": { // 其他平台的配置...
  },
  "app-plus": {
    "distribute": {
      "sdkConfigs": {
        "uniPush": {
          "CLIENTID": "你的客户端ID", // 从DCloud后台获取
          "APPSECRET": "你的应用密钥"  // 从DCloud后台获取
        }
      }
    }
  }
}

接下来,确保你的代码中已经正确监听了推送消息。在uni-app中,你可以使用uni.onMessage方法来监听推送消息。以下是一个简单的监听示例:

// 在App.vue的onLaunch或onShow方法中添加监听
export default {
  onLaunch() {
    // 监听推送消息
    uni.onMessage(function(res) {
      if (res.type === 'push') {
        console.log('收到推送消息:', res.data);
        // 在这里处理推送消息,比如显示通知等
      }
    });
  },
  // 其他代码...
}

如果你已经按照上述步骤进行了配置,但仍然无法在华为手机上监听到uni-push消息,可以尝试以下一些额外的检查和调整:

  1. 检查华为手机的推送权限:确保你的应用已经获得了华为手机的推送权限。在某些情况下,用户可能需要在系统设置中手动开启应用的推送权限。

  2. 检查网络连接:推送服务依赖于网络连接。确保你的华为手机在尝试接收推送消息时处于联网状态。

  3. 更新HBuilderX和uni-app:虽然你提到的是HBuilderX 4.42,但建议检查是否有可用的更新。同时,确保你的uni-app框架也是最新版本。

  4. 查看日志和错误信息:使用HBuilderX的日志功能或华为手机的开发者选项来查看是否有相关的错误信息。

如果上述步骤仍然无法解决问题,建议联系DCloud的官方支持或查看相关的开发者社区和论坛以获取更多的帮助。

回到顶部