华为推送服务管控新规及适配

问题背景

华为将于2023年9月15日实行新规:不论app在线还是离线,所有通知都会受华为手机系统的管控,管控方式包括发送通知的条数上限以及通知弹出的方式。

规则简述

根据送达的通道分类

  • 云端通知:走华为通道送达的通知。在端侧需要依赖AndroidPopupActivity弹框,数据依赖该类传递。

  • 本地通知:走阿里通道送达的通知。在端侧可用MessageReceiver或IntentService接收,弹框可自定义。

根据消息内容分类

  • 服务通讯类:不限发送条数。根据类别不同可实现锁屏,铃声,振动功能。

  • 咨询营销类:普通app每天2条,持证新闻机构新闻类app每天5条。静默通知。重要:走阿里通道送达的本地通知也会占用此额度。

EMAS推送适配规则

客户端走哪个通道送达?

未提供分类信息(未设置AndroidMessageHuaweiCategory)

提供分类信息

(已设置AndroidMessageHuaweiCategory)

SDK<3.8.7

华为通道

华为通道

SDK≥3.8.7

在线阿里通道

离线华为通道

在线且本地分类值不为“不支持”,阿里通道

在线且本地分类值为“不支持”,华为通道

离线且云端通知分类不为“不涉及”,华为通道

离线且云端通知分类为“不涉及”,阿里通道

  • 注意:建议尽快升级客户端SDK到3.8.7版本。

服务端应下发哪个参数?

  • AndroidNotificationHuaweiChannel(对应华为importance):建议不填。

  • AndroidMessageHuaweiCategory(对应华为category)

    • 为空时:在线走阿里通道,离线走华为通道。普通app 2条/天,持证新闻机构新闻类app 5条/天。

    • 不为空:推送效果由具体取值决定,请参考下方:EMAS建议取值列表。

  • 注意:若服务端有AndroidMessageHuaweiCategory参数,则无需升级。

几类通知类型举例

  1. 云端category和本地category都有值:您只需申请云端取值“IM”。推送结果:“app在线时走阿里通道送达,app离线时走华为通道送达”。 image.png

  2. 云端category有值,本地category为“不支持”:只需申请云端取值“HEALTH”。推送结果:“只走华为通道”。image.png

  3. 云端category为“不涉及”,本地category有值:只需申请云端取值“CATEGORY_ALARM”。推送结果:“只走阿里通道送达”。image.png

AndroidMessageHuaweiCategory建议取值表(营销通知无需关注)

若您的消息类型属于下表,则请申请建议取值之后传入AndroidMessageHuaweiCategory参数。

可以做到不限推送条数,但是推送效果需要根据消息类型决定。

消息类型

云端通知category取值

本地通知category取值

AndroidMessageHuaweiCategory取值

取值效果

即时聊天

IM

CATEGORY_MESSAGE

IM

SDK≥3.8.7 在线阿里通道,离线华为通道,SDK<3.8.7 华为通道

音频、视频通话

VOIP

CATEGORY_CALL

VOIP

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

订阅

SUBSCRIPTION

不支持

SUBSCRIPTION

华为通道

出行

TRAVEL

CATEGORY_NAVIGATION

TRAVEL

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

健康

HEALTH

不支持

HEALTH

华为通道

工作事项提醒

WORK

CATEGORY_REMINDER

WORK

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

账号动态

ACCOUNT

不支持

ACCOUNT

华为通道

订单&物流

EXPRESS

不支持

EXPRESS

华为通道

财务

FINANCE

CATEGORY_SERVICE

FINANCE

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

设备提醒

DEVICE_REMINDER

不支持

DEVICE_REMINDER

华为通道

邮件

MAIL

CATEGORY_EMAIL

MAIL

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

闹钟/计时器

不涉及

CATEGORY_ALARM

CATEGORY_ALARM

阿里通道

秒表

不涉及

CATEGORY_STOPWATCH

CATEGORY_STOPWATCH

阿里通道

进度

不涉及

CATEGORY_PROGRESS

CATEGORY_PROGRESS

阿里通道

位置共享

不涉及

CATEGORY_LOCATION_SHARING

CATEGORY_LOCATION_SHARING

阿里通道

内容推荐

MARKETING

CATEGORY_RECOMMENDATION

CATEGORY_RECOMMENDATION

SDK≥3.8.7 在线阿里通道,离线华为通道,

SDK<3.8.7 华为通道

新闻

财经动态

生活资讯

调研

其他

社交动态

CATEGORY_SOCIAL

CATEGORY_SOCIAL

产品促销

CATEGORY_PROMO

CATEGORY_PROMO

功能推荐

运营活动

推送效果和数据获取

  • 阿里通道送达

    • 数据在端侧MessageReceiver的继承类中获取。

    • 弹框样式可自定义,依赖MessageReceiver弹出。

  • 华为通道送达

    • 数据在端侧AndroidPopupActivity的继承类onSysNoticeOpened中获取。

    • 弹框样式不可自定义。依赖AndroidPopupActivity弹框。