HarmonyOS鸿蒙Next中应用在后台运行时如何接收来自华为云Push Kit的高优先级通知?

HarmonyOS鸿蒙Next中应用在后台运行时如何接收来自华为云Push Kit的高优先级通知? 即时通讯类 App 需在后台收到消息时立即弹出通知并唤醒进程,但测试发现部分消息延迟高达数分钟,如何接收来自华为云 Push Kit 的高优先级通知?

5 回复

需确保满足以下条件以获得“高优通道”:

  • 在 AGC 控制台开通 Push Kit 高优先级通道(需企业认证);
  • 客户端发送消息时设置 android.priority=HIGH(兼容字段)或 hms.priority=HIGH
  • 用户未在「电池」中限制该 App 的后台活动;
  • App 必须集成最新版 HMS Core Push SDK(≥ 7.0);
  • 华为设备需开启“自启动”和“后台运行”权限。

更多关于HarmonyOS鸿蒙Next中应用在后台运行时如何接收来自华为云Push Kit的高优先级通知?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请问下手机是什么版本啊,HarmonyOS 5.0以上嘛,5.0以上没有高优先级通知,5.0以下高优先级透传消息需要申请权限,申请指导参考文档

权限名称 功能描述 申请条件
高优先级透传消息 透传消息到达用户设备后,直接唤醒应用。 1. 具备VOIP电话功能场景的沟通类、告警类应用。
2. 仅服务于自身企业或政府组织单位内部。
3. 提供包含被服务主体盖章的证明函(无固定模板),证明该App申请此权限仅服务于该主体。

没搞过

在HarmonyOS Next中,应用后台运行时接收华为云Push Kit高优先级通知,需在module.json5中配置ohos.permission.KEEP_BACKGROUND_RUNNING权限。同时,在应用的BackgroundTaskManager中注册后台持续任务,并确保Push Kit服务端推送消息时设置urgency字段为HIGH。系统会根据应用的后台状态和推送优先级决定是否即时唤醒应用进程以处理通知。

在HarmonyOS Next中,应用在后台接收高优先级Push Kit通知并实现即时唤醒,核心在于正确配置后台持续任务Push Kit的高优先级通道。以下是关键步骤:

  1. 配置后台持续任务权限
    module.json5中声明ohos.permission.KEEP_BACKGROUND_RUNNING权限,并配置continuousTaskModedataTransferlocation等类型,确保应用在后台可被Push事件唤醒。

  2. 启用Push Kit高优先级通知
    在华为云控制台创建Push任务时,选择高优先级通道(需申请特殊权限)。同时,在客户端初始化Push Kit时调用setUrgentPush(true)方法,确保消息触发即时系统唤醒。

  3. 绑定后台任务与Push服务
    在应用主Ability的onCreate()中,通过backgroundTaskManager.startBackgroundRunning()绑定后台任务,并在Push回调中调用triggerWakeUp()唤醒进程。示例代码:

    import backgroundTaskManager from '[@ohos](/user/ohos).resourceschedule.backgroundTaskManager';
    import urgentPush from '[@ohos](/user/ohos).push';
    
    // 启动后台持续任务
    backgroundTaskManager.startBackgroundRunning(context, backgroundTaskManager.BackgroundMode.DATA_TRANSFER);
    
    // 配置Push高优先级监听
    urgentPush.on('pushUrgentMessage', (msg) => {
      // 立即触发通知并唤醒进程
      showNotification(msg);
      backgroundTaskManager.triggerWakeUp();
    });
    
  4. 优化通知栏显示延迟
    onPushMessage()回调中直接调用NotificationManager.publish()发布通知,避免业务逻辑阻塞。高优先级消息建议设置deliveryTime: 0(即时投递)和notificationPriority: HIGH

  5. 注意事项

    • 高优先级通道有每日限额,需在华为云控制台提交配额申请。
    • 确保设备未开启省电模式或强制限制后台活动。
    • 若需离线消息保活,可结合WorkScheduler设置周期性拉取任务作为备用方案。

通过以上配置,Push Kit高优先级消息可基本实现秒级通知到达。若仍存在延迟,请检查设备网络状态及系统资源占用情况。

回到顶部