Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76266857
unidocs-zh
提交
733cfd81
U
unidocs-zh
项目概览
2301_76266857
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
733cfd81
编写于
7月 12, 2022
作者:
hbcui1984
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/dcloudio/unidocs-zh
上级
94028795
ad240a23
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
42 addition
and
2 deletion
+42
-2
docs/uniCloud/_sidebar.md
docs/uniCloud/_sidebar.md
+1
-0
docs/uniCloud/uni-cloud-push/api.md
docs/uniCloud/uni-cloud-push/api.md
+6
-0
docs/uniCloud/uni-cloud-push/mate.md
docs/uniCloud/uni-cloud-push/mate.md
+33
-0
docs/unipush-v2.md
docs/unipush-v2.md
+2
-2
未找到文件。
docs/uniCloud/_sidebar.md
浏览文件 @
733cfd81
...
...
@@ -52,6 +52,7 @@
*
Push扩展库(socket)
*
[
业务文档
](
unipush-v2.md
)
*
[
开发文档
](
uniCloud/uni-cloud-push/api.md
)
*
[
uni-push2.0、uni-id、uni统计的组合
](
uniCloud/uni-cloud-push/mate.md
)
*
[
扩展参数
](
uniCloud/uni-cloud-push/options.md
)
*
[
运行与调试
](
uniCloud/rundebug.md
)
<!-- * [日志输出](uniCloud/cf-logger.md) -->
...
...
docs/uniCloud/uni-cloud-push/api.md
浏览文件 @
733cfd81
> 需要HBuilderX 3.5.1 及其以上版本支持
<div
style=
"display: flex;align-items: center;"
>
<img
width=
"20px"
height=
"21px"
src=
"https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/759713d0-4f2d-11eb-a16f-5b3e54966275.png"
>
<a
target=
"_blank"
href=
"https://qm.qq.com/cgi-bin/qm/qr?k=EErVqoKDps4QSo5M0mm_OfzdA7JqtQU4&jump_from=webapi"
>
uni-push2.0 官方QQ交流群:757742921
</a>
</div>
# 开发文档
`uni-push`
有服务器API和客户端API。
...
...
docs/uniCloud/uni-cloud-push/mate.md
0 → 100644
浏览文件 @
733cfd81
## uni-push2.0、uni-id、uni统计的组合说明
### 包含的opendb表
|数据表名称|操作(添加/更新)时机 |内容/作用 |
|-- |-- |-- |
|opendb-tempdata|旧token过期时 |向个推服务器发起请求的token |
|open-device |设备启动、登录 |push_clientid与详细的
[
设备信息
](
#deviceInfo
)
|
|uni-id-device |登录 |主要用于存储user_id 与 device_id的映射关系,完整字段:user_id、device_id、token_expired、push_clientid、appid |
**详情:**
1.
uni统计模块,在设备启动时立即调用
[
getPushClientId
](
https://uniapp.dcloud.io/uniCloud/uni-cloud-push/api.html#getpushclientid
)
获取
`push_clientid`
,如果获取成功后(应用未在manifest中启用uni-push2.0则会获取失败)则调用
`uni-stat-receiver`
云对象的
`report`
方法(参数:
`push_clientid`
),服务器会向
`opendb-device`
表写入或更新(存在时):
[
设备信息
](
#deviceInfo
)
和
`push_clientid`
。
2.
uni-id-pages插件,调用
[
uniCloud.onRefreshToken
](
https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-refresh-token
)
监听token发生变化(即:用户登录和token续期时),调用
`uni-id-co`
云对象的
`setPushCid`
方法(参数:
`push_clientid`
)服务器操作
`uni-id-device`
表,记录
`device_id`
与
`user_id`
的映射关系;完整字段包含
`user_id`
、
`device_id`
、
`token_expired`
、
`push_clientid`
、
`appid`
。同时再向
`opendb-device`
表写入或更新(存在时):
[
设备信息
](
#deviceInfo
)
和
`push_clientid`
。
综上:
`push_clientid`
被存储在
`uni-id-device`
和
`opendb-device`
两个表,前者用于存储
`device_id`
与
`user_id`
的映射关系,仅用户登录成功后才有对应数据;后者用于存储完整的
[
设备信息
](
#deviceInfo
)
,未登录的用户也有对应的数据。
**注意:**
当用户未登录时,我们可以基于
`device_id`
向用户推送消息,但有被窃听的风险(营销类消息不用太关心这个)。因为
`opendb-device`
表中存储的
[
设备信息
](
#deviceInfo
)
,底层的技术原理是获取客户端自动上报的信息,理论上存在被篡改可能。如:张三使用李四的
`device_id`
+张三的
`push_clientid`
。上报数据;服务器会认为李四的
`push_clientid`
更新了,从而将李四的
`device_id`
与
`push_clientid`
的映射关系,指向张三的
`push_clientid`
;张三从而窃听到,其他人发给李四的消息。
而基于
`user_id`
或者
`user_tag`
推送消息,是基于
`uni-id-device`
表,在新增/更新操作时:会校验当前用户的
`user_id`
,不会被其他用户篡改,即没有被他人窃听消息的风险。
#### 设备信息@deviceInfo
来源uniCloud云对象中的
[
this.getClientInfo
](
https://uniapp.dcloud.io/uniCloud/cloud-obj.html#get-client-info
)
方法,完整字段列表参考:
[
uni.getSystemInfo
](
https://uniapp.dcloud.net.cn/api/system/info.html#getsysteminfo
)
### 推送接口查库详解:
<img
style=
"width:80%;max-width:450px;margin:0 10%"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/54b808b4-4a98-4316-86a1-4db914a48961.jpg"
>
-
推送目标依据为:
`push_clientid`
直接执行推送。
-
推送目标依据为:
`device_id`
,查
`opendb-device`
表,获得
`push_clientid`
执行推送
-
推送目标依据为:
`users_id`
查
`uni-id-device`
表(如果需要验证platform就联查
`opendb-device`
表),获得
`push_clientid`
执行推送
-
推送目标依据为:
`user_tag`
查
`uni-id-users`
表,获得
`users_id`
查
`uni-id-device`
表(如果需要验证platform就联查
`opendb-device`
表),获得
`push_clientid`
执行推送
\ No newline at end of file
docs/unipush-v2.md
浏览文件 @
733cfd81
...
...
@@ -3,7 +3,7 @@
<div
style=
"display: flex;align-items: center;"
>
<img
width=
"20px"
height=
"21px"
src=
"https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/759713d0-4f2d-11eb-a16f-5b3e54966275.png"
>
<a
target=
"_blank"
href=
"https://qm.qq.com/cgi-bin/qm/qr?k=EErVqoKDps4QSo5M0mm_OfzdA7JqtQU4&jump_from=webapi"
>
官方QQ交流群:757742921
</a>
<a
target=
"_blank"
href=
"https://qm.qq.com/cgi-bin/qm/qr?k=EErVqoKDps4QSo5M0mm_OfzdA7JqtQU4&jump_from=webapi"
>
uni-push2.0
官方QQ交流群:757742921
</a>
</div>
# 应用场景
...
...
@@ -282,7 +282,7 @@ 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已经内置:在登录账号、退出账号、切换账号、token续期、注销账号5个时机,管理uni-id-device表、opendb-device表与user_id、push_clientid、platform、os_name等字段的映射关系。
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
)
。如图,包含消息推送、推送统计等功能的,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录