重要通知高到达率最佳实践

最近更新:2026-07-28
展开全部
重要通知高到达率最佳实践

重要通知通常指与用户强相关、时效性较高、需要尽量可靠触达的通知,例如订单状态、物流进度、交易提醒、账号安全、系统告警、服务变更等。与普通运营通知相比,重要通知更关注“及时、准确、少打扰、可追踪”。

提升重要通知到达率不能只依赖单个参数,建议从客户端集成、消息分类、下发策略、离线保留、补充通道和结果追踪几个环节一起设计。

推荐链路

  1. 客户端完成极光通道和厂商通道集成,并确认厂商通道 token 正常回调。
  2. 按厂商规则申请并配置消息分类,例如系统消息、服务与通讯类消息、私信消息等。
  3. 服务端发送时明确设置通知类型、厂商分类字段、下发策略和离线保留时间。
  4. 对强到达业务配置短信补充,推送未及时到达时使用短信兜底。
  5. 接入回执和统计,按送达、未送达、点击、厂商通道请求成功等指标持续优化。

场景判断

场景 推荐策略
订单、物流、交易、账号安全等强相关通知 按系统消息/服务类消息申请厂商分类,优先厂商通道,保留合理离线时长,必要时配置短信补充
排队、进度、状态持续更新 使用消息覆盖减少历史消息干扰,只保留最新状态
过期、误发或不应继续展示的通知 使用消息撤回,并在业务落地页做状态校验
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_idimportancecategorynotify_level、模板 ID 等厂商字段,应以各厂商文档和极光厂商消息分类指南为准。
  • 不要把营销、活动、内容推荐类消息伪装成系统消息,否则可能导致厂商审核、限额或通道稳定性问题。

关键提醒

  • 厂商配额和 QPS 限制无法绕过,即使是 VIP 用户也需要遵守厂商规则。
  • 当厂商配额不足时,部分策略会切换到极光通道尽可能触达;如果强制使用厂商通道且配额不足,可能返回厂商配额不足错误。
  • 运营消息应使用单用户频控、分群和运营消息策略,避免挤占重要通知资源。

下发策略配置

Android 厂商通道是系统通道,设备离线时也可以收到推送;极光通道依赖长连接,适合在线设备触达。重要通知建议根据业务优先级选择合适策略。

推荐策略

  • 默认推荐:使用 secondary_push,优先走极光通道,极光不在线时再走厂商通道。
  • 对离线到达率要求更高的 VIP 场景:可按业务选择 first_ospush,成功注册厂商通道的设备优先走厂商通道。
  • 对必须走厂商通道的特殊能力:可使用 ospush,但需要确认对应厂商配额充足,否则可能导致推送失败。
  • FCM + 国内厂商组合设备,可结合 distribution_fcm 选择 fcmpnssecondary_fcm_pushsecondary_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:接入送达、点击、未送达、推送成功等回执数据。
  • 控制台推送记录:排查任务配置、发送状态、厂商返回结果等信息。

排查顺序建议:

  1. 检查客户端是否成功注册极光通道和厂商通道。
  2. 检查目标用户、别名、标签、registrationID 是否匹配。
  3. 检查消息分类、厂商字段和下发策略是否符合厂商规则。
  4. 检查厂商配额、QPS、频控、通知权限和离线保留时间。
  5. 查看推送记录、统计 API 和回执数据,定位是请求失败、厂商失败、未送达还是用户未点击。

推荐配置清单

发送重要通知前,建议确认以下配置:

  • 已集成并验证极光通道和目标厂商通道。
  • 已按厂商规则申请重要消息分类,并配置对应 channel_idimportancecategory 等字段。
  • API 请求中设置了准确的 options.classification
  • 已根据业务时效设置 time_to_live
  • 已选择合适的 third_party_channel 下发策略。
  • 强到达场景已配置短信补充兜底。
  • 状态更新类通知已考虑消息覆盖,过期或误发通知已考虑消息撤回。
  • 已接入推送统计、回执或控制台排查流程。

相关文档

文档内容是否对您有帮助?

Copyright 2011-2026, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开