写点什么

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(13)

作者:HarmonyOS SDK
  • 2025-06-27
    贵州
  • 本文字数:1703 字

    阅读完需:约 6 分钟

1.问题描述:


推送通知里的 skills 标签有什么用?不填写似乎不影响推送,以及推送的点击跳转操作


解决方案:


鸿蒙系统的推送通知中的 skills 标签主要用于指定接收推送的应用程序所支持的能力(Skill),也就是应用程序可以处理特定类型或内容的通知。如果你的技能列表为空,系统会默认推送给所有安装了该服务的应用,但这并不意味着你失去了定制推送的能力。


当用户点击推送通知时,如果没有明确的 skills 标签指向某个具体的处理函数,系统可能会按照预设的行为或者最通用的方式进行处理,例如打开应用的主界面。然而,如果包含了相关的技能标识,那么点击后通常会被定向到对应的功能模块,比如特定的任务列表、消息详情页等。


所以,虽然不填写 skills 可能不会立即影响基本的推送功能,但它提供了一种精细控制用户体验的手段,可以根据应用的实际需求来优化通知的响应流程。如果不希望过多地定制跳转路径,可以考虑保持此字段为空,但如果有特定的业务场景需要关联特定的操作,则应当填写相应的技能 ID。


官网文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/push-send-alert-V13#section1792616175914


2.问题描述:


华为 V3 Push 推送华为手机,上线把 testMessage 从 false 改为 true,收不到推送


解决方案:


推送 testMessage 是测试消息标识,true 表示测试消息,开发时需要设置为 true,正式上架时需要改为 false,频控规则:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-alert-V5#section1927341155110


3.问题描述:


使用 push 的通知类型虽应用进程不在时,能收到通知;但应用进程在时,无法获取消息内容, 因而无法满足在前台弹弹窗的述求。使用后台消息类型的 push 应用进程不在时,无法获取消息,也不满足需求,目前看扩展消息类型满足,但是当前好像只对订单开放


解决方案:


https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-apply-right-V5#section159981112245


如上述链接中的文档说明:当前申请推送通知扩展消息存在以下限制:


该场景化消息仅为有商家新订单提醒、商家收款场景的应用开放。


如果应用符合以上限制便可申请通知扩展消息。


如果应用是要发送其他消息则不能申请通知扩展消息。可以参考下述方式结合使用


发送通知栏消息:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-alert-V5


发送后台消息:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-background-V5


4.问题描述:


应用后台在凌晨一点左右已经发了 push 到鸿蒙 push 后台,为什么鸿蒙的设备在早上 6 点才收到推送?


解决方案:


可能原因:消息夜间被管控了。例如:为防止夜间打扰用户,某些应用会在凌晨(0 到 6 点)熄屏 30 分钟后管控消息下发,管控期间的发送消息会被缓存。


系统自带的电子邮件应用能收到消息是因为电子邮件应用没有自己的邮箱服务器,无法主动发送 push 消息,只能使用时效性低的延时任务来定时拉取邮件,而定时任务是没有夜间防打扰机制。


延时任务可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/work-scheduler-V5


5.问题描述:


push kit 如何设置消息通知免打扰模式(无声音、无震动)?


解决方案:


参考下论坛链接:https://developer.huawei.com/consumer/cn/forum/topic/0204172769674841256?fid=0109140870620153026


6.问题描述:


在手机的通知中心可以只能查看到最新的推送消息,请问这是鸿蒙的机制问题还是有其他配置项?


解决方案:


在 Push Kit 的设计中,对于同一消息 ID(appMessageId),只会展示最新的一条消息,而之前的同消息 ID 的消息会被覆盖。


在 Push Kit 中,appMessageId 是应用消息的唯一标识。当通过多个渠道(如 Push Kit、近场通讯、应用自己拉取或发送本地通知)触达同一消息 ID 时,目标终端只展示有效期内最早的一条。这里的有效期默认为 24 小时。这意味着如果同一个消息 ID 在 24 小时内多次推送,用户在通知中心看到的将是最后一次推送的内容。


这种机制是为了避免重复的消息展示,确保用户不会因为重复的通知而感到困扰。如果需要在通知中心展示所有消息,您可以为每条消息分配唯一的 appMessageId,这样每条消息就不会被后续的消息覆盖。

用户头像

HarmonyOS SDK

关注

HarmonyOS SDK 2022-06-16 加入

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙应用,和开发者共同成长。

评论

发布
暂无评论
【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(13)_harmoyos_HarmonyOS SDK_InfoQ写作社区