使用者經常投入許多時間和精力,在應用程式中建立身分、新增資料以及自訂設定和偏好設定。在使用者升級至新裝置或重新安裝其裝置時,保留這些資料和個人化設定有助於提供優質的使用者體驗。本頁面說明建議備份的資料以及可用的備份選項。
選取要備份的資料

圖 1.當使用者返回使用您的應用程式時,務必為其還原身分、應用程式資料和設定資料。
使用者使用應用程式時會產生大量資料,您需要謹慎對待,備份適當的資料。如果只備份部分資料,當使用者在新裝置開啟應用程式時會發現遺失內容,這可能會讓他們感到不快。需要為使用者備份的重要資料包括身分資料、使用者產生的應用程式資料和設定資料,說明如下。
身分資料
當使用者開始使用新裝置時,您可以轉移使用者帳戶,協助維持現有使用者參與度。
如要進一步瞭解如何轉移帳戶 (登入) 憑證,請參閱 Block Store。
如要探索 Google 登入解決方案,簡化使用者登入應用程式的程序,請參閱 Google 身分。
應用程式資料
應用程式資料可能包含使用者自製內容,例如文字、圖片和其他媒體。如要還原應用程式資料,請參閱使用同步轉換介面移轉資料或 Google 雲端硬碟 Android API。您可以使用任一方法在不同 Android 裝置之間同步應用程式資料,並儲存要在一般應用程式生命週期中使用的資料。您也可以使用任一方法,將回歸使用者的資料還原到新裝置。
設定資料
也請務必備份及還原設定資料,以便在回歸使用者的新裝置上保留其個人化偏好設定。即使使用者未登入應用程式,也能還原設定資料。您可以備份使用者在應用程式 UI 中明確設置的設定,以及透明度資料,例如使用旗標表明使用者是否已看到設定精靈。
因此,為了盡可能在新裝置上還原使用者的現有使用體驗,請務必備份下列使用者設定:
使用者修改的任何設定,例如使用 Jetpack Preference Library 時修改的設定。
使用者是否有開啟通知和鈴聲。
布林值旗標,表明使用者是否已看到歡迎畫面或簡介工具提示。
圖 2.在新裝置上還原設定,可確保提供優質的使用者體驗。
建議避免備份 URI 這一設定資料,因為它們並不穩定。在某些情況下,還原到新行動裝置時可能會產生不指向任何有效檔案的無效 URI。例如使用 URI 儲存使用者的鈴聲偏好設定的情況。當使用者重新安裝應用程式時,URI 可能不會指向任何鈴聲,或是指向與預期不同的鈴聲。相比備份 URI,更建議備份有關設定的部分中繼資料,例如鈴聲或鈴聲的雜湊。
備份選項
Android 為應用程式提供兩種將資料備份到雲端的方式:應用程式自動備份和鍵/值備份。Android 6.0 及以上版本提供「自動備份」功能,透過將資料上傳至使用者的 Google 雲端硬碟帳戶來保留資料。「自動備份」功能會備份系統指派給應用程式的大部分目錄中的檔案:「自動備份」功能可為每個應用程式儲存最多 25MB 檔案型資料。「鍵/值備份」功能 (先前稱為「備份 API」和「Android Backup Service」) 會以鍵/值組合的形式將設定資料上傳至 Android Backup Service,藉此保留設定資料。
一般來說,我們建議使用「自動備份」功能,因為這項功能預設啟用,無需採取任何動作即可實作。適用於 Android 6.0 以上版本的應用程式會自動啟用「自動備份」功能。「自動備份」功能是基於檔案的方法,用於備份應用程式資料。雖然「自動備份」功能易於實作,但如果您有更具體的資料備份需求,建議使用「鍵/值備份」功能。
下表說明「鍵/值備份」和「自動備份」之間的部分主要差異:
類別 | 鍵/值備份 (Android Backup Service) | Android 自動備份 |
---|---|---|
支援的版本 | Android 2.2 (API 級別 8) 及以上版本。 | Android 6.0 (API 級別 23) 及以上版本。 |
參與度 | 預設停用。應用程式可透過宣告備份代理程式來選擇加入。 | 預設啟用。應用程式可透過停用備份功能來選擇退出。 |
實作 |
應用程式必須實作 BackupAgent 。備份代理程式會定義要備份的資料,以及如何還原資料。 |
根據預設,「自動備份」功能幾乎涵蓋應用程式的所有檔案。您可以使用 XML 納入及排除檔案。在內部,「自動備份」功能依賴隨附於 SDK 的備份代理程式。 |
頻率 | 當應用程式內有可供備份的資料時,應用程式必須發出要求。每隔幾個小時,會將來自多個應用程式的要求作為一個批次執行。 | 備份作業大約會每天執行一次。 |
傳輸 | 備份資料可透過 Wi-Fi 或行動數據傳輸。 | 備份資料預設會以 Wi-Fi 傳輸,但裝置使用者可以開啟行動數據備份功能。如果裝置從未連上 Wi-Fi 網路,或是使用者未變更行動數據備份設定,則系統不會進行自動備份。 |
傳輸條件 |
定義以 onBackup() 形式進行備份所需的裝置條件。 |
定義以 XML 檔案形式進行備份 (如果使用預設備份代理程式) 所需的裝置條件。 |
應用程式關閉 | 備份期間,應用程式不會關閉。 | 備份期間,系統會關閉應用程式。 |
備份儲存空間 | 備份資料儲存在 Android Backup Service 中,每個應用程式大小限制為 5 MB。Google 會依據 Google 的《隱私權政策》將這些資料視為個人資訊。 | 備份資料儲存在使用者的 Google 雲端硬碟中,每個應用程式大小限制為 25 MB。Google 會依據 Google 的《隱私權政策》將這些資料視為個人資訊。 |
使用者登入 | 無須要求使用者登入應用程式,但使用者必須使用 Google 帳戶登入裝置。 | 無須要求使用者登入應用程式,但使用者必須使用 Google 帳戶登入裝置。 |
API | 相關 API 方法基於實體: | 相關 API 方法基於檔案實體: |
還原資料 | 系統會在應用程式安裝時還原資料。如有需要,您可要求手動還原。 | 系統會在應用程式安裝時還原資料。如果有多個資料集可用,使用者可以從備份資料集清單中選取所需資料集。 |
說明文件 | 使用 Android Backup Service 備份鍵/值組合 | 使用「自動備份」功能備份使用者資料 |
如要進一步瞭解每項服務的備份與還原作業如何運作,請參閱「測試備份與還原」。