uni-app uniPush2推送消息IOS可以接收但无通知

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

uni-app uniPush2推送消息IOS可以接收但无通知

示例代码:

uni.getPushClientId({
success: (res) => {
let push_clientid = res.cid
console.log('客户端推送标识:',push_clientid)
},
fail(err) {
console.log(err)
}
})
uni.onPushMessage((res) => {
console.log("收到推送消息:",res) //监听推送消息
})

操作步骤:

  • 推送通知

预期结果:

  • 有推送消息的打印的日志,同时手机发出提示音,通知栏有显示有推送的消息

实际结果:

  • 仅有推送消息的打印的日志,手机无提示音,通知栏无消息

bug描述:

  • uniPush2配置没有问题,苹果手机也收到通知了,但是没有提示音,通知栏也没有推送的通知

| 信息类别         | 信息内容       |
|------------------|----------------|
| 产品分类         | uniapp/App     |
| PC开发环境       | Windows        |
| PC开发环境版本   | Win10          |
| HBuilderX类型    | 正式           |
| HBuilderX版本    | 3.95           |
| 手机系统         | iOS            |
| 手机系统版本     | iOS 16         |
| 手机厂商         | 苹果           |
| 手机机型         | IPhone11       |
| 页面类型         | vue            |
| vue版本          | vue2           |
| 打包方式         | 云端           |
| 项目创建方式     | HBuilderX      |

3 回复

push 包括通知栏消息和透传消息,详情:https://uniapp.dcloud.net.cn/unipush-v2.html#名词解释

你期望的效果在服务端执行推送时,传递参数force_notification:true即可


好的,感谢

在使用 uni-app 的 uniPush2 进行消息推送时,如果 iOS 设备可以接收到消息但没有显示通知,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:

1. 检查推送证书配置

  • 证书类型:确保你使用的是正确的推送证书。iOS 推送证书分为开发环境(Development)和生产环境(Production)两种,确保你使用的证书与当前环境匹配。
  • 证书上传:在 uniPush2 后台,确保你已经正确上传了 APNs 证书,并且证书没有过期。

2. 检查推送消息的 payload

  • 通知类型:确保推送消息的 payload 中包含了 aps 字段,并且 aps 字段中包含了 alert 字段。例如:
    {
      "aps": {
        "alert": {
          "title": "标题",
          "body": "内容"
        },
        "sound": "default"
      }
    }
  • 静默推送:如果 aps 字段中没有 alert 字段,消息会被视为静默推送,不会显示通知。确保你发送的是普通通知而不是静默推送。

3. 检查 App 的通知权限

  • 权限设置:确保用户已经授予了 App 的通知权限。你可以在 App 中检查并请求通知权限:
    uni.authorize({
      scope: 'scope.notification',
      success() {
        console.log('通知权限已授权');
      },
      fail() {
        console.log('通知权限未授权');
      }
    });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!