厂商消息分类与配额管理最佳实践

最近更新:2026-07-28
展开全部
厂商消息分类与配额管理最佳实践

Android 厂商通道普遍对通知消息进行分类管理,并对不同类型消息设置差异化的提醒方式、推送总量、单设备接收数量和 QPS 限制。合理使用消息分类和配额策略,可以提升重要消息到达率,也能避免运营消息占用关键资源或被厂商限制。

本文面向通过极光推送使用小米、华为、荣耀、OPPO、vivo、魅族、FCM、华硕、鸿蒙等通道的开发者,帮助您梳理消息分类、配额扣除、下发策略和排查方式。

核心原则

  • 先按业务类型判断消息性质,再选择厂商分类字段,不要只从“想提高到达率”出发设置系统消息。
  • 用户强相关、需要及时知道的消息,优先按厂商规则申请重要消息分类。
  • 内容推荐、活动推广、平台公告等消息,应按运营消息或营销类消息处理,并配置频控。
  • API 下发时优先使用 options.classification 标识消息类型,避免各厂商字段互相冲突。
  • 对小米、OPPO 等支持 skip_quota 的厂商,不要把它当作“绕过厂商限制”的能力;它只表示是否跳过极光侧配额判断及扣除,厂商限制仍然生效。
  • 强制走厂商通道前,必须确认厂商配额充足;否则可能直接返回配额不足错误。

分类关系速查

厂商 重要/服务类消息 普通/运营类消息 关键配置
小米 私信消息 公信消息 / 默认通道 options.classification=1third_party_channel.xiaomi.channel_id;私信消息可能还需要 mi_template_idmi_template_param
华为 服务与通讯类消息 资讯营销类消息 options.classification=1third_party_channel.huawei.importancethird_party_channel.huawei.category
荣耀 服务与通讯类消息 资讯营销类消息 options.classification=1third_party_channel.honor.importance
OPPO 私信 / 服务与通讯类消息 公信 / 运营类消息 third_party_channel.oppo.channel_idcategorynotify_level;必要时结合 skip_quota
vivo 系统消息 运营消息 options.classification=1 优先;third_party_channel.vivo.classification 优先级较低
魅族 按业务订阅与厂商规则限制 按业务订阅与厂商规则限制 关注业务速率、订阅标签数量和设备活跃限制

注意:上表用于帮助理解各厂商分类概念映射,实际取值和申请方式以厂商官方规则、极光厂商消息分类指南和您应用的审核结果为准。

API 字段优先级

options.classification

options.classification 是极光侧适配 Android 厂商消息分类的核心字段:

  • 0:运营消息,默认值。
  • 1:系统消息。
  • 此字段优先级最高,会覆盖部分厂商子字段,例如 options.third_party_channel.vivo.classificationoptions.third_party_channel.honor.importance 等。
  • 极光不对开发者指定的消息类型做判断或校准,请确保传值与实际业务内容一致。

厂商子字段

不同厂商还需要配合传递子字段:

  • channel_id:用于小米、华为、OPPO 等厂商的通知栏消息分类或通知渠道标识。
  • importance:用于华为、荣耀通知栏消息智能分类。
  • category:用于华为、vivo、OPPO 等厂商的消息场景标识。
  • notify_level:用于 OPPO 通知栏消息提醒等级,且使用时通常需要配合 category
  • mi_template_id / mi_template_param:用于小米私信消息模板下发。
  • push_mode:用于 vivo 正式推送或测试推送标识。
  • skip_quota:目前仅对小米和 OPPO 有效,表示是否跳过极光侧配额判断及扣除。

配额与 QPS 管理

极光平台限制

非 VIP 应用支持厂商通道能力,但每次推送请求中可使用厂商通道的用户数量存在上限。超出厂商通道额度的消息请求,并不代表消息无法送达,极光会根据设备状态和可用策略切换至极光通道继续下发。

如业务对离线到达率、实时性或大规模推送有更高要求,建议评估 VIP 服务,以获得更稳定的厂商通道资源支持。

厂商系统限制

各厂商都有自身配额和 QPS 限制:

  • 超过厂商配额时,极光会尽可能通过极光通道进行下发。
  • 超过厂商 QPS 限制时,极光会按厂商限制慢速推送,尽量避免因 QPS 限制导致消息丢失。
  • 厂商系统限制无法绕过,即使是 VIP 用户也需要遵守。

运营消息上限

运营消息通常会受到单设备每日接收数量限制。例如小米公信消息、OPPO 公信、vivo 运营消息、华为/荣耀资讯营销类消息,都需要按照厂商规则控制发送量。

建议:

  • 在控制台开启厂商运营消息策略,并配置单用户每天的运营消息上限。
  • 厂商运营消息上限应小于或等于极光的单设备下发推送条数限制。
  • 对营销类消息使用标签、用户属性、分群、定时和频控,不要占用重要消息分类。

推荐配置流程

  1. 梳理业务消息类型,区分重要消息和运营消息。
  2. 按厂商要求申请重要消息分类、私信通道、自分类权益、channel 或模板。
  3. 客户端完成厂商通道 SDK 集成,并确保对应通知渠道、channel 或 category 已创建或审核通过。
  4. 控制台配置厂商参数、厂商运营消息策略和必要的频控规则。
  5. API 下发时设置 options.classification,并补充对应厂商字段。
  6. 根据业务目标选择 third_party_channel 下发策略。
  7. 通过推送记录、统计 API、回执 API 和厂商配额查询持续监控。

API 示例

以下示例展示一条订单状态类重要通知的字段位置。实际厂商字段取值需以您的申请结果为准。

{ "platform": "android", "audience": { "registration_id": ["1104a89792xxxxxx"] }, "notification": { "android": { "alert": "您的订单已发货", "title": "订单状态更新", "channel_id": "order_status" } }, "options": { "classification": 1, "third_party_channel": { "xiaomi": { "distribution": "secondary_push", "channel_id": "your_xiaomi_private_channel_id", "mi_template_id": "your_xiaomi_template_id", "mi_template_param": "{\"order_no\":\"202607280001\"}" }, "huawei": { "distribution": "secondary_push", "importance": "NORMAL", "category": "TRAVEL" }, "honor": { "distribution": "secondary_push", "importance": "NORMAL" }, "oppo": { "distribution": "secondary_push", "channel_id": "your_oppo_private_channel_id", "category": "ORDER", "notify_level": 16 }, "vivo": { "distribution": "secondary_push", "classification": 1, "category": "TODO" } } } }
          {
  "platform": "android",
  "audience": {
    "registration_id": ["1104a89792xxxxxx"]
  },
  "notification": {
    "android": {
      "alert": "您的订单已发货",
      "title": "订单状态更新",
      "channel_id": "order_status"
    }
  },
  "options": {
    "classification": 1,
    "third_party_channel": {
      "xiaomi": {
        "distribution": "secondary_push",
        "channel_id": "your_xiaomi_private_channel_id",
        "mi_template_id": "your_xiaomi_template_id",
        "mi_template_param": "{\"order_no\":\"202607280001\"}"
      },
      "huawei": {
        "distribution": "secondary_push",
        "importance": "NORMAL",
        "category": "TRAVEL"
      },
      "honor": {
        "distribution": "secondary_push",
        "importance": "NORMAL"
      },
      "oppo": {
        "distribution": "secondary_push",
        "channel_id": "your_oppo_private_channel_id",
        "category": "ORDER",
        "notify_level": 16
      },
      "vivo": {
        "distribution": "secondary_push",
        "classification": 1,
        "category": "TODO"
      }
    }
  }
}

        
此代码块在浮窗中显示

常见误区

误区一:所有消息都设置为系统消息

系统消息、私信消息、服务与通讯类消息通常有明确场景边界。将营销、活动、内容推荐等消息设置为系统消息,可能导致厂商审核失败、通道受限或后续推送稳定性下降。

误区二:只传 classification,不申请厂商分类

classification 是极光侧适配厂商分类的重要字段,但部分厂商还要求提前申请 channel、自分类权益、模板或 category。未完成厂商侧配置时,仍可能推送失败或被归为普通消息。

误区三:把 skip_quota 理解为跳过厂商限制

skip_quota 仅表示是否跳过极光侧配额判断及扣除,目前仅对小米和 OPPO 有效。厂商本身的配额、QPS、单设备数量限制仍然存在。

误区四:强制 ospush 却不检查配额

ospush 表示强制走厂商通道。当指定厂商配额不足时,推送请求可能失败并返回厂商配额不足错误。对大规模推送,应先查询配额或使用更稳妥的下发策略。

误区五:测试消息未设置测试标识

部分厂商对测试消息有专门参数。例如 vivo 的 push_mode=1 表示测试推送;极光的 test_model 表示测试模式推送给测试设备。两者含义不同,需要按场景选择。

排查建议

当重要消息到达率异常或厂商返回失败时,建议按以下顺序排查:

  1. 检查厂商通道是否集成成功,厂商 token 是否正常获取。
  2. 检查消息内容是否符合系统消息、私信消息、服务类消息的场景要求。
  3. 检查 options.classification 和各厂商子字段是否匹配。
  4. 检查厂商 channel、模板、自分类权益、category 是否已审核通过。
  5. 检查是否触发厂商配额、单设备每日数量限制或 QPS 限制。
  6. 检查 distributiondistribution_fcmdistribution_customize 是否与消息类型匹配。
  7. 查看推送记录、统计 API、回执 API 和厂商后台配额数据。

推荐配置清单

发送前建议确认:

  • 已区分重要消息和运营消息。
  • 已完成厂商分类申请和客户端通知渠道配置。
  • API 请求已设置准确的 options.classification
  • 各厂商 channel_idimportancecategorynotify_level、模板字段与厂商规则一致。
  • 运营消息已配置单用户频控和厂商运营消息策略。
  • 大规模推送前已了解厂商配额和 QPS。
  • 强制厂商通道前已确认配额充足。
  • 已接入推送记录、统计和回执用于持续排查。

相关文档

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

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

在文档中心打开