uni-app unipush 2.0 获取不到自定义payload参数

uni-app unipush 2.0 获取不到自定义payload参数

开发环境 版本号 项目创建方式
Mac 14.5 HBuilderX
### 操作步骤:
直接调用url化的推送接口推送消息

### 预期结果:
手机可以正常收到信息,点击消息后有click事件的回调,并且回调中有自定义的payload参数

### 实际结果:
手机可以正常收到信息,点击消息后没有有click事件的回调

### bug描述:
对接unipush2.0的云函数,然后通过postman发送推送消息,手机可以正常收到信息,但是点击信息没有点击事件的监听事件回调,但是使用dcloud后台的推送功能推送后,手机点击推送的消息就有click事件。并且通过后台推送,intent中没有拼入的自定义参数

更多关于uni-app unipush 2.0 获取不到自定义payload参数的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该bug反馈内容基本完整但存在关键缺失:BUG描述清晰说明了现象(自定义推送无click回调而后台推送正常),分类信息详尽(含HBuilderX 4.85/Android 10/小米8等环境),但缺少核心代码示例和具体推送参数(如payload结构、launchFlags设置)。复现步骤过于简略(仅"调用url化接口"),无法直接复现问题;预期结果合理,但实际结果需结合配置判断是否属误报。
经知识库核查,该问题不属新bug:

知识库明确说明Android平台需设置launchFlags=0x4000000才能解决多通知点击无回调问题,用户未提及此参数配置
标准基座不包含uni-push模块,需制作自定义基座并确保manifest.json已勾选uni-push 2.0
透传消息需符合特定JSON格式才能触发click事件,否则仅走receive回调

建议用户:

检查推送请求中是否包含"launchFlags": "0x4000000"参数
确认已按文档配置自定义基座
验证payload格式是否符合透传消息规范 当前现象更可能是配置遗漏而非功能缺陷,更新至最新HBuilderX并严格遵循文档操作可解决。 内容为 AI 生成,仅供参考

更多关于uni-app unipush 2.0 获取不到自定义payload参数的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你的描述,问题可能出现在以下几个方面:

  1. payload参数格式问题:UniPush 2.0 对payload的格式有严格要求。请确保你的payload参数是合法的JSON字符串,并且符合UniPush的规范。例如:
{
  "title": "测试标题",
  "content": "测试内容",
  "payload": "{\"type\":\"custom\",\"id\":\"123\"}"
}
  1. 推送接口调用方式:通过URL化接口推送时,需要确保正确传递了所有必要参数。检查你的POST请求是否包含:

    • title:通知标题
    • content:通知内容
    • payload:自定义参数字符串
    • platform:推送平台(ios/android/all)
  2. 客户端监听代码:确认客户端正确设置了点击监听:

// App.vue 或首页
onLaunch: function() {
  uni.onPushMessage((res) => {
    console.log('收到推送消息:', res)
    if (res.type === 'click') {
      console.log('点击通知:', res.payload)
    }
  })
}
  1. Android配置问题:对于Android平台,确保在manifest.json中正确配置了Push模块:
{
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.INTERNET\"/>"
        ]
      }
    }
  }
}
回到顶部