01 / Problem
問題與使用情境
Google Play 封閉測試需要 12 位測試者連續 14 天參與。1214 把招募、報名、打卡、回饋與結算放進同一個任務流程。
02 / Workflow
操作流程
- 01
發布
開發者發布 12 人任務;固定 1 點/人,發布時保留 12 點。
- 02
報名
測試者通過 Turnstile 與信譽門檻後報名;滿 12 人開啟 14 天窗口。
- 03
參與
每個 UTC 日打卡一次;結束後提交結構化回饋。
- 04
結算
開發者接受或提出爭議,必要時由管理員仲裁並調整信譽。
03 / Functions
已實作功能
- 12 位測試者 × 14 天參與的任務模板(固定規則)
- 任務發布與報名(Cloudflare Turnstile 防機器人)
- 每日打卡(每個 UTC 日一次)
- 點數帳本與交易紀錄
- 信譽分數與自動增減
- 結構化回饋與結算/爭議/仲裁
- 參與證據中心(12/14 進度)
- 站內通知(目前僅站內,無 email/Web Push)
04 / Interface
公開介面
05 / Architecture
系統與資料流
01 瀏覽器 → Cloudflare Pages(同源代理) → Worker API → D1 任務、點數、結算與使用者資料
02 瀏覽器 → Google OAuth(authorization-code,後端處理) 身份驗證:openid · email · profile
03 Worker → KV(sessions:{token},TTL 7 天) HS256 JWT session,登出即撤銷
04 瀏覽器 → Cloudflare Turnstile 報名防機器人驗證
06 / Data & privacy
資料與隱私邊界
- Google 登入範圍:openid、email、profile
- 後端驗證 Google ID token 的簽章、issuer 與 audience
- 不保存 Google access token 或 refresh token
- HS256 JWT session 存於 KV,7 天到期;登出或刪除時撤銷
- 帳號刪除由管理員處理:匿名化識別資料並撤銷 session
07 / Limits
目前限制
- 推廣期不開放付費儲值
- 目前只有站內通知,尚無 Email/Web Push
- 平台不查詢 Google Play,也不保證 Production access 審核結果
- 回饋目前不支援圖片上傳
- 帳號刪除需申請並由管理員處理