dramaling-app/docs/04_technical/user-flow-specification.md

20 KiB
Raw Blame History

用戶流程規格文件 (User Flow Specification)

文件概述

本文件詳細定義了戲劇化英語學習應用程式的完整用戶流程涵蓋從新用戶註冊到深度學習的所有互動路徑。基於83個UI定義和完整的功能模組架構提供開發團隊實作用戶體驗的藍圖。

主要用戶角色

  • 訪客用戶 (Guest): 未註冊/登入的用戶可透過設備ID進行訂閱
  • 註冊用戶 (Registered): 已註冊但使用免費功能的用戶
  • 訂閱用戶 (Subscribed): 已購買月費訂閱(600元/月)的用戶,可使用對話訓練功能
  • 付費用戶 (Premium): 已購買訂閱或付費內容的用戶

核心用戶流程

1. 新用戶引導流程 (Onboarding Flow)

graph TD
    A[應用啟動] --> B{用戶狀態}
    B -->|未登入| C[UI_Login_Main]
    B -->|已登入| D[UI_ChallengeLevel_Map]
    
    C --> E[UI_SignUp_Main]
    E --> F[UI_GuestIntro_Main]
    F --> G[UI_GuestIntro_FormPurpose]
    G --> H[UI_GuestIntro_FormLevel]
    H --> I[UI_GuestIntro_FormTimeSlot]
    I --> J[UI_GuestIntro_FormFrequency]
    J --> K[UI_GuestIntro_Notice]
    K --> L[UI_GuestIntro_Result]
    L --> M[UI_LanguageLevel_Main]
    M --> N[UI_LanguageLevel_Result]
    N --> O[UI_SubscriptionPlans - 首次訂閱觸發]
    O --> P{訂閱狀態}
    P -->|完成訂閱| D
    P -->|跳過/取消| D
    
    C -->|忘記密碼| Q[UI_PasswordReset_Form]
    Q --> R[UI_PasswordReset_Popup]

流程說明

  1. 應用啟動檢查

    • 檢查用戶登入狀態
    • 已登入用戶直接進入主學習地圖
    • 未登入用戶進入登入頁面
  2. 登入/註冊階段

    • UI_Login_Main: 支援帳密登入、Apple ID、Google登入
    • UI_SignUp_Main: 新用戶註冊表單
    • UI_PasswordReset_Form/Popup: 密碼重設流程
  3. 個人化設定階段

    • UI_GuestIntro_FormPurpose: 學習目的選擇
    • UI_GuestIntro_FormLevel: 當前語言程度
    • UI_GuestIntro_FormTimeSlot: 偏好學習時段
    • UI_GuestIntro_FormFrequency: 學習頻率設定
    • UI_GuestIntro_Notice: 使用須知提醒
    • UI_GuestIntro_Result: 個人化建議結果
  4. 語言程度測試

    • UI_LanguageLevel_Main: 進行程度評估測試
    • UI_LanguageLevel_Result: 顯示測試結果和建議
  5. 首次訂閱觸發

    • UI_SubscriptionPlans: 完成第一次詞彙認識關卡後自動觸發訂閱頁面
    • 月費訂閱600元/月內部測試期間2折優惠
    • 支援訪客透過設備ID直接訂閱

2. 完整學習核心流程 (更新基於最新規格)

graph TD
    A[UI_ChallengeLevel_Map] --> A0{訂閱狀態檢查}
    A0 -->|未訂閱且選擇對話訓練| A00[UI_SubscriptionPlans]
    A0 -->|已訂閱或非對話訓練| A1{命條檢查}
    A00 --> A000{訂閱結果}
    A000 -->|完成訂閱| A1
    A000 -->|取消| A
    A1 -->|命條>1| B{關卡類型}
    A1 -->|命條=0| A2[命條不足提示]
    A2 --> A3[購買命條/等待回復]
    A3 --> A
    
    B -->|詞彙認識關卡| C[詞彙學習流程]
    B -->|詞彙熟悉關卡| D[詞彙熟練流程] 
    B -->|對話訓練關卡| E[情境對話流程]
    B -->|複習詞彙| F[間隔複習流程]
    B -->|時光關卡| G[時光挑戰流程]
    
    C --> C1[UI_VocabIntro_CardIntro]
    C1 --> C2[詞彙展示學習]
    C2 --> C3[UI_VocabIntro_Choice]
    C3 --> C4{答題結果}
    C4 -->|正確| C5{全部完成?}
    C4 -->|錯誤| C6[命條-1, 題目加到最後]
    C6 --> C7{命條>0?}
    C7 -->|是| C5
    C7 -->|否| C8[關卡失敗+時光卷]
    C5 -->|是| C9[三顆星通關]
    C5 -->|否| C3
    C8 --> A
    C9 --> C10[詞彙加入複習清單] --> C11[今日任務檢查+獎勵] --> A
    
    D --> D1[UI_VocabFluency_MatchImageToWord]
    D1 --> D2[例句重組練習]
    D2 --> D3[UI_VocabFluency_SentenceReorder]
    D3 --> D4[詞彙配對練習]
    D4 --> D5{答題結果}
    D5 -->|正確| D6{全部完成?}
    D5 -->|錯誤| D7[命條-1, 題目加到最後]
    D7 --> D8{命條>0?}
    D8 -->|是| D6
    D8 -->|否| D9[關卡失敗+時光卷]
    D6 -->|是| D10[三顆星通關]
    D6 -->|否| D1
    D9 --> A
    D10 --> D11[詞彙加入複習清單] --> D12[今日任務檢查+獎勵] --> A
    
    E --> E1[UI_ScenarioDialog_GoalDetail]
    E1 --> E2[UI_ScenarioDialog_Scene]
    E2 --> E3{對話完成?}
    E3 -->|是| E4[UI_ScenarioDialog_ReplyResult]
    E3 -->|需要提示| E5[UI_ScenarioDialog_ReplyGuide]
    E5 --> E2
    E4 --> E6{評估結果}
    E6 -->|通過| E7[三顆星通關]
    E6 -->|需訂正| E8[命條-1, 進入訂正流程]
    E8 --> E9{命條>0?}
    E9 -->|是| E10[UI_DialogCorrection_GrammarExplanation_Play]
    E9 -->|否| E11[關卡失敗+時光卷]
    E10 --> E12[UI_DialogCorrection_GrammarRetry_Play]
    E12 --> E13[UI_DialogCorrection_GrammarPass_Result]
    E13 --> E6
    E7 --> E14[詞彙加入複習清單] --> E15{滿星檢查}
    E15 -->|滿星| E16[語言程度晉階進度+今日任務] 
    E15 -->|非滿星| E17[今日任務檢查+獎勵]
    E16 --> A
    E17 --> A
    E11 --> A
    
    F --> F1[UI_VocabReview_Main]
    F1 --> F2[間隔複習算法選題]
    F2 --> F3[UI_VocabReview_Choice]
    F3 --> F4{答題結果}
    F4 -->|正確| F5{全部完成?}
    F4 -->|錯誤| F6[命條-1, 重複複習]
    F6 --> F7{命條>0?}
    F7 -->|是| F5
    F7 -->|否| F8[關卡失敗+時光卷]
    F5 -->|是| F9[三顆星通關]
    F5 -->|否| F3
    F8 --> A
    F9 --> F10[更新複習次數] --> A
    
    G --> G1[UI_TimeWarpChallenge_Main]
    G1 --> G2[300秒倒數計時開始]
    G2 --> G3[快速詞彙/對話挑戰]
    G3 --> G4{時間內完成?}
    G4 -->|是| G5[時光獎勵+經驗值]
    G4 -->|否| G6[挑戰失敗]
    G5 --> A
    G6 --> A

流程說明

  1. 訂閱狀態檢查 (新增)

    • 進入對話訓練關卡前檢查訂閱狀態
    • 未訂閱用戶自動跳轉到訂閱頁面 UI_SubscriptionPlans
    • 訂閱成功後解鎖對話訓練功能
  2. 命條系統檢查

    • 每次進入關卡前檢查命條數量最大5個
    • 命條不足時提示購買或等待自動回復每5小時+1個
    • 命條歸零時關卡失敗,獲得時光卷作為安慰獎勵
  3. 詞彙認識關卡流程 (C)

    • UI_VocabIntro_CardIntro: 展示詞彙、詞義、例句、示意圖
    • UI_VocabIntro_Choice: 詞彙選擇題測試
    • 答錯扣除命條,題目移至最後重新測試
    • 全部正確獲得三顆星通關,詞彙加入複習清單
  4. 詞彙熟悉關卡流程 (D)

    • UI_VocabFluency_MatchImageToWord: 圖片配對練習
    • UI_VocabFluency_SentenceReorder: 例句重組練習
    • 多種練習模式強化詞彙記憶
    • 完成後詞彙進入複習系統
  5. 情境對話關卡流程 (E) (需訂閱權限)

    • UI_ScenarioDialog_GoalDetail: 顯示對話任務目標
    • UI_ScenarioDialog_Scene: 主要對話界面
    • 雙重完成條件: 劇情任務完成 + 指定詞彙使用
    • 回覆卡關輔助: UI_ScenarioDialog_ReplyGuide 三層輔助架構
    • AI評估系統: 語法、語意、流暢度三維度即時評分
    • 需要訂正時扣除命條,提供解釋和重試機會
  6. 間隔複習流程 (F)

    • UI_VocabReview_Main: 基於間隔複習算法選擇詞彙
    • 使用公式:下次複習時間 = 當日 + (2^複習次數)
    • UI_VocabReview_Choice: 複習測試界面
    • 答錯重複複習,正確則更新複習次數
  7. 時光挑戰流程 (G)

    • UI_TimeWarpChallenge_Main: 300秒限時挑戰
    • 快速詞彙或對話測試
    • 時間內完成獲得時光獎勵和經驗值
    • 挑戰失敗無懲罰,可重複嘗試
  8. 特殊任務系統 (新增)

    • 每日00:00重置所有任務進度
    • 關卡結算時檢查任務完成狀態
    • 完成任務獲得經驗值獎勵並顯示結算頁面
    • 包含詞彙認識、熟悉、對話訓練、滿星對話四類任務
  9. 語言程度晉階系統 (新增)

    • 13級語言程度系統(A1→A2→B1→B2→C1→C2→最高級C2)
    • 晉階條件:前階與後階累積滿星對話訓練次數
    • 晉階後解鎖更高難度關卡和內容
    • 多維度語言能力評估:語意合適度、語法錯誤率、表達流暢度、詞彙分數

3. 詞彙學習系統流程 (Vocabulary Learning System Flow)

graph TD
    A[詞彙學習系統] --> B{學習階段判定}
    B -->|認識階段| C[詞彙認識關卡]
    B -->|熟悉階段| D[詞彙熟悉關卡] 
    B -->|對話應用| E[情境對話訓練]
    B -->|間隔複習| F[複習系統]
    
    C --> C1{命條檢查}
    C1 -->|命條>0| C2[UI_VocabIntro_CardIntro]
    C1 -->|命條=0| C3[等待回復/購買]
    C2 --> C4[詞彙展示學習]
    C4 --> C5[UI_VocabIntro_Choice]
    C5 --> C6{測試結果}
    C6 -->|正確| C7{階段完成?}
    C6 -->|錯誤| C8[命條-1, 加入最後]
    C7 -->|完成| C9[進入熟悉階段]
    C7 -->|繼續| C5
    C8 --> C1
    
    D --> D1[UI_VocabFluency_MatchImageToWord]
    D1 --> D2[UI_VocabFluency_SentenceReorder]
    D2 --> D3{熟悉度測試}
    D3 -->|通過| D4[進入對話階段]
    D3 -->|需加強| D1
    
    E --> E1[情境對話中詞彙應用]
    E1 --> E2{對話完成}
    E2 -->|成功| E3[詞彙掌握完成]
    E2 -->|需重試| E1
    
    F --> F1[間隔複習算法]
    F1 --> F2[選擇到期詞彙]
    F2 --> F3[UI_VocabReview_Choice]
    F3 --> F4{複習結果}
    F4 -->|記住| F5[延長間隔時間]
    F4 -->|遺忘| F6[重置間隔計數]
    F5 --> F7[更新複習次數]
    F6 --> F7
    
    C9 --> D
    D4 --> E
    E3 --> F

4. 社交與競爭流程 (Social & Competition Flow)

graph TD
    A[社交功能入口] --> B{用戶狀態}
    B -->|訪客| C[UI_SocialRanking_GuestPrompt]
    B -->|註冊用戶| D[UI_SocialRanking_Main]
    
    D --> E[UI_RankingDetail]
    E --> F{競爭選項}
    F -->|挑戰用戶| G[UI_TimedDialogue]
    F -->|查看好友| H[UI_PersonalCenter_FriendMain]
    
    H --> I[UI_PersonalCenter_FriendList]
    I --> J[UI_PersonalCenter_OtherUserMain]
    
    H --> K[UI_PersonalCenter_FriendSearch]
    
    G --> L[對話挑戰結果]
    L --> M[UI_LevelResult_SuccessResult]

5. 命條系統流程 (Life Points System Flow)

graph TD
    A[命條系統] --> B{當前命條數量}
    B -->|命條>0| C[正常遊戲流程]
    B -->|命條=0| D[UI_LifePoints_InsufficientPopup]
    
    D --> E{用戶選擇}
    E -->|等待回復| F[顯示回復時間]
    E -->|購買命條| G[UI_ItemStore_Main]
    E -->|觀看廣告| H[UI_AdOffer]
    
    F --> F1[每5小時+1命條]
    F1 --> F2{命條已回復}
    F2 -->|是| C
    F2 -->|否| F
    
    G --> G1[UI_ItemStore_ConfirmPopup]
    G1 --> G2{購買確認}
    G2 -->|確認| G3[命條+5]
    G2 -->|取消| D
    G3 --> C
    
    H --> H1[UI_AdViewing]
    H1 --> H2[UI_RewardClaim]
    H2 --> H3[命條+1]
    H3 --> C
    
    C --> I{學習過程中}
    I -->|答錯/需訂正| J[命條-1]
    J --> K{命條>0}
    K -->|是| C
    K -->|否| L[關卡失敗+時光卷]
    L --> D

6. 商業化流程 (Monetization Flow)

graph TD
    A[商業功能觸發] --> B{觸發情境}
    B -->|命條不足| C[UI_LifePoints_InsufficientPopup]
    B -->|回覆提示不足| D[回覆提示道具購買確認]
    B -->|主動購買| E[UI_ItemStore_Main]
    B -->|訂閱服務| F[UI_SubscriptionPlans]
    B -->|廣告獎勵| G[UI_AdOffer]
    
    C --> E
    D --> D1{鑽石是否足夠(30)}
    D1 -->|足夠| D2[購買回覆提示道具]
    D1 -->|不足| E
    D2 --> D3[返回對話並啟用輔助功能]
    D3 --> D4[UI_ScenarioDialog_ReplyGuide]
    
    E --> H[UI_ItemStore_ConfirmPopup]
    H --> I{購買確認}
    I -->|確認| J[處理購買]
    I -->|取消| K[返回商店]
    
    F --> L[UI_PaymentFlow]
    L --> M[UI_Subscription_Result]
    
    G --> N[UI_AdViewing]
    N --> O[UI_RewardClaim]
    
    J --> P[UI_PurchasedContent]
    M --> Q[返回主功能]
    O --> Q

7. 個人中心流程 (Personal Center Flow)

graph TD
    A[UI_PersonalCenter_SelfMain] --> B{功能選擇}
    B -->|詳細統計| C[UI_PresonalCenter_dd_Detail]
    B -->|個人設定| D[UI_PersonalCenter_Settings]
    B -->|好友管理| E[UI_PersonalCenter_FriendMain]
    B -->|訪客狀態| F[UI_PersonalCenter_GuestPrompt]
    B -->|功能鎖定| G[UI_PersonalCenter_Locked]
    
    E --> H[UI_PersonalCenter_FriendList]
    E --> I[UI_PersonalCenter_FriendSearch]
    
    H --> J[UI_PersonalCenter_OtherUserMain]
    
    F --> K[UI_Login_Main]

8. 語言程度晉階流程 (Language Level Advancement Flow) (新增)

graph TD
    A[對話訓練滿星完成] --> B[更新晉階進度]
    B --> C{當前語言程度}
    C -->|1級A1| D[檢查後階進度10/10]
    C -->|2-3級A2| E[檢查前階15+後階10]
    C -->|4-6級B1| F[檢查前階15+後階10]
    C -->|7-8級B2| G[檢查前階15+後階10]
    C -->|9-11級C1| H[檢查前階15+後階10]
    C -->|12級C2| I[檢查前階15+後階10]
    C -->|13級最高級| J[已達最高級]
    
    D --> K{後階完成?}
    E --> L{前階+後階完成?}
    F --> L
    G --> L
    H --> L
    I --> L
    
    K -->|是| M[UI_LanguageLevel_LevelUp]
    K -->|否| N[更新進度顯示]
    L -->|是| M
    L -->|否| N
    
    M --> O[程度提升+解鎖新關卡]
    N --> P[返回學習地圖]
    O --> P
    J --> P

語言程度系統規格

13階層架構

  • 1級 (A1): 後階10次滿星對話訓練
  • 2-3級 (A2): 前階15次 + 後階10次滿星對話訓練
  • 4-6級 (B1): 前階15次 + 後階10次滿星對話訓練
  • 7-8級 (B2): 前階15次 + 後階10次滿星對話訓練
  • 9-11級 (C1): 前階15次 + 後階10次滿星對話訓練
  • 12級 (C2): 前階15次 + 後階10次滿星對話訓練
  • 13級 (最高級C2): 已達最高語言程度

評估指標

  • 語意合適度
  • 語法錯誤率
  • 表達流暢度
  • 詞彙分數

9. 特殊任務系統流程 (Daily Mission System Flow) (新增)

graph TD
    A[關卡結算時] --> B[檢查今日任務進度]
    B --> C{任務類型}
    C -->|詞彙認識關卡通關| D[更新任務1進度]
    C -->|詞彙熟悉關卡通關| E[更新任務2進度]
    C -->|對話訓練關卡通關| F[更新任務3進度]
    C -->|對話訓練滿星| G[更新任務4進度]
    
    D --> H[檢查任務完成狀態]
    E --> H
    F --> H
    G --> H
    
    H --> I{任務完成?}
    I -->|是| J[UI_Mission_RewardResult]
    I -->|否| K[返回學習地圖]
    
    J --> L[獲得經驗值獎勵]
    L --> K
    
    M[每日00:00] --> N[重置所有任務進度]
    N --> O[任務狀態初始化]

今日任務規格

任務清單

  1. 詞彙認識任務: 成功闖關1次詞彙認識關卡 → 經驗值獎勵
  2. 詞彙熟悉任務: 成功闖關1次詞彙熟悉關卡 → 經驗值獎勵
  3. 對話訓練任務: 成功闖關1次對話訓練關卡 → 經驗值獎勵
  4. 完美對話任務: 在對話訓練關卡獲得滿星分數1次 → 經驗值獎勵

重置機制: 每日00:00自動重置所有任務進度

獎勵時機: 關卡結束時進行任務完成判定,完成則顯示獎勵結算頁面

10. 訂閱會員系統流程 (Subscription System Flow) (新增)

graph TD
    A[訂閱觸發條件] --> B{觸發情境}
    B -->|首次完成詞彙認識關卡| C[UI_SubscriptionPlans]
    B -->|設定中選擇訂閱| C
    B -->|對話訓練關卡權限檢查| D{會員狀態}
    
    D -->|未訂閱| C
    D -->|已訂閱| E[進入對話訓練]
    
    C --> F[顯示訂閱方案]
    F --> G[月費600元展示]
    G --> H[內部測試2折優惠]
    H --> I{用戶選擇}
    
    I -->|確認訂閱| J[處理付款]
    I -->|取消/跳過| K[返回原功能]
    
    J --> L{付款結果}
    L -->|成功| M[訂閱狀態更新]
    L -->|失敗| N[付款失敗提示]
    
    M --> O[解鎖對話訓練功能]
    N --> C
    O --> E

訂閱系統規格

訂閱方案

  • 月費訂閱: 600元/月
  • 測試優惠: 內部測試期間享2折優惠
  • 訪客支援: 支援訪客透過設備ID直接訂閱

權限控制

  • 對話訓練關卡需要訂閱權限
  • 詞彙認識和熟悉關卡免費開放
  • 其他功能按需設定權限

特殊流程處理

時間門票系統

graph TD
    A[需要門票功能] --> B[UI_TimeGate_ConfirmUseTicket]
    B --> C{確認使用}
    C -->|確認| D[消耗門票繼續]
    C -->|取消| E[返回上一頁]

額外任務系統

graph TD
    A[UI_BonusMission_Main] --> B{任務狀態}
    B -->|可完成| C[執行任務]
    B -->|檢視獎勵| D[獎勵預覽]
    C --> E[任務完成獎勵]

生活模擬系統

graph TD
    A[UI_PlayLife_Main] --> B{角色狀態}
    B -->|正常| C[選擇活動]
    B -->|需要維護| D[角色維護]
    C --> E[執行活動]
    E --> F[狀態更新]

導航規則

全局導航

  • 主學習地圖:UI_ChallengeLevel_Map
  • 個人中心:UI_PersonalCenter_SelfMain
  • 排行榜:UI_SocialRanking_Main
  • 商店:UI_ItemStore_Main

返回機制

  • 每個子流程都有明確的返回路徑
  • 支援中途退出確認:UI_ChallengeLevel_ExitComfirmPopup
  • 保存進度機制防止資料丟失

狀態保持

  • 用戶登入狀態持久化
  • 學習進度即時保存
  • 設定偏好本地存儲

異常處理流程

網路異常

  • 顯示連線錯誤提示
  • 提供重試機制
  • 離線模式支援(部分功能)

命條不足處理

  • UI_LifePoints_InsufficientPopup: 命條不足提示
  • 提供等待回復每5小時+1、購買、觀看廣告三種選擇
  • 關卡失敗時獲得時光卷作為安慰獎勵

回覆卡關情境處理 (新增功能)

  • 使用者在對話中不知道如何回應
  • 觸發UI_ScenarioDialog_ReplyGuide三層輔助介面
  • 檢查回覆提示道具庫存30鑽石/次)
  • 道具不足時引導鑽石購買流程

間隔複習系統異常

  • 複習詞彙數據同步異常處理
  • 複習算法計算錯誤回退機制
  • 詞彙掌握度評估校正

權限不足

  • 訪客提示:UI_PersonalCenter_GuestPromptUI_SocialRanking_GuestPrompt
  • 功能鎖定:UI_PersonalCenter_LockedUI_ChallengeLevel_ChoosePopupLock
  • 升級引導流程

關鍵轉換點 (Conversion Points)

  1. 註冊轉換: 訪客 → 註冊用戶
  2. 首次訂閱轉換 (新增): 完成第一次詞彙認識關卡 → 觸發訂閱頁面 → 月費訂閱(600元/月)
  3. 對話訓練權限轉換 (新增): 免費用戶嘗試對話訓練 → 訂閱提示 → 付費解鎖功能
  4. 命條系統轉換: 體驗命條限制 → 購買命條/觀看廣告 → 持續付費
  5. 回覆輔助轉換: 體驗回覆卡關 → 購買提示道具(30鑽石) → 重複使用輔助功能
  6. 特殊任務激勵 (新增): 日常學習習慣 → 每日任務完成 → 經驗值獎勵 → 持續參與
  7. 語言程度晉階 (新增): 達成滿星對話訓練 → 程度提升 → 解鎖新內容 → 長期留存
  8. 詞彙學習循環: 完成認識→熟悉→對話→複習的完整學習閉環
  9. 留存關鍵: 建立間隔複習習慣詞彙庫達到50個以上
  10. 社交激活: 添加首個好友並進行時光挑戰競爭
  11. 習慣養成: 連續7天使用應用每日完成至少一個關卡

效能考量

  • 關鍵路徑頁面載入時間 < 2秒
  • 對話評估回應時間 < 3秒
  • 回覆輔助功能回應時間 < 2秒 (新增)
  • 翻譯服務回應時間 < 1.5秒 (新增)
  • 間隔複習算法計算時間 < 0.5秒 (新增)
  • 詞彙圖片載入時間 < 1秒 (新增)
  • 命條狀態同步延遲 < 1秒 (新增)
  • 離線快取常用內容和詞彙數據
  • 漸進式載入非關鍵資源
  • 詞彙複習數據本地快取機制

無障礙支援

  • 支援螢幕閱讀器
  • 鍵盤導航支援
  • 高對比度模式
  • 文字大小調整

多語言支援

  • 介面語言切換
  • 學習內容本地化
  • RTL語言支援
  • 語音辨識多語言

本文件將隨著產品迭代持續更新,確保開發團隊始終有最新的用戶流程指引。