uni-app uni.createPushMessage sound设置为‘none’关闭提醒音无效

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

uni-app uni.createPushMessage sound设置为‘none’关闭提醒音无效

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
uniapp/App
Android Android 12
手机厂商 手机机型 页面类型
华为 荣耀50 vue
HBuilderX 3.98

示例代码:

uni.createPushMessage({
title:'test'
sound:"none",
cover:true,
payload: {},
success: () => {
console.log("自创推送成功")
},
fail: () => {
console.log("自创推送失败")
}
})

操作步骤:

uni.createPushMessage({
title:'test'
sound:"none",
cover:true,
payload: {},
success: () => {
console.log("自创推送成功")
},
fail: () => {
console.log("自创推送失败")
}
})

预期结果:

sound:"none",应该没有提示音了。

实际结果:

sound:"none" 不生效 提示音一直都有

bug描述:

按照uni.createPushMessage官方文档。不论如何设置都无法关闭消息提示音 因为代码中需要持续推送消息,一直叮叮的特别影响体验。


5 回复

大家有没有遇到这样的问题呢 求助!!!!!!!!!!!!!!!!!!!!!!!


i need help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

你好,请问这个问题解决了吗?我也想做一个没有声音的消息推送

同样遇到了这个问题

uni-app 中使用 uni.createPushMessage API 时,如果尝试将 sound 属性设置为 'none' 以关闭提醒音,但发现无效,这可能是由于推送服务的具体实现或者推送消息的格式问题导致的。通常,推送服务的实现细节和平台策略会影响推送消息的行为,包括声音设置。

不过,我们可以尝试几种方法来确保在发送推送消息时尽可能地控制声音设置。以下是一个示例代码,展示了如何使用 uni.createPushMessage 发送推送消息,并尝试设置 sound'none'。同时,也会提供一些额外的注意事项和可能的解决方案。

示例代码

// 假设我们已经在uni-app项目中配置好了推送服务
uni.createPushMessage({
    title: '这是一条推送消息',
    content: '这是消息内容',
    data: {
        key: 'value' // 自定义数据
    },
    // 尝试设置sound为'none'
    ios: {
        sound: 'none' // 对于iOS设备
    },
    android: {
        // Android平台通常没有直接的sound属性设置,但可以通过通知渠道控制
        // 这里假设使用的是自定义通知渠道,且该渠道已经设置为静音
        channelId: 'silent_channel' // 自定义通知渠道ID
    },
    success: function (res) {
        console.log('推送消息发送成功', res);
    },
    fail: function (err) {
        console.error('推送消息发送失败', err);
    }
});

注意事项和解决方案

  1. 平台差异:不同平台(iOS和Android)对推送消息的处理方式不同。iOS通常支持更细粒度的控制,而Android则依赖于通知渠道的设置。

  2. 通知渠道:对于Android,确保你已经创建了一个静音的通知渠道,并在发送推送消息时指定了该渠道的ID。

  3. 服务端配置:推送消息的最终行为可能还受服务端配置的影响。检查你的推送服务提供商(如个推、极光推送等)的文档,看是否有关于声音设置的额外配置。

  4. 客户端权限:确保应用已经获得了必要的权限来发送和接收推送消息,以及控制通知声音。

  5. 测试环境:在测试环境中彻底测试推送消息的行为,以确保在生产环境中能够按预期工作。

如果上述方法仍然无法解决问题,建议查阅 uni-app 和推送服务提供商的官方文档,或者向社区寻求帮助,可能有其他开发者遇到了类似的问题并找到了解决方案。

回到顶部