如何使用Azure Notification Hub向iOS和Android发送静默通知
Azure Notification Hub 静默通知配置说明
能力支持结论
Azure Notification Hub 完全支持静默通知推送能力,可实现仅唤醒应用后台执行逻辑、不在系统通知栏弹出可见提醒的推送效果,全平台(iOS/Android/Windows)推送通道均适配该能力。
Payload调整方案
你当前使用的默认模板会触发可见通知,核心原因是payload中包含notification根节点——只要该节点存在,各平台系统推送服务(PNS)就会自动解析节点内的title、body字段,渲染成系统通知栏展示,无法实现静默效果。
要实现静默推送,对默认payload的调整规则如下:
- 完全删除根节点下的整个
notification配置块,不要保留任何title、body类的系统通知字段 - 所有需要透传给应用的自定义业务参数,全部放在
data节点下 - 针对目标推送平台补充对应静默标识,避免系统拦截或误触发可见通知:
- 面向Android(FCM/国内厂商推送通道):无需额外添加特殊标识,仅保留data节点即可,推送服务会直接将消息透传给应用后台处理,不会弹出通知
- 面向iOS(APNs通道):需要在payload中增加
"content-available": 1的APNs专属标识,且不能携带alert、sound、badge类通知字段,APNs识别到该标识后会将消息静默投递到应用后台
调整后参考示例
通用Android端静默推送payload:
{ "data":{ "property1":"value1", "property2":42, "custom_biz_field":"你需要透传的业务内容" } }
iOS端静默推送payload:
{ "aps": { "content-available": 1 }, "data":{ "property1":"value1", "property2":42, "custom_biz_field":"你需要透传的业务内容" } }
注意事项:静默推送的实际投递效果受设备系统策略限制,若应用被用户强制退出、设备开启省电模式、应用未授予后台运行/后台刷新权限,静默消息可能被系统拦截无法唤醒应用,测试前请先确认目标设备权限配置正常。
内容的提问来源于stack exchange,提问作者Learn AspNet
相关产品推荐
相关产品推荐

