V1 至 V2 伺服器遷移指南
重要通知
V1 伺服器(NyanCat 後端)將於 2026 年 6 月 30 日停止服務。
所有開發者必須在此日期之前遷移至 V2 伺服器(CrimsonLion 後端),以確保持續的服務可用性。
此外,V2 伺服器的測試版將於 2026 年 6 月 30 日結束,屆時 V2 將成為穩定的生產環境後端。
概述
本指南幫助您從 V1 伺服器(NyanCat 後端)遷移至 V2 伺服器(CrimsonLion 後端)。V2 伺服器提供增強的功能、改進的性能和額外的生命體徵測量。
重要日期
| 日期 | 事件 |
|---|---|
| 2026 年 6 月 30 日 | V1 伺服器(NyanCat)終止服務 |
| 2026 年 6 月 30 日 | V2 伺服器(CrimsonLion)測試期結束 |
| 2026 年 6 月 30 日之後 | 僅支援 V2 伺服器 |
為什麼遷移至 V2?
V2 伺服器(CrimsonLion 後端)提供:
- 增強的生命體徵:額外的測量項目,包括身體健康、心理健康等
- 提高的準確性:更好的信號處理和分析算法
- 更好的性能:優化的雲端基礎設施
- 未來更新:所有新功能將僅在 V2 上提供
遷移步驟
步驟 1:啟用精確度模式(一行代碼!)
遷移到 V2 很簡單
只需在配置中添加一行代碼:
precisionMode: PrecisionMode.relaxed當您設置 precisionMode 時,SDK 會自動使用 V2 伺服器(CrimsonLion 後端)。您不需要手動設置 serverId。
就這樣!這一行代碼即可啟用 V2 及其所有增強功能。
要遷移到 V2,只需在您的 SDK 配置中添加這一行代碼:
const config = {
sdkCredentials: {
apiKey: "YOUR_API_KEY",
userId: "YOUR_USER_ID"
},
precisionMode: PrecisionMode.relaxed // ← 添加這一行代碼 - 就這樣!
}const config = {
sdkCredentials: {
apiKey: "YOUR_API_KEY",
userId: "YOUR_USER_ID"
},
precisionMode: PrecisionMode.relaxed // ← 添加這一行代碼 - 就這樣!
}camera.configure {
sdkCredentials = SdkCredentials(
apiKey = "YOUR_API_KEY",
userId = "YOUR_USER_ID"
)
precisionMode = PrecisionMode.Relaxed // ← 添加這一行代碼 - 就這樣!
}camera.setup { camera in
camera.sdkCredentials = .init(
apiKey: "YOUR_API_KEY",
userId: "YOUR_USER_ID"
)
camera.precisionMode = .relaxed // ← 添加這一行代碼 - 就這樣!
}VitalSignCamera(
sdkCredentials: SdkCredentials(
apiKey: 'YOUR_API_KEY',
userId: 'YOUR_USER_ID',
),
precisionMode: PrecisionMode.relaxed, // ← 添加這一行代碼 - 就這樣!
// ...
)精確度模式選項
PrecisionMode.relaxed(TypeScript / JavaScript / Flutter)或PrecisionMode.Relaxed(Android):建議大多數應用程式使用。使用 V2 伺服器,平衡性能和準確性。PrecisionMode.strict(TypeScript / JavaScript / Flutter)或PrecisionMode.Strict(Android):使用 V2 伺服器,具有更嚴格的品質要求,以達到最大準確性。
使用 SdkCredentials 設定憑證
推薦做法
請始終使用 SdkCredentials 物件傳入您的 API 金鑰和用戶 ID(如上方範例所示)。這是 V2 身份驗證的推薦方式。
| 平台 | 用法 |
|---|---|
| TypeScript / JavaScript | sdkCredentials: { apiKey: "...", userId: "..." } |
| Android(Kotlin) | sdkCredentials = SdkCredentials(apiKey = "...", userId = "...") |
| iOS(Swift) | camera.sdkCredentials = SdkCredentials(apiKey: "...", userId: "...") |
| Flutter(Dart) | sdkCredentials: SdkCredentials(apiKey: '...', userId: '...') |
將 apiKey 或 userId 作為頂層配置屬性傳入目前仍受支援,但將於未來版本中棄用。我們強烈建議您現在遷移至 SdkCredentials,以避免未來發生破壞性變更。
步驟 2:更新用戶資訊要求
V2 伺服器對用戶資訊有更嚴格的要求。確保您提供:
- 年齡(必需)
- 性別(必需)
- 體重(必需)
- 身高(必需)
重要
雖然這些欄位在 V1 中是可選的,但在 V2 中它們是必需的,特別是對於血壓和其他生命體徵的準確測量。
示例:
const userInfo = {
age: 30,
gender: Gender.Male,
weight: 70, // 公斤
height: 175 // 公分
}步驟 3:測試您的整合
進行更改後:
- 測試所有生命體徵測量
- 驗證掃描條件和信號品質
- 檢查健康結果的準確性
- 確保錯誤處理正常運作
- 在所有支援的平台上測試
步驟 4:更新 SDK 版本(如需要)
確保您使用完全支援 V2 伺服器的最新 SDK 版本:
API 差異
掃描條件
在 V1 中,掃描條件通過陣列索引訪問。在 V2 中,使用命名屬性:
V1(已棄用):
const conditions = healthResult.health.scanParameters.conditions
const hrSteadiness = conditions[0]
const goodSnr = conditions[1]V2(推薦):
const signalConditions = healthResult.health.scanParameters.signalConditions
const hrSteadiness = signalConditions.hrSteadiness
const goodSnr = signalConditions.goodSnrV2 中的額外生命體徵
V2 伺服器提供 V1 中不可用的額外生命體徵:
- 身體健康指標
- 心理健康評估
- 增強的心血管分析
- 額外的風險評估
請參閱解讀結果部分以獲取 V2 生命體徵的完整列表。
常見問題和解決方案
問題:缺少必需的用戶資訊
問題:V2 需要 年齡、性別、體重和身高。
解決方案:確保提供所有用戶資訊欄位:
const userInfo = {
age: userAge,
gender: userGender,
weight: userWeight,
height: userHeight
}問題:不同的掃描條件結構
問題:通過陣列索引訪問掃描條件的程式碼失敗。
解決方案:更新為使用 signalConditions 中的命名屬性。
問題:未設置精確度模式
問題:默認為傳統模式(V1)。
解決方案:在配置中明確設置精確度模式。
支援
如果您在遷移過程中遇到問題:
- 查看本指南和 Vitals 雲端服務文檔
- 查看 FAQ 以獲取常見問題
- 通過 support@panoptic.ai 聯繫我們的支援團隊
- 參考下載部分中的示例程式碼
時間表提醒
關鍵日期
- 現在:開始遷移至 V2 伺服器
- 2026 年 6 月 30 日:V1 伺服器棄用,V2 測試版結束
- 2026 年 6 月 30 日之後:僅 V2 伺服器可用
提前計劃您的遷移以避免服務中斷。我們建議至少在棄用日期前一個月完成遷移。
下一步
- 查看 Vitals 雲端服務以了解 V2 功能
- 更新您的應用程式配置
- 在 V2 伺服器上進行全面測試
- 將更新版本部署到生產環境