消息推送富文本、自定义铃声、角标等厂商扩展功能如何实现?

 

众所周知,目前个推消息推送支持多厂商渠道进行消息下发,在离线推送过程中,各大厂商推送规范不尽相同,且不断推出推送新功能来帮助开发者完善和提升推送能力,例如厂商富文本功能、厂商自定义铃声、厂商角标等功能。

 

在厂商推送功能不断优化的过程中,为了能更快速高效的适应厂商迭代速度,满足推送行业客户想立即使用厂商新功能的需求,个推推出厂商自定义键值帮助开发者快速适配使用厂商推出的最新功能。

 

接下来个推君将以厂商富文本功能详细讲解厂商自定义键值的价值和使用操作步骤,来帮助各位开发者快速提升厂商通道推送能力。

 

1、什么是厂商自定义键值?

厂商自定义键值,是为了支持各大厂商不同功能的扩展字段,全面支持各大厂商现有功能并能应对各大厂商推出的新功能。

 

个推为了提高消息推送成功率和到达率,支持多家厂商推送,比如小米,华为,OPPO等等。为了提高用户体验,个推推出了厂商自定义键值功能,该功能支持客户在厂商迭代新功能时就可以立即适配使用厂商推出的新功能;同时实现一次推送请求就可以使用多家厂商不同功能的效果。

 

2、个推厂商自定义键值设置步骤

接下来我们以厂商富媒体功能为大家详细说明自定义键值如何使用,具体可分为以下步骤:以个推的RestAPI的群推接口示例

 

(1)查看厂商参数:查看对应推送厂商文档,确定功能对应的各个厂商参数字段。各个厂商使用的参数各不相同,所以我们需要针对不同厂商不同设置,详细可查看 个推官网文档 的多厂商参数

 

以富文本消息功能为例,目前主要是华为、小米、OPPO和UPS厂商支持富文本消息设置。

 

厂商

名称

类型

是否必须

默认值

描述

华为

/message/android/

notification/image

String

通知小图;value:请写入对应图标https地址URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。

/message/android/

notification/style

Integer

通知长文本;value:1
通知栏为长文本。

/message/android/notification/big_title

String

通知长文本;value:通知title内容
设置big_title后通知栏展示时,使用 big_title而不用title。

/message/android/

notification/big_body

String

通知长文本;
value:通知title内容
通知body内容。设置big_body后通知栏展示时,使用big_body而不用body。

小米

/extra.notification_style_type

String

1表示多字版;

2表示大图版 
填1时,文本内容为body内的值

/extra.notification_bigPic_uri

String

/extra.notificationstyletype填2时填写,表示大图地址(上传到小米返回的url)图片要求:固定876x324px,小于1M,PNG/JPG/JPEG格式。

/extra.notification_large_icon_uri

String

通知小图;
value:填写接口返回的图片链接。
Large icon可以出现在大图版和多字版消息中,显示在右边,通知小图。图片要求:尺寸必须为 120×120px,文件小于200KB,PNG/JPG/JPEG格式。

OPPO

/style

Integer

通知栏样式1. 标准样式
2. 长文本样式3. 大图样式

/small_picture_id

String

通知小图;

value: 填写接口返回的图标ID
图片要求:尺寸144*144 px,文件大小为50k以内,格式PNG/JPG/JPEG。

/big_picture_id

String

通知大图value:

填写接口返回的图标id,style为3时必填
图片要求:尺寸876*324px,文件大小1M以内,

格式PNG/JPG/JPEG。

UPS

bigText

String

通知展示文本+长文本样式的长文本内容 

bigImageUrl

String

通知展示大图样式的大图内容,填写大图的URL地址

 

(2)参数设置推送:了解完参数和具体格式之后,就可以设置对应厂商参数下发消息。

 

方式一:服务端API配置

调用服务端 API设置对应厂商参数,以下为参数示例:主要展示厂商参数部分

{
    "android":{
        "ups":{
            "notification":{
                "title":"厂商通知标题",
                "body":"厂商通知内容",
                "click_type":"url",
                "url":" https://xxx ",
                "notify_id":1234
            },
            "options":{
                "HW":{
                    "/message/android/notification/image":"https图标链接",
                    "/message/android/notification/style":1,
                    "/message/android/notification/big_title":"big_title",
                    "/message/android/notification/big_body":"big_body"
                },
                "XM":{
                    "/extra.notification_style_type":2,
                    "/extra.notification_bigPic_uri":" http://xxx.png "
                },
                "OP":{
                    "/style":3,
                    "/big_picture_id":"big_body"
                },
                "UPS":{
                    "bigImageUrl":"请填写大图的url地址"
                }
            }
        }
    }
}


温馨提示
:需要注意的是,厂商对应的参数功能需要对应,不能混用,例如/notifyType字段是vivo的特有功能,即使填写到其他厂商里面,也不能生效。

 

方式二:个推开发者中心配置

1、 登陆个推开发者中心 ,进入个推消息推送,点击【创建消息】或者【透传消息】,在 Android 配置模块中选择【扩展字段】。

2、设置厂商参数:在【扩展字段】中选择厂商以及对应的厂商拓展字段。

 

3、厂商自定义键值功能注意事项

若使用自定义键值推送后不生效,建议从以下几点排查:

(1)厂商部分功能对手机版本存在要求,比如小米的自定义铃声功能;

(2)厂商部分功能需要提前在厂商申请,比如OPPO的公私信功能;

(3)推送时的目标用户是否满足对应渠道,如要使用小米自定义铃声功能,必须安装小米sdk,在个推填写小米参数开通小米通道;

(4)策略字段选择是否满足要求。

 

综上所述,厂商自定义键值可以帮助开发者快速适配使用厂商推出的最新功能,例如自定义铃声、富文本、限时展示、定时展示、消息去重、角标……全面覆盖厂商现有功能,高效应对厂商新功能迭代,如果想使用更多的厂商新功能,可扫码添加个推技术支持咨询。

  • 在线咨询
  • 技术咨询
  • 业务咨询
  • 电话咨询