币安自选币列表跨设备同步原理
在手机上加了几个自选币,回到电脑上自动出现,这种「跨设备同步」体验依赖币安的云端机制。本笔记把同步机制讲清。直接打开 币安官网;下载 APP 走 币安官方APP;iPhone 装机看 iOS安装教程。
同步的内容
币安云端同步的「用户偏好」:
| 项 | 是否跨设备同步 |
|---|---|
| 自选币列表 | 是 |
| 价格预警设置 | 是 |
| 标签分组 | 是 |
| 持仓快照 | 是(实时拉取) |
| K 线时间周期偏好 | 部分版本 |
| 主题(深 / 浅色) | 否(本地) |
| 字体大小 | 否(本地) |
| 通知开关 | 部分 |
核心交易数据全同步,UI 偏好部分本地。
同步的工作流程
把币加入自选时背后发生的事:
- APP 调用「加入自选」按钮
- 本地立即更新 UI
- 后台异步发请求到 binance API
- 服务端写入用户的 watchlist 表
- 下次其它设备查询时拉取最新
整个过程对用户透明,加入后基本即时同步。
同步频率
不同操作的同步:
| 操作 | 同步延迟 |
|---|---|
| 添加自选 | 立即(< 1 秒) |
| 删除自选 | 立即 |
| 重新排序 | 立即 |
| 价格预警添加 | 立即 |
同步走 HTTP API,比 WebSocket 慢但稳定。
冲突解决
如果你在两台设备上几乎同时操作:
- 设备 A 早 0.5 秒加入 BTC 到自选
- 设备 B 在 0.5 秒后删除 BTC 自选
最终结果以「最后操作」为准,即 BTC 不在自选。这种「最后写入获胜」(LWW)是常见冲突解决策略。
离线时的行为
无网络时操作自选:
- 本地 UI 立即响应
- 操作记录在本地队列
- 网络恢复后自动同步
- 同步失败时弹错误提示
如果离线期间云端发生了变化,重新连上时本地的更改可能被覆盖。
数据结构
自选币列表在云端存储为类似:
- userId(账户 UID)
- symbol(如 BTCUSDT)
- addedTime(添加时间戳)
- groupName(分组)
- order(排序权重)
每个用户最多绑定多少自选币:
- 现货:约 50-100 个
- 合约:约 50 个
- 总数受 VIP 等级影响
多账号的处理
如果你登录账号 A,加了自选;切到账号 B:
- 账号 B 的自选独立
- 不会看到 A 的自选
- 也不能从 A 复制过来
云端同步是「per UID」级别。
浏览器与 APP 的同步
浏览器与 APP 都拉同一个 watchlist:
- 浏览器加自选 → 后台 API 写云端
- APP 启动 → 拉取最新 watchlist
- 几秒内显示更新
但浏览器无法主动推送给 APP,APP 需要主动刷新(下拉刷新或重新打开)。
缓存策略
APP 端的缓存:
- 启动时拉取一次
- 用户操作时实时更新(双向)
- WebSocket 推送行情但不主动推送 watchlist 变化
- 切换 Tab 时刷新
所以偶尔会出现「另一端加了自选但当前端还没显示」的几秒延迟。
同步失败的处理
同步失败常见原因:
- 网络断开
- API 限流
- 服务端错误
处理:
- 一段时间后自动重试
- 如果反复失败,APP 内提示「同步失败」
- 用户主动「下拉刷新」可重试
数据导出
币安 APP 不直接支持导出 watchlist 为文件。但可以:
- 截屏保存
- 通过 API 调取(开发者)
- 或者纯手工记录
第三方同步工具
少数第三方工具尝试跨平台同步 watchlist:
- 风险:需要 API Key 权限
- 不推荐:减少 API Key 暴露
币安官方原生同步已经够用。
同步的隐私
watchlist 在服务端保存:
- 受币安数据安全协议保护
- 加密存储
- 仅本人可见
不会与其它用户共享。
跨账号「迁移」
如果你想把账号 A 的 watchlist 复制到账号 B:
- 账号 A 截屏 watchlist
- 在账号 B 里手动逐个加入
没有官方批量迁移工具。
设置层面的同步
部分设置层面的「同步」开关(不同版本可能有差):
- APP 内 → 设置 → 同步
- 开关:是否同步 watchlist 与设置
默认是开。一般不要关闭。
FAQ
Q:自选币顺序也同步吗? A:是。重新排序的位置同步到云端。
Q:删除 APP 重装会丢自选吗? A:不会。重新登录后从云端拉回。
Q:跨设备同步要付费吗? A:不要。基础功能免费。
Q:能不能用 API 程序自动管理 watchlist? A:可以。币安开放 API 支持 watchlist 操作。