本文中的通知配置接口仅对 ACCS 自有通道通知生效,对厂商通道通知无效。
本文适用于 Android SDK 3.x,具体版本下限以各接口说明为准。文中涉及 SDK 的“及以上版本”均限定在 3.x 范围内。使用 4.x 的应用请参见高阶配置接口(4.x)。
设置通知声音
设置推送通知声音文件路径。注意Android 8.0及以上版本需要使用NotificationChannel配置声音。
-
若不调用本接口,默认获取资源ID为
R.raw.alicloud_notification_sound的资源文件。 -
若没有获取到指定声音文件,取设备设置的消息声音。
setNotificationSoundFilePath
接口定义
void setNotificationSoundFilePath(String filePath)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必填 |
说明 |
|
filePath |
String |
是 |
Uri可以解析的字符串 |
设置通知栏图标
设置推送通知栏图标资源Bitmap。
-
若不调用本接口,默认获取ID为
R.drawable.alicloud_notification_largeicon的资源文件。 -
若没有获取到指定图标文件,取App启动图标。
setNotificationLargeIcon
接口定义
void setNotificationLargeIcon(Bitmap icon)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必填 |
说明 |
|
icon |
Bitmap |
是 |
图标资源Bitmap。 |
设置状态栏图标
设置推送通知状态栏图标资源id。
-
若不调用本接口,默认获取
R.drawable.alicloud_notification_smallicon的资源文件。 -
若没有获取到指定资源文件id,取App启动图标。
setNotificationSmallIcon
接口定义
void setNotificationSmallIcon(int iconId)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必填 |
说明 |
|
iconId |
int |
是 |
图标资源id。 |
设置免打扰时段
设置免打扰时间段,过滤所有通知与消息。
-
免打扰时段仅支持设置一次,多次调用以最后一次调用设置时段为准。
-
仅SDK版本低于V2.3.5时,设置免打扰时间段为00:00-00:00,可取消免打扰功能;V2.3.5及以上版本支持调用closeDoNotDisturbMode接口关闭免打扰功能。
-
全天免打扰可以设置为“00:00-23:59”。
-
免打扰时段设置对小米辅助弹窗通知无效。
setDoNotDisturb
接口定义
void setDoNotDisturb(int startHour, int startMinute, int endHour, int endMinute, CommonCallback callback)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必须 |
说明 |
|
startHour |
int |
是 |
免打扰的起始时间(小时),24小时制,取值范围:0-23。 |
|
starMinute |
int |
是 |
免打扰起始时间(分钟),取值范围:0-59。 |
|
endHour |
int |
是 |
免打扰的结束时间(小时),24小时制,取值范围:0-23。 |
|
endMinute |
int |
是 |
免打扰结束时间(分钟),取值范围:0-59。 |
|
callback |
int |
是 |
设置免打扰时间段的回调类,设置成功后会回调onSuccess,失败以后会回调onFailed。 |
关闭免打扰功能
关闭免打扰功能。
-
免打扰功能是默认关闭的。
-
设置免打扰时间段后自动启用免打扰,无需单独开启。
-
SDK版本V2.3.5及以上版本支持。
closeDoNotDisturbMode
接口定义
void closeDoNotDisturbMode()
所属类
CloudPushService
删除所有通知
删除推送SDK创建的所有通知。厂商通道的通知无法控制删除。
-
若需要实现精准删除特定通知,可在onNotification回调中获取通知id,自行删除。
-
SDK版本V2.3.7及以上版本支持。
clearNotifications
接口定义
void clearNotifications()
所属类
CloudPushService
设置大图标下载监控回调
设置大图标和大图下载失败监控回调,感知大图标和大图下载失败的状态和失败原因。
-
SDK版本v3.8.2及以上支持
setLargeIconDownloadListener
接口定义
void setLargeIconDownloadListener(OnLargeIconDownloadListener listener)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必须 |
说明 |
|
listener |
OnLargeIconDownloadListener |
是 |
下载回调。 |
设置通知折叠展示
设置多条通知折叠展示,默认不折叠。
-
SDK版本v3.8.2及以上支持
setNotificationShowInGroup
接口定义
void setNotificationShowInGroup(boolean inGroup)
所属类
CloudPushService
参数说明
|
参数 |
类型 |
是否必须 |
说明 |
|
inGroup |
boolean |
是 |
|
应用内通道控制接口
-
SDK版本V3.7.4及以上版本支持。
-
这些接口适用于需要手动管理连接的特殊场景。普通移动应用由 SDK 自动管理连接。
控制接口包括判断应用内通道是否连接、重连、重置、监听连接状态等接口。
isConnected
判断应用内通道是否连接。
接口定义
boolean isConnected()
所属类
PushControlService
返回说明
|
类型 |
说明 |
|
boolean |
|
setConnectionChangeListener
监听连接状态接口和判断应用内通道是否连接接口主要用于辅助业务方判断连接的状态。
接口定义
void setConnectionChangeListener(ConnectionChangeListener listener)
所属类
PushControlService
参数说明
|
参数 |
类型 |
是否必须 |
说明 |
|
listener |
ConnectionChangeListener |
是 |
监听回调接口。 |
代码示例
PushServiceFactory.getPushControlService().setConnectionChangeListener(new PushControlService.ConnectionChangeListener() {
@Override
public void onConnect() {
}
@Override
public void onDisconnect(String code, String msg) {
}
});PushServiceFactory.getPushControlService()
.setConnectionChangeListener(object : ConnectionChangeListener {
override fun onConnect() {}
override fun onDisconnect(code: String, msg: String) {}
})reconnect
重连接口用于在业务方发现连接断开一定时间还未重连上时,主动尝试重连。
接口定义
void reconnect()
所属类
PushControlService
reset
重置接口用于重置SDK内部的初始化状态,用于在主动重连后,连接也不会恢复时,重置SDK内部状态,然后调用SDK注册接口,重新注册推送通道。
接口定义
void reset()
所属类
PushControlService