自動化操作何時執行
只要 iOS 允許 Marrow 在背景執行,自動化操作就會盡量依你設定的頻率傳送。Marrow 用上了 Apple 提供給 App 的所有喚醒方式。確切的時間由 Apple 決定,而且手機鎖定時,任何 App 都無法讀取 Apple Health。
所有 Marrow 指南: MCP · 自架鏡像 · 自動化操作 · 檔案 · 支援
Marrow 做了哪些事
- 有新的健康資料時會被喚醒。對於同步的每種資料類型(步數、心率、睡眠、體能訓練等),Marrow 都會請 Apple Health 在有新資料時於背景喚醒它。手錶或其他 App 傳來的新讀數都可能喚醒它。
- 隨時排好一次背景重新整理。Marrow 進入背景時,會向 iOS 申請大約一小時後的重新整理,每次重新整理又會排好下一次,所以總有一次在等待。
- 開啟時補上進度。開啟 Marrow 會讀取所有新資料,並傳送所有到期的自動化操作。
- 每次喚醒都會傳送所有到期的內容。每次被喚醒,Marrow 都會把新資料讀進自己的儲存空間,然後逐一傳送已達設定頻率的自動化操作。
- 補齊缺口。選擇自上次執行以來時,每次執行都會傳送上一次成功執行之後的所有資料,再加上那之前的兩天。即使執行晚了,也會傳送錯過的每一天。
- 記錄每次執行。活動記錄會保留最近 30 次執行,以及每次的時間和結果。
由 Apple 決定的事
這些規則來自 iOS,適用於每個在背景匯出 Apple Health 資料的 App。Marrow 裡的任何設定都無法改變它們。
- 沒有固定時間。iOS 不允許 App 在自己選定的時間於背景執行。App 可以請求被喚醒,再由 iOS 根據電量、網路、你使用該 App 的頻繁程度,以及手機正在做的其他事來決定時機。你設定的頻率是兩次執行之間的最短間隔,而不是時刻表。每小時的意思是最多每小時一次。
- 鎖定時什麼都不執行。手機鎖定時,Apple Health 資料處於加密狀態,在你解鎖之前任何 App 都無法讀取。手機鎖定期間執行會暫停,並在你下次解鎖後補上。
- 時間很短。一次背景喚醒只會持續幾秒鐘,通常不到 30 秒。資料內容太大或接收端太慢,可能來不及在這段時間內完成。
- 低耗電模式會延後背景重新整理,直到你關閉它。
- 必須為 Marrow 開啟背景App重新整理,否則 iOS 會略過它排定的重新整理。
- 被滑掉了。你在 App 切換器中把 Marrow 滑掉後,iOS 可能不會在背景喚醒它,直到你再次打開。
- 手錶資料是分批傳來的。Apple Watch 不是每次讀數都立即傳給手機,而是每隔一段時間傳一次,所以新資料以及它觸發的喚醒,可能會比測量的時間晚一些。
實際上會怎樣
- 白天一直在用手機:執行會大致依照你設定的頻率進行。有的準時,有的晚一點,也可能略過某個小時。
- 手機鎖定好幾個小時,例如整晚:這段時間不會執行,解鎖後會有一次執行,把這段時間以來的所有資料送出。
- 每小時一次的頻率並不會讓一天剛好執行 24 次。缺口來自 iOS 排程 App 的方式,下一次執行會把它們補上。
讓執行盡量規律
- 為 Marrow 開啟背景App重新整理:設定、一般、背景App重新整理。
- 在意執行是否準時的時候,請關閉低耗電模式。
- 把 Marrow 留在 App切換器中,不要滑掉。
- 選擇自上次執行以來,或比你預期的最長缺口更長的日期範圍,這樣即使執行晚了也能涵蓋每一天。請在你這邊保留每個指標、每一天的最新值,重複的資料就不會有影響。
- 讓每次的資料內容保持精簡,才能在背景時間內完成:用每日總計取代原始樣本、縮短日期範圍、每種資料各用一個自動化操作。
- 讓接收端先立即回應,再處理後續工作。詳情請見寫一個接收端。
- 現在就想執行?開啟 Marrow,或在該自動化操作上點一下立即執行。
查看發生了什麼事
- 活動記錄(在自動化操作的「更多選項」中):最近 30 次執行。失敗的執行會顯示錯誤,疑難排解表說明了每種錯誤的意思。
- 預期有記錄卻沒有:當時 iOS 沒有喚醒 Marrow,或手機處於鎖定狀態。
- 設定、Apple Health 存取權限、正在從 Apple Health 讀取:Marrow 最後一次讀取每種資料類型的時間。如果那裡的時間很近,代表 Marrow 正持續被喚醒。
- 執行時通知(更多選項):檢查期間每次執行都會收到一則通知。
手機在使用中,卻仍然看到很長的缺口?請聯絡支援,附上活動記錄的截圖和接收端收到資料的時間,我們會幫你查看。