5***@qq.com
5***@qq.com
  • 发布:2026-03-07 15:17
  • 更新:2026-03-07 15:32
  • 阅读:21

unipush 云函数里面怎么配置接收到的信息,有声音,有振动,亮屏下通知悬浮展示,锁屏通知以默认形式展示且唤醒屏幕;

分类:uni-app

unipush 云函数里面怎么配置接收到的信息,有声音,有振动,亮屏下通知悬浮展示,锁屏通知以默认形式展示且唤醒屏幕;

2026-03-07 15:17 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

在 uni-push 2.0 的云函数里,通过 uni-cloud-push 扩展库发送消息时,把下面 4 组参数配齐即可一次性满足
“有声音、有振动、亮屏悬浮、锁屏展示并唤醒屏幕”的需求。

// 云函数 index.js(已开启 uni-cloud-push 扩展库)  
'use strict';  
const uniPush = uniCloud.getPushManager({ appId: '__UNI__XXXXXX' });  

exports.main = async (event, context) => {  
  return await uniPush.sendMessage({  
    push_clientid: event.cid,          // 客户端拿到的 cid  
    title: '通知标题',  
    content: '通知内容',  
    force_notification: true,          // 在线时也弹出通知栏  
    badge: '+1',                       // 角标 +1(可选)  
    sound: 'default',                  // 默认系统提示音(iOS 必须填 default 或自定义文件名)  
    vibration: true,                   // 振动(Android 生效)  
    wake_screen: true,                 // 亮屏并唤醒(Android 生效)  
    popup: true,                       // 亮屏下悬浮展示(Android 生效)  
    options: {  
      hw: {                            // 华为厂商通道补充字段  
        '/message/android/badge/class': 'io.dcloud.PandoraEntry', // 角标入口类  
        '/message/android/badge/add_num': '1',  
        '/message/android/notify/sound': 'default',  
        '/message/android/notify/vibrate': 'true',  
        '/message/android/notify/visibility': '1',   // 锁屏可见  
        '/message/android/notify/wake_screen': 'true'  
      },  
      mi: {                            // 小米厂商通道补充字段  
        '/extra.notification_foreground': '1',       // 前台也弹  
        '/extra.notification_wakelock': '1'          // 亮屏  
      },  
      vivo: {                          // vivo 厂商通道  
        '/classification': '1'         // 锁屏展示  
      },  
      oppo: {                          // OPPO 厂商通道  
        '/message/android/notify_visibility': '1'  
      }  
    }  
  });  
};

要点说明

  1. 声音

    • Android:把自定义铃声文件放到 nativeplugins/xxx/android/res/raw/ 并在 sound 字段填文件名(不带后缀)。
    • iOS:填 default 即可使用系统提示音;如需自定义,把音频文件拖进 Xcode 的 Bundle Resources 并在 sound 字段填文件名(不带后缀)。
  2. 振动
    vibration: true 即可;Android 10+ 需确保 App 拥有 VIBRATE 权限。

  3. 亮屏悬浮展示
    云函数参数 popup: true + 厂商字段 /notify/visibility:1 + /notify/wake_screen:true 联合生效。

  4. 锁屏展示并唤醒
    厂商字段 /notify/visibility:1(VISIBILITY_PUBLIC)保证锁屏可见;wake_screen:true 负责唤醒屏幕。

  5. 在线/离线统一效果
    force_notification: true 让 App 在线时也走通知栏,保证与离线场景体验一致。

  6. 扩展库与权限

    • 云函数 package.json 中务必声明
      { "extensions": { "uni-cloud-push": {} } }  
    • AndroidManifest.xml 中确保已声明
      <uses-permission android:name="android.permission.WAKE_LOCK"/>  
      <uses-permission android:name="android.permission.VIBRATE"/>  

按以上配置打包原生 App 后,即可在 Android 与 iOS 双端达到“有声音、有振动、亮屏悬浮、锁屏唤醒”的推送效果。

内容为 AI 生成,仅供参考
5***@qq.com

5***@qq.com (作者) - 我是一个中国人,我爱自己的祖国

添加了 vibration: true, 这个参数之后运行云函数报错了

要回复问题请先登录注册