在智能手机时代,用户的通知栏充斥着各种应用推送的消息。如何在这些信息中脱颖而出,激发用户的兴趣,引导他们进一步探索,是提高应用的日活跃度(DAU)的关键。
HarmonyOS SDK推送服务(Push kit)提供了多样化的通知消息样式,开发者们可以根据应用的特点和用户的需求来定制更有创意的消息文案,吸引用户关注并点击进入应用。
目前推送服务的通知消息样式支持普通通知、通知角标、通知大图标和多行文本四个样式,基于不同的消息展示形式为应用提供更加丰富和个性化的用户体验。
普通通知
普通通知消息中的元素主要包括应用图标、标题、内容和时间,其中应用图标和时间是系统统一获取的,标题和内容需要自定义,普通通知的内容默认文本内容最多显示3行,超出3行以"..."折断。
在开发者发送通知消息的示例代码中,应用收到通知消息后展示在通知中心的标题与内容由notification参数中的title与body字段来设置。
{
"payload": {
"notification": {
"category": "MARKETING",
"title": "推送服务",
"body": "推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。您通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活跃度。",
"clickAction": {
"actionType": 0
}
}
},
"target": {
"token": ["IQAAAACy0tE*************MXzvN7iIKSBYontV2cWj-HFTY_8lSh04w"]
},
"pushOptions": {
"testMessage": true
}
代码中category表示通知消息自分类的类别,MARKETING为资讯营销类消息,actionType为0表示打开消息进入应用首页。
通知角标
通知角标通常以红底白字的数字形式展示于应用图标的右上角,用来提醒用户该应用有未读消息,是一种有效传递信息的通知形式。
开发者在发送通知消息时通过携带badge字段来设置应用角标,提醒用户查看消息。
{
"payload": {
"notification": {
"category": "MARKETING",
"title": "通知标题",
"body": "通知内容",
"badge":{
"addNum": 1,
"setNum": 99
},
"clickAction": {
"actionType": 0
}
}
},
"target": {
"token": ["IQAAAACy0tE*************MXzvN7iIKSBYontV2cWj-HFTY_8lSh04w"]
},
"pushOptions": {
"testMessage": true
}
}
这里需要注意的是,addNum设置后为应用角标累加数字,非应用角标实际显示数字。setNum设置后为应用角标实际显示数字。setNum优先级高于addNum。 当用户打开应用或者点击/清理通知消息并不会清理角标数字,开发者可通过setBadgeNumber()方法清理角标。当setBadgeNumber()方法中的badgeNumber设置为0时,可以实现清理效果。
通知大图标
与其他通知样式不同,通知大图标可携带预览图片,适用于有图片预览需求类的通知,比如营销类消息可通过该样式来展示商品照片。
在发送通知消息时,消息体中需携带image字段来设置消息大图标内容,支持的图片格式包括png、jpg、jpeg、bmp,图片长宽建议小于128128像素,若超过49152像素,则图片不展示。
{
"payload": {
"notification": {
"category": "MARKETING",
"title": "推送服务",
"body": "推送服务是华为提供的消息推送平台",
"image": "https://example.com/image.png",
"clickAction": {
"actionType": 0
}
}
},
"target": {
"token": ["IQAAAACy0tE*************MXzvN7iIKSBYontV2cWj-HFTY_8lSh04w"]
},
"pushOptions": {
"testMessage": true
}
}
多行文本样式
多行文本样式适用于需要换行显示的文本内容,可通过分点阐述来简明扼要地展示通知消息,最多可显示 3 行内容详情,每行超长后 "..." 截断。
在发送通知消息时,消息体notification中携带inboxContent和style字段设置通知消息为多行文本样式。
{
"payload": {
"notification": {
"category": "MARKETING",
"title": "推送个性化显示",
"body": "通知内容",
"style": 3,
"inboxContent": [
"1. 通知栏消息样式",
"2. 通知栏消息提醒方式和展示方式",
"3. 通知栏消息语言本地化"
],
"clickAction": {
"actionType": 0
}
}
},
"target": {
"token": ["IQAAAACy0tE*************MXzvN7iIKSBYontV2cWj-HFTY_8lSh04w"]
},
"pushOptions": {
"testMessage": true
}
}
从消息体示例代码中可以看出,多行文本样式需要设置style字段为3。并且当发送多条通知消息导致用户通知消息折叠时,多行文本样式在展开前显示的标题与内容取自title与body字段;当用户展开多行文本消息,或仅存在一条多行文本消息时,通知中显示的标题与内容取自title与inboxContent字段。
了解更多详情>>
访问推送服务联盟官网