通知图标可做为一个应用的标识,方便在手机通知栏显示应用的通知推送消息,也便于用户在第一时间辨识是哪个应用都消息做出对应的消息处理。
如果需要根据不同推送场景进行推送,还可以设置多套图标区分应用场景。
比如:微信和QQ是通讯工具,通知栏收到微信或者QQ的消息后,通知中心会在消息文本前显示微信或者QQ的图标,方便第一时间处理通讯消息。
名词 | 解释 |
---|---|
小图标push_small.png | 会展示在顶部状态栏和通知左上角位置,push_small 只能内置, 不能修改 |
通知图标push.png | 将会作为通知展示图标,会展示在通知内容右侧。 |
渠道 | 小图标(push_small.png) | 右侧通知图标(push.png) |
---|---|---|
个推 | 支持 | 支持 |
APNs | 支持 | 支持 |
华为 | 默认App图标 | 支持 |
荣耀 | 默认App图标 | 支持 |
小米 | 默认App图标 | 不支持 |
魅族 | 默认App图标 | 不支持 |
OPPO | 默认App图标 | 支持 |
VIVO | 默认App图标 | 不支持 |
离线厂商通道左上角小图标默认会显示为app的icon,右侧通知图标华为、小米、oppo、荣耀支持配置(详细可看下各厂商富文本处理)。
(1)客户端
push_small.png
会展示在顶部状态栏和通知左上角位置,push_small 只能内置, 不能修改。**push_small.png
设计规范有以下四个注意要点:1. 必须是带 Alpha 透明通道的 PNG 图片。 2.背景必须是透明的。 3.图形必须是白色。 4. 周围不宜留过多的 padding。**push.png
将会作为右侧通知展示图标(仅在服务端在线推送使用 logo 时,需要客户端内置 push.png 图片资源。服务端使用 logo_url 时,不需要客户端内置。资源目录文件夹:
Getui_SDK_Demo_AS_official/
|- app/
| |- src/
| |- main/
| |- res/
| |- drawable-hdpi/
| |- push.png
| |- push_small.png
| |- drawable-ldpi/
| |- push.png
| |- push_small.png
| |- drawable-mdpi
| |- push.png
| |- push_small.png
| |- drawable-xhdpi
| |- push.png
| |- push_small.png
| |- drawable-xxhdpi
| |- push.png
| |- push_small.png
| ......
//push.png 图片尺寸
ldpi: 48*48
mdpi: 64*64
hdpi: 96*96
xhdpi: 128*128
xxhdpi: 192*192
//push_small.png 图片尺寸
ldpi: 18*18
mdpi: 24*24
hdpi: 36*36
xhdpi: 48*48
xxhdpi: 72*72
xxxhdpi: 96*96
(2)服务端api
小图标push_small.png
只支持客户端嵌入,服务端暂不支持动态推送时设置小图标。
通知图标push.png
如果您需要根据不同推送场景切换不同通知栏图标或者其他配置多套通知栏图标的场景
push1.png
、push2.png等
notification
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
title | String | 是 | 无 | 通知消息标题,长度 ≤ 50 |
body | String | 是 | 无 | 通知消息内容,长度 ≤ 256 |
logo | String | 否 | 无 | 通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”,长度 ≤ 64 |
logo_url | String | 否 | 无 | 通知图标URL地址(不需要客户端嵌入),长度 ≤ 256字。logo 和 logo_url 字段二选一即可。 |
在线个推通道:
{
"push_message":{
"notification":{
"title":"请填写你的通知标题",
"body":"请填写你的通知内容",
"logo_url":"http://xxxx/a.png",
"click_type":"startapp"
}
}
}
(3)个推开发者中心下发
(1)服务端:
【华为】富文本消息:https://docs.getui.com/getui/server/rest_v2/third_party/
Options参数说明:
参数示例
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"HW": {
"/message/android/notification/image": "公网可以访问的https图标链接"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
/message/android/notification/image | String | 是 | 无 | 通知小图; value:请写入对应图标https地址 URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。 |
(2)个推开发者中心下发
(1)服务端
【荣耀】富文本消息:https://docs.getui.com/getui/server/rest_v2/third_party/
通知栏样式设置
Options参数说明:
参数示例
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"HO": {
"/android/notification/icon":"左侧小图标",
"/android/notification/image": "公网可以访问的https图标链接"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
/android/notification/icon | String | 否 | 无 | 自定义通知栏左侧小图标,此处设置的图标文件必须存放在应用的/res/raw路径下,例如"/raw/ic_launcher",对应应用本地的"/res/raw/ic_launcher.xxx"文件,支持的文件格式目前包括PNG、JPG。 |
/android/notification/image | String | 否 | 无 | 通知右侧小图标; value:请写入对应图标https地址 URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。 图标文件须小于512KB,图标建议规格大小:40dp x 40dp,弧角大小为8dp,超出建议规格大小的图标会存在图片压缩或显示不全的情况。 资讯营销类消息不支持右侧小图即importance=LOW时不生效 |
(2)个推开发者中心下发:
(1)服务端:
【OPPO】富文本消息:https://docs.getui.com/getui/server/rest_v2/third_party/
先调用OPPO接口,上传图片,获取图标url。
Java方式集成个推多厂商推送工具集。
RestAPI 参考 “图片上传” 。
Options参数说明:
参数示例
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"OP": {
"/small_picture_id": "xxxxxxxxxxxxxxx"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 支持单推 | 描述 |
---|---|---|---|---|---|
/small_picture_id | String | 是 | 无 | 否 | 通知小图; value: 填写接口返回的图标ID 图片要求:尺寸144*144 px,文件大小为50k以内,格式为PNG/JPG/JPEG。 |
注意事项:
通知小图标、大图不支持单推,单推请求会返回无权限错误
(2)个推开发者中心下发:
支持版本:
ios10以上的系统
客户端设置:
Notification Service Extension,实现多媒体展示,详细配置可见文档第6点。
涉及代码:
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
NSLog(@"----将APNs信息交由个推处理----");
[GeTuiExtSdk handelNotificationServiceRequest:request withAttachmentsComplete:^(NSArray *attachments, NSArray* errors) {
//注意:是否修改下发后的title内容以项目实际需求而定
//self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [需求而定]", self.bestAttemptContent.title];
self.bestAttemptContent.attachments = attachments; //设置通知中的多媒体附件
NSLog(@"个推处理APNs消息遇到错误:%@",errors); //如果APNs处理有错误,可以在这里查看相关错误详情
self.contentHandler(self.bestAttemptContent); //展示推送的回调处理需要放到个推回执完成的回调中
}];
}
multimedia说明:
该字段为Array类型,最多可设置3个子项,每个参数定义如下所示:
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
url | String | 是 | 无 | 多媒体资源地址 |
type | Number | 是 | 无 | 资源类型(1.图片,2.音频,3.视频) |
only_wifi | Boolean | 否 | false | 是否只在wifi环境下加载,如果设置成true,但未使用wifi时,会展示成普通通知 |
apns通知消息
{
"ios":{
"type":"notify",
"payload":"自定义消息",
"aps":{
"alert":{
"title":"通知标题",
"body":"通知内容"
},
"content-available":0,
"sound":"com.gexin.ios.silence",
"category":"ACTIONABLE"
},
"auto_badge":"+1",
"multimedia": [{
"url": "https://xxx",
"type": 1,
"only_wifi": false
}]
}
}
Q1: 左上角小图标显示为灰色
以上文档对您是否有帮助?