Skip to content

06 · 云同步(自建 Supabase · 多设备 + 照片备份) ​

App 出厂默认纯本地运行(不上传、不需要账号)。如需「多设备同步 + 照片备份」, 自建一个免费的 Supabase 项目(BYO 模式——每个用户自己的项目), 把 URL + Anon Key 粘到登录页即可。完全可选。

步骤 ​

  1. 去 supabase.com 注册账号 → Dashboard 点 「New project」 建一个免费档项目
Supabase Dashboard — 创建新项目
  1. 项目就绪后 → 左侧菜单 → SQL Editor → + New query → 粘贴 schema.sql(App 内有「复制 schema.sql」按钮一键复制)→ 点 Run 执行
Supabase SQL Editor — 粘贴并执行 schema.sql
  1. 回 App 进「登录 / 注册(云同步)」页 → 选「未配置过」分支(首次) → 把 Supabase Project URL + anon public key(在 Project Settings → API 里)粘进去 → 保存

  2. 登录页三种方式任选一种:邮箱验证码 / GitHub OAuth / Google OAuth → 数据开始双向同步

登录页 3 种登录方式 ​

方式何时用
邮箱验证码零配置即用;适合首次 / 不想走 OAuth
GitHub OAuth需要 Supabase 控制台启用 GitHub provider
Google OAuth需要 Supabase 控制台启用 Google provider

登录页 3 个同步按钮 ​

按钮行为风险
立即同步双向 LWW 合并;冲突建副本(id#c<毫秒>,两版本并存)无
从云端覆盖本地 ⚠️删本机全部 → 拉云端本机未同步的改动丢失
将本地覆盖到云端 ⚠️删云端你账号下全部 → 推本机云端其他设备的改动被覆盖

后两个按钮会先弹 AlertDialog 列出「将删除 N 行 M 张图」+ 红底「确认覆盖」。

计费 / 配额 ​

  • 免费档:DB 500 MB / Storage 1 GB / 月活 50,000 —— 个人球拍 + 穿线 + 握把远用不完
  • 数据全部存在你自己的 Supabase 项目;AceCrush 团队看不到,开发者也看不到
  • 想停用:App 内右上角「更换 Supabase 项目」图标 → 二次确认 → 清空当前会话

排错速查 ​

现象原因 / 处理
探测显示「✗ 表不存在」没跑 schema.sql 或没成功 → 重跑步骤 2
探测显示「✗ Anon Key 无效」复制时漏字符;重新完整复制 Project Settings → API 里的 anon public
GitHub / Google 登录报错「该登录方式未启用」自建 Supabase 默认未配这两个 provider;去控制台启用或改用邮箱
邮箱登录收到的是「点击链接」而非 6 位码控制台关「Confirm email」;Email Templates 正文含 token 占位(模板里写成 &#123;&#123; .Token &#125;&#125;,Supabase 渲染时替换为真验证码)
照片下载不下来(行同步成功但 photoUp = 0)用「从云端覆盖本地」一键强拉

相关 ​