PushMessage
推送消息Wrapper
无论一条消息的目标客户端和推送方式如何,推送消息都共享一个公共的结构,我们使用PushMessage
类来封装它们。
PushMessage
可以设置展示时间窗口,有三种不同的消息类型:Notification, Transmission, 和 revoke。三种消息类型之间相互冲突,一条推送消息只能设置为其中的一种。
构造推送消息
库中提供了一个PushMessageBuilder
类以通过链式语法构造新的推送消息。
一个简单的例子:
Methods
setDuration
(
long
startTime
,
long
endTime
)
给消息设置展示时间段,起止时间皆为毫秒时间戳。起始间隔需大于 10 分钟。
notification
(
Notification
notification
)
将消息设置为 Notification 类型,并将notification
添加为消息主体。
安卓与鸿蒙支持,与 Transmission 和 Revoke 冲突。
transmission
(
String
transmission
)
将消息设置为 Transmission 类型,并将字符串透传消息transmission
添加为消息主体。
安卓和iOS支持,与 Transmission 和 Revoke 冲突。在测试中,直接输入中文句子会报错,带有中文字段的 Json 可以成功发送。
revoke
(
Revoke
revoke
)
将消息设置为 Revoke 类型,并将revoke
添加为消息主体。
用于撤回个推通道的消息,与 Notification 和 Transmission 冲突。
build
()
返回构造完成的PushMessage
消息Wrapper.
构造 Notification
库中提供了一个NotificationBuilder
类以通过链式语法构造 Notification 类型的消息主体。
一个简单的例子:
Methods
init
(
String
title
,
String
body
,
String
click_type
)
必需,设置消息的标题title
,内容body
和点击通知后续动作的类型click_type
.
后续动作click_type
的值与接下来的setAction
方法相关,请参考setAction
方法下的对照表。
setAction
(
String
action
)
某些 click_type 下必需,设置了点击通知之后的具体后续动作内容,与click_type
的对照关系如下:
intent
安卓 intent:// 链接或鸿蒙 want (鸿蒙还未实装)
安卓和鸿蒙可用,点击之后打开应用内特定页面
url
可访问的链接
点击之后打开链接
payload
自定义透传消息
透传消息并启动应用
payload_custom
自定义透传消息
透传消息但不启动应用
startapp
无需使用此方法
启动应用首页
none
无需使用此方法
无操作
setBigText
(
String
big_text
)
给通知消息添加长文本,与setBigImage
冲突。
setBigImage
(
String
big_image
)
给通知消息添加大图,big_image
为大图 url 地址,与setBigText
冲突。
setLogo
(
String
logo
,
String
logo_url
)
这个逻辑个推文档没有写是二选一还是都要,等有客户端了测一下。
设定通知的图标,logo
为图标的文件名(包含扩展名),logo_url
为图标的 url 地址。
setChannel
(
String
channel_id
,
String
channel_name
,
int
channel_level
)
这个暂时也不知道是一起的还是分开的。
设定通知渠道的 id channel_id
, 名称channel_name
, 和渠道的重要性级别channel_level
.
渠道重要性级别channel_level
参考(Android 8.0 以上):
0
1
2
3
4
setNotifyId
(
int
notify_id
)
设定一个 notify_id, 在两条消息具有相同的 notify_id 时,新的消息会覆盖旧的消息。
setRing
(
String
ring_name
)
只支持个推通道。设定通知铃声,ring_name
为不包含扩展名的铃声文件名。
setBadge
(
int
badge_add_num
)
只支持华为和荣耀。让 App 角标显示的数字增加badge_add_num
.
setThreadId
(
String
thread_id
)
只支持安卓个推通道。设定一个 thread_id, 在消息具有相同的 thread_id 时,会被折叠成合并通知。
setCategory
(
String
category
)
只支持华为。华为的消息分类,未实装。
build
()
返回构造完成的Notification
消息.
构造 Revoke
同样地,库中也提供了RevokeBuilder
以链式语法构造 Revoke 类型的消息主体。
一个例子:
Methods
init
(
String
old_task_id
)
必需,传入要撤回的消息发送时返回的 taskId.
forceRevoke
()
使用forceRevoke
时,如果个推没有查询到传入的 taskId 对应的推送任务,将会强制撤回当前 App 的所有通知消息。
build
()
返回构造完成的Revoke
指令.
最后更新于