跳轉到內容
supastack
瀏覽檔案

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/mobile/notifications.md (or send Accept: text/markdown).

通知與推送

應用內收件箱、渠道偏好,以及 Expo 推送管線。

詢問本指南
開啟方式

收件箱與渠道偏好

通知標籤頁列出 GET /api/notifications 返回的工作區通知,並對通知 id 發起 PATCH 標記已讀。“設定 → 通知”編輯共享的渠道偏好 —— emailBilling、emailInvites、inAppProduct —— 通過同一路由偏好檢視的 GET 與 PATCH 完成,正是 Web 應用使用的契約。未讀數量會顯示在首頁。

為推送註冊裝置

登入時 —— 以及每次切換工作區時 —— 應用會請求通知許可權、從應用配置解析 EAS 專案 id、獲取 Expo 推送 token,並提交到 POST /api/mobile/push-tokens。Android 在預設渠道上以高重要性註冊。

註冊結果報告為 registered、permission_denied 或 unavailable,且絕不拋錯 —— 推送永遠不會阻塞登入。Expo Go 與模擬器無法完成註冊,真實覆蓋需要開發構建。token 儲存在 SecureStore(supastack.push.token)中,以便退出登入時在會話 Cookie 銷燬前先將其登出。

服務端投遞與回執

GET 列出成員的 token,POST 在當前工作區下 upsert token,DELETE 撤銷 —— 列表與撤銷保持使用者級作用域,沒有工作區的賬戶也能清理。每個使用者最多保留二十個裝置 token;多註冊一個會修剪最舊的那個。

每條應用內工作區通知也會盡力推送:伺服器以一百條為一批呼叫 Expo 推送 API,記錄 ok 票據,並立即清理 DeviceNotRegistered 的 token。可選的服務端專用 EXPO_ACCESS_TOKEN 會為這些呼叫附加 Bearer 頭,且絕不寫入日誌。一個平臺計劃任務每三十分鐘核對一次回執並清掃過期票據 —— 它與其他平臺計劃任務共用同一個排程 tick 驅動。

# Optional server-only token for authenticated Expo push sends:
# apps/web/.env.local
EXPO_ACCESS_TOKEN=

點選通知開啟應用路由

傳送方把 Web 路徑附在 data.href 上。應用會校驗它 —— 只允許以斜槓開頭的絕對路徑、限制長度、禁止路徑穿越 —— 並把已知路徑對映為原生路由,例如 /billing 到 /settings/billing、/dashboard 到 /home。未登入時到達的點選會先緩衝,登入完成後再回放。

驗證與排障

在開發構建上測試:授予與拒絕許可權、在“設定 → 通知”中切換推送 —— 介面會把此裝置報告為 enabled、disabled 或 denied —— 並分別以冷態與熱態點選通知。如果關閉時報錯,說明服務端登出失敗,裝置會保持註冊狀態直到成功為止。

常見問題

14 個問題

supastack 是什麼?

supastack 是用於構建 AI 驅動 SaaS 產品的模組化基礎。它把通用基礎設施整合在一起,讓你專注於產品專屬的功能。

它支援 Web 和移動端嗎?

支援。supastack 包含 Next.js 與 Expo 應用,作為 Web 與移動端體驗的起點。

包含哪些認證方式?

Better Auth 覆蓋郵箱/密碼、OTP 與社交登入。個人工作區隨賬戶一起開通,產品記錄從第一天起就有邊界。

AI 是如何支援的?

supastack 包含可配置的多供應商 AI、用量追蹤、預算,以及加密的自帶金鑰(BYOK)支援。

訂閱如何處理?

對於基於該套件構建的產品,Stripe 計費、訂閱與許可權構成付費訪問的基礎。供應商金鑰僅存於服務端。

我的產品專屬程式碼放在哪裡?

產品專屬功能保留在獨立的程式碼庫中,產品通過配置接入 supastack 的基礎模組。

supastack 如何定價?

套件為一次性購買、終身更新:單棧 249 美元(Next.js(Web)、Expo(iOS 與 Android)、Tauri(macOS 與 Windows 桌面)倉庫任選其一),雙棧 398 美元(任選兩個倉庫),或完整套裝 399 美元(全部三個倉庫與完整 monorepo),每個額外開發者席位 75 美元。套件本身沒有訂閱。本站結賬後通過郵件傳送許可證金鑰,倉庫訪問通過 GitHub 邀請授予。

工作區如何界定我的資料?

使用者記錄按 workspaceId 劃定邊界。身份、許可權、AI 用量、計費事件與審計條目都留在個人工作區邊界內。

後臺任務如何工作?

Trigger.dev 是明確的任務執行時。JobRunner 契約只承諾 enqueue、status 與 cancel——工作流語義保持 Trigger.dev 專有且顯式。

郵件與營銷觸達有何不同?

事務性郵件覆蓋產品工作流,如任務完成通知。冷觸達與營銷活動屬於產品自身的範疇,不在本套件的郵件模組內。

移動端購買如何運作?

移動端已支援 RevenueCat 原生購買和恢復購買,訪問許可權由服務端驗證。釋出前需配置商店賬戶並完成裝置測試。Web 計費保持獨立。

AI 供應商金鑰存放在哪裡?

自帶金鑰憑證經過加密且僅存於服務端。金鑰在日誌中被脫敏;用量與預算在工作區級別保持可見。

結賬支援哪些付款方式?

Stripe 託管結賬接受銀行卡,在 Stripe 賬戶啟用後還可提供支付寶與微信支付——方便中國買家。錢包授權為非同步確認,付款完成後許可證頁面會立即更新。

我能申請退款嗎?

獲得程式碼倉庫訪問許可權後,supastack 將永久歸你所有,因此無法退款。但請放心,你將獲得包含終身更新的完整原始碼,可為你自己或客戶構建併發布無限數量的產品。你只需注意不能轉賣程式碼,也不能將倉庫作為啟動模板二次分發。唯一的例外是上線返現——上線一款用 supastack 打造的真實產品並公開分享,在購買後 60 天內達到 5,000 次自然瀏覽或 50 個自然按讚,即可退還已付款項的 50%;詳見條款。

TW
主題