diff --git a/docs/api/plugins/push.md b/docs/api/plugins/push.md index 486ba84306d8e8727705cd9c83a27c90c8cfa420..93c1e0246ca37e4676348054f79a94bfd26af002 100644 --- a/docs/api/plugins/push.md +++ b/docs/api/plugins/push.md @@ -80,6 +80,76 @@ uni.offPushMessage(callback); - 如果uni.offPushMessage没有传入参数,则移除App级别的所有事件监听器; - 如果只提供了事件名(callback),则移除该事件名对应的所有监听器; +### uni.getChannelManager()@getChannelManager + +获取通知渠道管理器,Android 8系统以上才可以设置通知渠道。 + +#### getChannelManager兼容性 + +**返回值说明** + +|类型| +|:-| +|[ChannelManager](#ChannelManager)| + +|Android 系统版本 |Android|iOS|其他| +|:-|:-|:-|:-| +|8.0|4.02|x|x| + +### ChannelManager + +渠道管理器 + +#### setPushChannel(options) + +设置推送渠道 + +|名称|类型|必填| +|:-|:-|:-| +|options|[SetPushChannelOptions](#SetPushChannelOptions)|是| + + +##### SetPushChannelOptions 的属性值 + +|名称|类型|必备|默认值|描述| +|:-|:-|:-|:-|:-| +|soundName|string|否|null|声音文件名| +|channelId|string|是|-|通知渠道id| +|channelDesc|string|是|-|通知渠道描述| +|enableLights|boolean|否|false|呼吸灯闪烁| +|enableVibration|boolean|否|false|震动| +|importance|number|否|3|通知的重要性级别,可选范围IMPORTANCE_LOW:2、IMPORTANCE_DEFAULT:3、IMPORTANCE_HIGH:4| +|lockscreenVisibility|number|否|-1000|锁屏可见性,可选范围VISIBILITY_PRIVATE:0、VISIBILITY_PUBLIC:1、VISIBILITY_SECRET:-1、VISIBILITY_NO_OVERRIDE:-1000| + + +##### setPushChannel兼容性 + +|Android 系统版本 |Android|iOS|其他| +|:-|:-|:-|:-| +|8.0|4.02|x|x| + +#### getAllChannels() + +获取当前应用注册的所有的通知渠道。 + +##### 返回值 +|类型| +|:-| +| Array | + + +##### getAllChannels兼容性 + +|Android 系统版本 |Android|iOS|其他| +|:-|:-|:-|:-| +|8.0|4.02|x|x| + +### 注意事项 + +* 通知渠道相关配置为Android端专有配置,只能在Android端进行配置。[通知渠道](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn) +* 离线推送申请自分类权益时,需要客户端创建channel,因此客户端提供了`setPushChannel`来进行channel的创建,通过此Api来创建渠道进行推送。客户端创建渠道成功后,即可通过云函数进行推送,[uni-push2服务端文档](https://doc.dcloud.net.cn/uniCloud/uni-cloud-push/api.html)。 +* 由于Android通知渠道的机制问题,一旦通知渠道建立,便不能修改此渠道的配置,即使删除渠道后再次创建同channelId名称的渠道,也不会改变原先渠道的配置(除非删除应用),最明显的现象就是铃声动态修改失败,比如调用`setPushChannel`时,第一次的设置参数是`{"channelId":"test","soundName":"pushsound"}` , 这时你想切换铃音,你的channelId就不能再叫test了,而应该为`{"channelId":"test2","soundName":"ring"}` ,此时会新建一个渠道。 + ### uni.createPushMessage(OBJECT)@createPushMessage 创建本地通知栏消息(HBuilderX 3.5.2起支持) @@ -101,6 +171,8 @@ uni.offPushMessage(callback); |cover |boolean |否 |是否覆盖上一次提示的消息
可取值:`true`或`false`,true为覆盖,false不覆盖,默认为permission中设置的cover值
Android - ALL (支持)
iOS - 5.0+ (不支持): 不支持覆盖消息,只能创建新的消息。 | |delay |number |否 |提示消息延迟显示的时间
当设备接收到推送消息后,可不立即显示,而是延迟一段时间显示,延迟时间单位为s,默认为0s,立即显示。 | |when |Date |否 |消息上显示的提示时间
默认为当前时间,如果延迟显示则使用延时后显示消息的时间。
Android - ALL (支持)
iOS - 5.0+ (不支持): 不支持设定消息的显示时间,由系统自动管理消息的创建时间。 | +|channelId |string |否 |渠道id, 支持的版本:HBuilder X 4.02+| +|category |string |否 |通知类别,支持的版本:HBuilder X 4.02+| |success |Function |否 |接口调用成功的回调函数 | |fail |Function |否 |接口调用失败的回调函数 | |complete |Function |否 |接口调用结束的回调函数(调用成功、失败都会执行)