简介
目前,厂商逐步对 App 开发者的本地通知根据分类进行限额限频,也以此保证终端用户不被过度骚扰,不同的消息分类主要通过通知 Category 进行区分。移动推送结合厂商的要求,对于本地通知和自建通道下发通知增加了通知分类和 importance 的支持。
注意:
从2023年9月15日开始,华为推送服务将对本地通知进行灰度管控,主要包括对应用发送本地通知进行分类管理,以及对资讯营销消息统一进行频次管控,有需求可以参见《华为本地通知配置指引》,未接入消息自分类的应用,消息通知类型将会默认归为资讯营销类消息,资讯营销消息每日推送数量上限要求请参见《推送数量管理细则》。
说明:
华为本地通知包含移动推送本地通知和移动推送自建通道下发的通知。
通知消息的分类
移动推送的通知主要来自三种:
通知来源 | 备注 |
本地通知 | 通过移动推送 SDK 接口直接弹出的通知 |
移动推送自建通道下发通知 | 通过移动推送自建通道下发的推送通知 |
移动推送下发给厂商通道展示的通知 |
本地通知支持分类
移动推送 Android SDK 1.4.3.1 版本在增加本地通知时,可以指定通知 category 和通知 channel importance。
代码示例:
XGLocalMessage localMessage = new XGLocalMessage();//设置通知类型:1 通知,2 透传消息localMessage.setType(1);localMessage.setTitle("一条本地通知");localMessage.setContent("我是一条本地通知");localMessage.setDate("20230729");localMessage.setHour("19");localMessage.setMin("31");localMessage.setAction_type(4);localMessage.setChannelId("local_123");//设置本地通知分类localMessage.setNotificationCategory(Notification.CATEGORY_CALL);//设置通知Channel importancelocalMessage.setNotificationImportance(NotificationManager.IMPORTANCE_HIGH);localMessage.setActivity("com.tencent.android.duoduo.MainActivity");localMessage.setIntent("tpns://com.tpns.push/notify_detail?param1=key");HashMap<String, Object> custom = new HashMap<String, Object>();custom.put("key", "v1");custom.put("key2", "v2");localMessage.setCustomContent(custom);XGPushManager.addLocalNotification(context, localMessage);
移动推送自建通道下发通知支持分类
注意:
移动推送 Android SDK 1.4.3.1及以上开始支持 tpns 自建通道通知分类。
n_category 字段的取值及参考使用场景说明:
参考类型 | Category取值 | 参考场景说明 |
即时聊天 | CATEGORY_MESSAGE | 用户间点对点聊天消息(或私信)、群聊天消息。 |
音频、视频通话 | CATEGORY_CALL | 语音通话邀请、视频通话邀请、来电提醒等。 |
出行 | CATEGORY_NAVIGATION | 用户出行产生的通知提醒,推送对象为消费者。 行程提醒。 班车/航班变动提醒。 酒店入住前提醒。 公交到站提醒。 |
工作事项提醒 | CATEGORY_REMINDER | 用户下一步需要做某件事项的提醒、待处理的业务流程。 工作提醒:会议提醒、待办提醒、日程安排、教学任务/课程提醒等。 待处理业务流程,推送对象为服务提供方:审核进度提醒、认证状态流程提醒、工单处理、卖家收到订单提醒、卖家收到售后提醒、催促卖家发货提醒、司机接单提醒。 商家运营:库存不足、售罄提醒、商品下架通知、限制提现、客诉警告、店铺限制、商品黑名单、交易违规、涉假/涉欺诈发货通知。 |
财务 | CATEGORY_SERVICE | 金额变化的交易提示,仅限金融银行类、支付类 App 使用。 收付款、银行到账&扣款、交易提醒、催缴&退款信息、充值、待支付账单、贷款受理进度、还款/逾期提醒、资金冻结提醒、资金限制提醒、缴纳保证金提醒。 |
邮件 | CATEGORY_EMAIL | 新收到的邮件,例如邮箱类 App、办公软件 App 使用。 |
闹钟/计时器 | CATEGORY_ALARM | 闹钟提醒、计时器消息。 |
秒表 | CATEGORY_STOPWATCH | 秒表计时提醒。 |
进度 | CATEGORY_PROGRESS | 后台运行中的任务处理进展,如文件下载进度、传输进度等。 |
位置共享 | CATEGORY_LOCATION_SHARING | 临时共享位置信息。 |
内容推荐 | CATEGORY_RECOMMENDATION | 非用户主动订阅,应用向用户推送的内容。 包括点评、书籍、广告、视频、音频、节目、课程、直播、社区话题、游戏宣传等。 |
| 新闻 | 及时地报道新近发生的、有价值的事实。 包括新闻、经济新闻、法律新闻、新闻、科技新闻、文教新闻、体育新闻、社会新闻等。 |
| 财经动态 | 股票、彩票、期货、期权、外汇类通知,包括交易信息、行业公告等。 |
| 生活资讯 | 天气:天气提醒、天气异常变化,包括气温、雾霾、台风、灾情、预警等。 导航:行驶路线、路况规划、路线中的交通状况(拥堵提醒)、位置使用、调用地图类应用进行定位等相关的通知。 各垂直行业相关信息。 |
社交动态 | CATEGORY_SOCIAL | 用户之间的社交互动提醒,如:好友动态、新增粉丝、添加好友、被赞、被@、被收藏、评论、留言、关注、回复、转发等。 用户推荐:附近的人、大 V、主播、异性、可能认识的人等。 |
调研 | CATEGORY_PROMO | 发送问卷以获得受访者的态度和意见,包括使用习惯、产品满意度、服务满意度等。 |
| 其他 | 面向广大用户发布的产品功能推荐、平台公告、应用更新升级提醒等。 |
| 产品促销 | 产品信息相关推广、产品优惠,例如满减、低至、促销、买一送一、返利、优惠券、代金券、送红包相关的通知。 |
| 功能推荐 | 推荐用户使用当前产品的某一个功能。 |
| 运营活动 | 非用户主动设置,由应用发起需由用户参与的运营活动、提醒消息、小游戏提醒、服务等。 |
代码示例:
{"audience_type": "token","token_list": ["005c28bf60e29f9a***2052ce96f43019a0b7"],"message_type": "notify","message": {"title": "移动推送自建通道通知分类","content": "测试内容","android": {"n_category":"CATEGORY_CALL","n_importance":3}}}
移动推送下发给厂商通道展示的通知支持消息分类
目前,厂商会逐步对 App 开发者的通知消息根据分类进行限额限频,以此保证终端用户不被过度骚扰;
通知 Channel优先级 importance
参考值:
1 //对应android IMPORTANCE_MIN2 //对应android IMPORTANCE_LOW3 //对应android IMPORTANCE_DEFAULT4 //对应android IMPORTANCE_HEIGHT
代码示例:
{"audience_type": "token","token_list": ["005c28bf60e29f9a***2052ce96f43019a0b7"],"message_type": "notify","message": {"title": "移动推送自建通道通知Channel优先级","content": "测试内容","android": {"n_category":"CATEGORY_CALL","n_importance":3}}}
注意:
n_importance 仅在首次创建通知的 Channel 时生效,通过移动推送的本地通知和自建通道下发的通知创建通知 Channel 支持设置优先级;如应用本地已经创建好了对应 Channel ID的 Channel 则 n_importance 字段不生效。
适配华为本地通知分类
从2023年9月15日开始,华为推送服务将对本地通知进行灰度管控,主要包括对应用发送本地通知进行分类管理,以及对资讯营销消息统一进行频次管控。本地通知的消息提醒方式取决于importance级别,应用需根据《华为本地通知分类和优先级规范》正确配置;
注意:
应用若已申请云端相关消息类型,将自动生效对应的本地通知类型,本地通知无需重复申请,但应用仍需适配开发。
未接入消息自分类的应用,消息通知类型将会默认归为资讯营销类消息,资讯营销消息每日推送数量上限要求请参见《推送数量管理细则》。
申请华为自分类权益成功后,在集成移动推送 Android SDK 版本为1.4.3.1及以上,可对移动推送通道下发的通知和移动推送 Android SDK 触发的本地通知配置申请的本地通知分类,即可完成适配。
1. 移动推送通知下发的通知可以参见:《配置移动推送通道下发通知分类》
示例:
在移动推送 Rest API 请求参数 Android 结构体中设置 n_category 和 n_importance参 数,即可对通过移动推送自建通道的通知适配华为本地通知分类,详情请参见 PushAPI 参数说明。
注意:
n_importance 仅在首次创建通知的 Channel 时生效,通过移动推送的本地通知和自建通道下发的通知创建通知 Channel 支持设置优先级;如应用本地已经创建好了对应 Channel ID 的 Channel 则 n_importance 字段不生效。
{"audience_type": "token","token_list": ["005c28bf60e29f9a***2052ce96f43019a0b7"],"message_type": "notify","message": {"title": "华为本地通知消息","content": "自分类推送。","android": {"n_category":"CATEGORY_PROMO","n_importance":1}}}
2. 移动推送本地通知触发的通知可以参见:《配置移动推送 SDK 触发本地通知分类》
代码示例:
XGLocalMessage localMessage = new XGLocalMessage();//设置通知类型:1 通知,2 透传消息localMessage.setType(1);localMessage.setTitle("一条本地通知");localMessage.setContent("我是一条本地通知");localMessage.setDate("20230729");localMessage.setHour("19");localMessage.setMin("31");localMessage.setAction_type(4);localMessage.setChannelId("local_123");//设置本地通知分类localMessage.setNotificationCategory(Notification.CATEGORY_CALL);//设置通知Channel importancelocalMessage.setNotificationImportance(NotificationManager.IMPORTANCE_HIGH);localMessage.setActivity("com.tencent.android.duoduo.MainActivity");localMessage.setIntent("tpns://com.tpns.push/notify_detail?param1=key");HashMap<String, Object> custom = new HashMap<String, Object>();custom.put("key", "v1");custom.put("key2", "v2");localMessage.setCustomContent(custom);XGPushManager.addLocalNotification(context, localMessage);