提交 3b4ea535 编写于 作者: DCloud_JSON's avatar DCloud_JSON

Update api.md

上级 aeb8e30d
......@@ -51,7 +51,7 @@
如果用户处于未登录状态,你可以基于`device_id`向用户推送消息,但是推送服务器底层只识别`push_clientid`,需要通过查数据库获得`push_clientid`。而`device_id``push_clientid`的映射关系不由`uni-push`提供,而是由[uni统计](https://uniapp.dcloud.io/uni-stat-v2.html)模块内置的功能实现。如果你不使用uni统计,则需要在应用启动时调用[getPushClientId](/api/plugins/push)获取`push_clientid`,获取成功后(应用未在manifest中启用uni-push2.0则会获取失败)调用服务端云对象的某个方法(参数:`push_clientid`)执行向`opendb-device`表写入或更新(存在时):[设备信息](https://uniapp.dcloud.io/uniCloud/cloud-obj.html#get-client-info)`push_clientid`
同理基于`user_id`向用户推送消息,需要`user_id``push_clientid`的映射关系,可以直接使用[uni-id-pages](https://ext.dcloud.net.cn/plugin?id=8577)插件内置的功能实现。如果你不使用`uni-di-pages`需要在`App.vue`调用[uniCloud.onRefreshToken](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-refresh-token) 监听token发生变化(即:用户登录和token续期时),调用服务端云对象的某个方法(参数:`push_clientid`)操作`uni-id-device`表,记录`device_id``user_id`(防客户端伪造,需校验`token`)的映射关系;完整字段包含`user_id``device_id``token_expired``push_clientid``appid`。同时再向`opendb-device`表写入或更新(存在时):[设备信息](https://uniapp.dcloud.io/uniCloud/cloud-obj.html#get-client-info)`push_clientid`
同理基于`user_id`向用户推送消息,需要`user_id``push_clientid`的映射关系,可以直接使用[uni-id-pages](https://ext.dcloud.net.cn/plugin?id=8577)插件内置的功能实现。如果你不使用`uni-id-pages`需要在`App.vue`调用[uniCloud.onRefreshToken](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-refresh-token) 监听token发生变化(即:用户登录和token续期时),调用服务端云对象的某个方法(参数:`push_clientid`)操作`uni-id-device`表,记录`device_id``user_id`(防客户端伪造,需校验`token`)的映射关系;完整字段包含`user_id``device_id``token_expired``push_clientid``appid`。同时再向`opendb-device`表写入或更新(存在时):[设备信息](https://uniapp.dcloud.io/uniCloud/cloud-obj.html#get-client-info)`push_clientid`
**注意:** 客户端上报的信息在理论上存在被篡改可能,基于`device_id`向用户推送消息有被窃听的风险(营销类消息不用太关心这个)。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册