重要通知高到达率最佳实践
最近更新:2026-07-28
展开全部
重要通知高到达率最佳实践
重要通知通常指与用户强相关、时效性较高、需要尽量可靠触达的通知,例如订单状态、物流进度、交易提醒、账号安全、系统告警、服务变更等。与普通运营通知相比,重要通知更关注“及时、准确、少打扰、可追踪”。
提升重要通知到达率不能只依赖单个参数,建议从客户端集成、消息分类、下发策略、离线保留、补充通道和结果追踪几个环节一起设计。
推荐链路
- 客户端完成极光通道和厂商通道集成,并确认厂商通道 token 正常回调。
- 按厂商规则申请并配置消息分类,例如系统消息、服务与通讯类消息、私信消息等。
- 服务端发送时明确设置通知类型、厂商分类字段、下发策略和离线保留时间。
- 对强到达业务配置短信补充,推送未及时到达时使用短信兜底。
- 接入回执和统计,按送达、未送达、点击、厂商通道请求成功等指标持续优化。
场景判断
| 场景 | 推荐策略 |
|---|---|
| 订单、物流、交易、账号安全等强相关通知 | 按系统消息/服务类消息申请厂商分类,优先厂商通道,保留合理离线时长,必要时配置短信补充 |
| 排队、进度、状态持续更新 | 使用消息覆盖减少历史消息干扰,只保留最新状态 |
| 过期、误发或不应继续展示的通知 | 使用消息撤回,并在业务落地页做状态校验 |
| App 长连接不在线但自定义消息仍需提醒用户 | 使用自定义消息转厂商通知能力,将重要自定义消息转为厂商通知触达 |
| 大规模运营通知 | 不建议占用重要消息分类;应使用运营消息策略、频控和分群,避免影响重要通知资源 |
客户端集成检查
重要通知高到达的前提是客户端通道可用。
Android
- 集成极光 Android SDK,并按需集成小米、华为、荣耀、OPPO、vivo、魅族、FCM、华硕、鸿蒙等厂商通道。
- 确认厂商参数配置正确,并通过日志或回调确认厂商 token 正常获取。
- 如果使用厂商通道消息分类、通知渠道、角标、自定义铃声等能力,需要提前在客户端创建对应 channel 或完成厂商侧配置。
- 如果 App 需要在前台展示通知、处理点击跳转、接收命令回调,应在客户端完成对应回调和跳转逻辑。
iOS
- 确认证书或 Token Authentication 配置正确,并区分生产环境和开发环境。
- 服务端发送 iOS 通知时,通过
options.apns_production指定 APNs 环境;不指定时默认为生产环境。 - 如果需要统计 APNs 消息展示,应按 iOS 文档接入 Service Extension 和展示统计接口。
- 如果同一业务事件持续更新,可使用
options.apns_collapse_id更新通知中心内相同标识的通知。
HarmonyOS
- 集成 HarmonyOS SDK,并完成包名、AppKey、权限、厂商参数等配置。
- 如果使用通知下发策略,
options.third_party_channel.hmos.distribution可用于配置鸿蒙平台通知消息和自定义消息的下发策略。
消息分类与厂商配额
厂商通道会根据消息内容和应用类型对通知进行分类管理。重要通知应尽量按厂商规则申请并使用对应的重要消息类型,避免被归为运营消息后受到频控或数量限制。
推荐做法
- 服务、交易、订单、物流、账号安全等强相关消息,按厂商要求申请系统消息、服务与通讯类消息、私信消息等能力。
- API 下发时优先设置
options.classification,其中1表示系统消息,0表示运营消息。 - 华为、荣耀、小米、OPPO、vivo 等厂商还可能需要配置
channel_id、importance、category、notify_level、模板 ID 等厂商字段,应以各厂商文档和极光厂商消息分类指南为准。 - 不要把营销、活动、内容推荐类消息伪装成系统消息,否则可能导致厂商审核、限额或通道稳定性问题。
关键提醒
- 厂商配额和 QPS 限制无法绕过,即使是 VIP 用户也需要遵守厂商规则。
- 当厂商配额不足时,部分策略会切换到极光通道尽可能触达;如果强制使用厂商通道且配额不足,可能返回厂商配额不足错误。
- 运营消息应使用单用户频控、分群和运营消息策略,避免挤占重要通知资源。
下发策略配置
Android 厂商通道是系统通道,设备离线时也可以收到推送;极光通道依赖长连接,适合在线设备触达。重要通知建议根据业务优先级选择合适策略。
推荐策略
- 默认推荐:使用
secondary_push,优先走极光通道,极光不在线时再走厂商通道。 - 对离线到达率要求更高的 VIP 场景:可按业务选择
first_ospush,成功注册厂商通道的设备优先走厂商通道。 - 对必须走厂商通道的特殊能力:可使用
ospush,但需要确认对应厂商配额充足,否则可能导致推送失败。 - FCM + 国内厂商组合设备,可结合
distribution_fcm选择fcm、pns、secondary_fcm_push或secondary_pns_push。 - HarmonyOS 平台可通过
hmos.distribution配置下发策略。
API 示例
{
"platform": "android",
"audience": {
"registration_id": ["1104a89792xxxxxx"]
},
"notification": {
"android": {
"alert": "您的订单正在配送中",
"title": "订单状态更新",
"channel_id": "order_status"
}
},
"options": {
"classification": 1,
"time_to_live": 86400,
"third_party_channel": {
"xiaomi": {
"distribution": "secondary_push",
"channel_id": "your_xiaomi_channel_id"
},
"huawei": {
"distribution": "secondary_push",
"importance": "NORMAL",
"category": "TRAVEL"
},
"honor": {
"distribution": "secondary_push",
"importance": "NORMAL"
},
"oppo": {
"distribution": "secondary_push",
"channel_id": "your_oppo_channel_id"
},
"vivo": {
"distribution": "secondary_push",
"classification": 1,
"category": "TODO"
},
"hmos": {
"distribution": "secondary_push"
}
}
}
}
{
"platform": "android",
"audience": {
"registration_id": ["1104a89792xxxxxx"]
},
"notification": {
"android": {
"alert": "您的订单正在配送中",
"title": "订单状态更新",
"channel_id": "order_status"
}
},
"options": {
"classification": 1,
"time_to_live": 86400,
"third_party_channel": {
"xiaomi": {
"distribution": "secondary_push",
"channel_id": "your_xiaomi_channel_id"
},
"huawei": {
"distribution": "secondary_push",
"importance": "NORMAL",
"category": "TRAVEL"
},
"honor": {
"distribution": "secondary_push",
"importance": "NORMAL"
},
"oppo": {
"distribution": "secondary_push",
"channel_id": "your_oppo_channel_id"
},
"vivo": {
"distribution": "secondary_push",
"classification": 1,
"category": "TODO"
},
"hmos": {
"distribution": "secondary_push"
}
}
}
}
此代码块在浮窗中显示
注意:示例中的厂商分类字段仅用于说明配置位置。实际值需要以您的应用类型、厂商审核结果和厂商消息分类规则为准。
离线保留与时效控制
重要通知需要在“尽量到达”和“避免过期打扰”之间平衡。
options.time_to_live用于设置离线消息保留时长,默认 86400 秒(1 天)。- 普通用户最长 3 天,VIP 用户最长 10 天。
- 设置为
0表示不保留离线消息,只有当前在线用户可以收到。 - 对订单、物流、系统提醒等消息,建议结合业务有效期设置合理保留时间。
- 对过期后不应展示的消息,建议在落地页或业务接口增加状态校验。
短信补充兜底
对强到达业务,如果用户在设定时间内没有收到推送,可以使用短信补充服务进行兜底。
推荐使用场景:
- 验证、交易、账号安全、订单异常等必须触达的通知。
- App 可能被杀进程、禁用通知、断网或长期不在线的场景。
- 推送成本优先,但失败后仍需要最终触达的场景。
配置建议:
- 先优先发送推送,设置短信补充延迟时间。
- 延迟时间应按业务紧急程度设置,例如强实时场景更短,普通提醒可更长。
- 短信内容需符合短信模板和签名审核要求。
- 使用短信补充前,需要先完成短信服务开通和用户手机号绑定。
自定义消息转厂商通知
如果业务使用自定义消息承载内部协议,但又希望 App 长连接不在线时仍能及时提醒用户,可以使用自定义消息转厂商通知能力。
推荐使用场景:
- IM、待办、工单、告警等业务原本依赖自定义消息。
- App 在线时希望走自定义消息处理;App 不在线时希望转为系统通知提醒。
- Android、iOS、HarmonyOS 设备都需要尽量触达。
使用建议:
message部分承载业务自定义消息内容。notification_3rd作为离线厂商通知补发内容。- 仅对开通厂商通道的用户生效。
- 注意通知内容、点击跳转、厂商分类和离线保留时间要与原业务消息保持一致。
结果追踪与排查
重要通知必须形成“发送-到达-点击-未达”的监控闭环。
建议接入:
- 推送统计 API:查看极光通道、Android 厂商通道等维度的目标数和成功数。
- 消息状态查询:用于排查单条消息在一组设备上的送达状态。
- 回执 API:接入送达、点击、未送达、推送成功等回执数据。
- 控制台推送记录:排查任务配置、发送状态、厂商返回结果等信息。
排查顺序建议:
- 检查客户端是否成功注册极光通道和厂商通道。
- 检查目标用户、别名、标签、registrationID 是否匹配。
- 检查消息分类、厂商字段和下发策略是否符合厂商规则。
- 检查厂商配额、QPS、频控、通知权限和离线保留时间。
- 查看推送记录、统计 API 和回执数据,定位是请求失败、厂商失败、未送达还是用户未点击。
推荐配置清单
发送重要通知前,建议确认以下配置:
- 已集成并验证极光通道和目标厂商通道。
- 已按厂商规则申请重要消息分类,并配置对应
channel_id、importance、category等字段。 - API 请求中设置了准确的
options.classification。 - 已根据业务时效设置
time_to_live。 - 已选择合适的
third_party_channel下发策略。 - 强到达场景已配置短信补充兜底。
- 状态更新类通知已考虑消息覆盖,过期或误发通知已考虑消息撤回。
- 已接入推送统计、回执或控制台排查流程。
相关文档
文档内容是否对您有帮助?