diff --git a/docs/uniCloud/uni-cloud-push/api.md b/docs/uniCloud/uni-cloud-push/api.md index 7777f3074622bdc887164893899739a86b8f7c30..aadfaeb18c8e1ceebc63d3ba553eb2181f548172 100644 --- a/docs/uniCloud/uni-cloud-push/api.md +++ b/docs/uniCloud/uni-cloud-push/api.md @@ -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`向用户推送消息有被窃听的风险(营销类消息不用太关心这个)。