Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
hcy!
unidocs-zh
提交
e6093e6a
unidocs-zh
项目概览
hcy!
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e6093e6a
编写于
11月 22, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
push
上级
13fbe104
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
10 deletion
+25
-10
docs/_sidebar.md
docs/_sidebar.md
+3
-2
docs/uni-app-x/api/push.md
docs/uni-app-x/api/push.md
+18
-5
docs/unipush-v2.md
docs/unipush-v2.md
+4
-3
未找到文件。
docs/_sidebar.md
浏览文件 @
e6093e6a
...
...
@@ -35,8 +35,9 @@
*
[
uni-push2.0
](
unipush-v2.md
)
*
[
业务文档
](
unipush-v2.md
)
*
开发文档
*
[
客户端api
](
api/plugins/push.md
)
*
[
服务端api
](
uniCloud/uni-cloud-push/api.md
)
*
[
uni-app客户端api
](
https://uniapp.dcloud.net.cn/api/plugins/push.html
)
*
[
uni-app x客户端api
](
https://uniapp.dcloud.net.cn/uni-app-x/api/push.html
)
*
[
服务端api
](
https://uniapp.dcloud.net.cn/uniCloud/uni-cloud-push/api.html
)
*
[
uni-push2.0、uni-id、uni统计的组合
](
uniCloud/uni-cloud-push/mate.md
)
*
[
uni统计
](
uni-stat.md
)
*
[
uni统计2.0
](
uni-stat-v2.md
)
...
...
docs/uni-app-x/api/push.md
浏览文件 @
e6093e6a
# uni-push
uni-push是DCloud与合作伙伴共同推出的统一推送服务。该业务的完整业务介绍另见:
[
uni-push
](
https://uniapp.dcloud.net.cn/unipush-v2.html
)
uni-push是DCloud与合作伙伴共同推出的统一推送服务。用于从服务器端推送消息到客户端。
它包括在线推送、离线推送,聚合了Apple、华为、小米、OPPO、VIVO、魅族、Google等多个手机厂商的推送通道。
若不使用服务器推送,仅想创建手机通知栏本地消息,也需要使用本模块的API。
它是一个云端一体的业务,涉及多份文档:
1.
业务介绍:对于未使用过uni-push的新用户,本文必读:
[
uni-push业务介绍
](
https://uniapp.dcloud.net.cn/unipush-v2.html
)
2.
客户端API,即本文
3.
服务器API,
[
另见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-cloud-push/api
)
本文是 uni-app x 中涉及该业务的API的介绍。
## uni.getPushClientId(options) @getpushclientid
...
...
@@ -28,7 +36,7 @@ uni-push是DCloud与合作伙伴共同推出的统一推送服务。该业务的
<!-- UTSAPIJSON.onPushMessage.tutorial -->
## 注意事项
##
#
注意事项
*
如果多次监听
`onPushMessage`
,那么事件也会多次触发,所以当不需要监听的时候需要
`offPushMessage`
。
...
...
@@ -56,7 +64,7 @@ uni-push是DCloud与合作伙伴共同推出的统一推送服务。该业务的
<!-- UTSAPIJSON.getChannelManager.tutorial -->
## 注意事项
##
#
注意事项
*
由于各大厂商限制推送频次,当使用厂商离线推送的时,需要在不同品牌手机后台开通自分类权益,
[
限制数量说明
](
https://docs.getui.com/getui/mobile/vendor/qps/
)
-
[
华为
](
https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/message-classification-0000001149358835
)
...
...
@@ -88,6 +96,12 @@ uni-push是DCloud与合作伙伴共同推出的统一推送服务。该业务的
<!-- UTSAPIJSON.general_type.param -->
## 示例代码
hello uni-push是可跑通、同时包含客户端和服务器完整流程的代码。
[
https://gitcode.net/dcloud/hello-uni-push
](
https://gitcode.net/dcloud/hello-uni-push
)
在业务开通、配置正确的情况下,执行项目下的云函数,即可给客户端发送消息。
## 注意事项
*
关于隐私安全问题,由于在调用
`getPushClientId`
或者
`onPushMessage`
时,才会初始化个推SDK,所以开发者要确保弹出隐私框之前不调用此两项API。
...
...
@@ -130,5 +144,4 @@ uni-push是DCloud与合作伙伴共同推出的统一推送服务。该业务的
*
uni-app x 的push模块仅支持uni-push2,不再支持uni-push1。但这不意味着强绑uniCloud的付费行为。而是DCloud的所有云服务都将统一纳入到uniCloud体系管理,开发者在开通uni-push2后,也可以拿到mastersecret,然后在自己的服务器去直接连接个推服务器。
*
uni-push是一个独立的模块,在标准基座中并不包含。开发push需要首先编写push相关代码,然后打包自定义基座,根据摇树规则,打出的自定义基座才会包含push模块。详见
[
摇树
](
../manifest.md#treeShaking
)
*
创建本地通知栏,理论上可以和个推的服务无关。但目前也都包含在push模块里了。如果您不需要服务器推送,只需要本地创建通知栏,也需要打包push模块才行。
*
hello uni-push是可跑通的参考代码。
[
https://gitcode.net/dcloud/hello-uni-push
](
https://gitcode.net/dcloud/hello-uni-push
)
*
部分手机创建本地通知时,App如果在后台状态,点击通知消息并不会拉起App,原因是厂商增加了后台弹窗权限,需要用户手动打开此权限。
docs/unipush-v2.md
浏览文件 @
e6093e6a
...
...
@@ -206,6 +206,7 @@ uni-push产品有2个入口:
<img
width=
"50%"
style=
"max-width:260px;"
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/WechatIMG589.jpeg"
/>
uni-app x有摇树机制,需要在代码中编写api调用,然后打包就会包含push模块。
[
详见
](
https://uniapp.dcloud.net.cn/uni-app-x/manifest#treeShaking
)
#### 小程序中使用uni-push2.0的白名单配置@useinmp
...
...
@@ -336,10 +337,10 @@ exports.main = async (event, context) => {
# 最佳实践
上一章,演示了基于“客户端推送标识”的消息推送,仅为方便理解和体验;在业务开发中,通常是指定消息的接收人,而不是某个设备。
如果项目使用
[
uni-id-pages
](
https://ext.dcloud.net.cn/plugin?id=8577
)
,即可直接指定基于uni-id的
user_id、user_tag
,并可筛选设备的平台、登录信息是否有效等,执行推送消息。
如果项目使用
[
uni-id-pages
](
https://ext.dcloud.net.cn/plugin?id=8577
)
,即可直接指定基于uni-id的
`user_id`
、
`user_tag`
,并可筛选设备的平台、登录信息是否有效等,执行推送消息。
uni-id-pages已经内置:在登录账号、退出账号、切换账号、token续期、注销账号5个时机,管理uni-id-device表、opendb-device表与
user_id、push_clientid、platform、os_name
等字段的映射关系。
[
详情参考
](
/uniCloud/uni-cloud-push/mate
)
uni-id-pages已经内置:在登录账号、退出账号、切换账号、token续期、注销账号5个时机,管理uni-id-device表、opendb-device表与
`user_id`
、
`push_clientid`
、
`platform`
、
`os_name`
等字段的映射关系。
[
详情参考
](
/uniCloud/uni-cloud-push/mate
)
此外uni-push2.0 还提供了uni-admin中的web控制台
[
uni-push-admin
](
https://ext.dcloud.net.cn/plugin?name=uni-push-admin
)
。
如图,包含消息推送、推送统计等功能的,
此外uni-push2.0 还提供了uni-admin中的web控制台
[
uni-push-admin
](
https://ext.dcloud.net.cn/plugin?name=uni-push-admin
)
。
包含消息推送、推送统计等功能,而且是开源的,可自定义。如图:
![](
https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/f981f620-f9de-11ec-8412-6b7a68f609ab_0.jpg
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录