資料備份總覽

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

選取要備份的資料

裝置上的身分和帳戶資料、設定資料以及應用程式資料。

圖 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 備份鍵/值組合 使用「自動備份」功能備份使用者資料

如要進一步瞭解每項服務的備份與還原作業如何運作,請參閱「測試備份與還原」。