uni-app uni.createPushMessage 关闭提示音无效
uni-app uni.createPushMessage 关闭提示音无效
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win10 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.99 |
手机系统 | 全部 |
手机系统版本号 | Android 14 |
手机厂商 | 华为 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
测试过的手机:
荣 耀50
操作步骤:
```javascript
uni.createPushMessage({
"when": new Date(),
title: title + '(' + type + ')',
sound: "none",
cover: true,
icon: '../../static/system/xiaoxi.png',
// delay:1,
content: content,
payload: {},
success: () => {
console.log("自创推送成功")
},
fail: () => {
console.log("自创推送失败")
}
})
预期结果:
没有提示音
实际结果:
还是有提示音
bug描述:
```javascript
uni.createPushMessage({
"when": new Date(),
title: title + '(' + type + ')',
sound: "none",
cover: true,
icon: '../../static/system/xiaoxi.png',
// delay:1,
content: content,
payload: {},
success: () => {
console.log("自创推送成功")
},
fail: () => {
console.log("自创推送失败")
}
})
sound: "none"
不起作用啊 按照官方操作文档设置的。还是有提示音 一直推送消息这个声音很影响用户体验
6 回复
滴滴 这个问题还是没有处理吗?很明显的一个bug
比如计时每秒推送 那就会一直有提示音 无法关闭 特别吵
你好,请问这个问题解决了吗?我也想做一个没有声音的消息推送
才看到 不给解决么 这就是个bug 但是可能优先级没那么高。这个只能官方来处理了。没有解决。我把提示音关了。
回复 2***@qq.com: 请问有找到解决的方法吗
同样遇到这个问题,请问官方有修复计划吗
在 uni-app
中使用 uni.createPushMessage
来创建推送消息时,确实可能会遇到关闭提示音无效的问题。这通常是因为推送服务的配置或者消息本身的属性设置不正确。下面是一个基本的代码示例,展示如何配置推送消息,并尝试禁用提示音。请注意,实际效果可能受到推送服务提供商(如个推、极光推送等)的限制和支持情况的影响。
首先,确保你已经正确集成了推送服务,并且已经获取了相关的权限和配置。以下是一个简化的代码示例,用于发送一条不带提示音的推送消息:
// 假设你已经通过uni-app的manifest.json配置了推送服务的相关信息
// 创建一个推送消息对象
const pushMessage = uni.createPushMessage({
title: '这是一条测试消息',
content: '测试内容,无提示音',
data: { // 自定义数据,可以在App端接收时处理
key1: 'value1',
key2: 'value2'
},
android: {
// 针对Android平台的特定配置
sound: 'null', // 尝试设置为null或空字符串来禁用提示音,具体支持情况需参考推送服务提供商的文档
importance: 'LOW', // 设置消息的重要性,LOW级别可能不会显示通知但会出现在通知栏历史中
// 其他Android平台特有的配置...
},
ios: {
// 针对iOS平台的特定配置
sound: false, // iOS上通常通过设置为false来禁用声音
// 其他iOS平台特有的配置...
}
});
// 发送推送消息(注意:这里的发送逻辑通常是服务器端完成的,客户端调用此API主要是为了展示如何配置消息)
// 实际发送时,你可能需要将配置发送到你的服务器,由服务器通过推送服务发送消息给指定的用户或设备
pushMessage.send().then(response => {
console.log('推送消息发送成功', response);
}).catch(error => {
console.error('推送消息发送失败', error);
});
注意事项:
- 上述代码中的
sound
属性设置为null
或false
是为了尝试禁用提示音,但实际效果依赖于推送服务提供商的实现。 uni.createPushMessage
通常在服务器端调用,因为推送消息需要针对特定的用户或设备发送。客户端代码主要用于展示如何配置消息。- 如果推送服务提供商不支持禁用提示音,那么无论如何配置,提示音都可能会被播放。
- 请参考你所使用的推送服务提供商的官方文档,以获取最准确和最新的配置信息。