데이터 백업 개요

사용자들은 종종 많은 시간과 노력을 들여 앱 내에서 ID를 만들고 데이터를 추가하고 설정과 환경을 맞춤설정합니다. 사용자가 새 기기로 업그레이드하거나 앱을 다시 설치할 때 사용자의 데이터와 맞춤화된 설정을 유지하는 것은 뛰어난 사용자 경험을 제공하는 데 있어 중요한 부분입니다. 이 페이지에서는 백업할 데이터와 제공되는 백업 옵션을 설명합니다.

백업할 데이터 선택

기기의 ID, 계정 데이터, 설정 데이터 및 앱 데이터

그림 1. 앱으로 돌아가는 사용자를 위해 ID 데이터, 앱 데이터, 설정 데이터를 복원해야 합니다.

사용자는 앱을 사용할 때 많은 데이터를 생성합니다. 따라서, 적절한 데이터를 백업해야 합니다. 일부 데이터만 백업하면 사용자가 새 기기에서 앱을 열고 누락된 항목을 발견했을 때 불만을 느낄 수 있습니다. 아래에 설명된 대로, 백업해야 하는 사용자의 중요 데이터는 ID 데이터, 사용자가 생성한 앱 데이터 및 설정 데이터입니다.

ID 데이터

기존의 사용자가 새 기기로 옮겨간 경우 사용자의 계정을 전송하면 사용자 참여를 유지하는 데 도움이 될 수 있습니다.

  • 사용자 인증 정보 및 승인 토큰 전송에 관한 자세한 내용은 Block Store를 참고하세요.

  • 사용자가 앱에 쉽게 로그인할 수 있도록 도와주는 Google 로그인 솔루션을 살펴보려면 Google ID를 참고하세요.

앱 데이터

앱 데이터에는 텍스트, 이미지 및 기타 미디어와 같은 사용자 제작 콘텐츠가 포함될 수도 있습니다. Android 지원 기기 간에 앱 데이터를 동기화하고 일반 앱 수명 주기 동안 사용할 데이터를 저장할 수 있습니다. 재사용자의 데이터를 새 기기에 복원할 수도 있습니다. 자세한 내용은 동기화 어댑터를 사용하여 데이터 전송을 참고하세요.

설정 데이터

새 기기에서 재사용자가 맞춤설정한 환경설정을 유지하려면 설정 데이터도 백업 및 복원해야 합니다. 사용자가 앱에 로그인하지 않아도 설정 데이터를 복원할 수 있습니다. 사용자가 앱 UI에 명시적으로 지정한 설정과 사용자에게 설정 마법사가 표시된 적이 있는지를 가리키는 플래그 등의 투명한 데이터를 백업할 수 있습니다.

새 기기에서 기존의 사용자 환경을 최대한 많이 보존하려면 다음 사용자 설정을 백업해야 합니다.

  • 사용자가 수정한 설정(예: Jetpack Preference 라이브러리를 사용하는 경우)

  • 사용자가 알림 및 벨소리를 사용 설정했는지 여부

  • 사용자가 시작 화면 또는 소개 도움말을 봤는지 여부를 나타내는 불리언 플래그

한 휴대기기에서 다른 휴대기기로 설정 전송

그림 2. 새 기기에서 설정을 복원하면 뛰어난 사용자 경험을 제공하는 데 도움이 됩니다.

URI는 불안정할 수 있으므로 백업을 피해야 합니다. 일부의 경우 새 휴대기기로 복원하면 유효한 파일을 가리키지 않는 잘못된 URI가 생성될 수 있습니다. 한 가지 예는 URI를 사용하여 사용자의 벨소리 환경설정을 저장하는 것입니다. 사용자가 앱을 다시 설치하면 URI는 벨소리를 가리키지 않거나 의도와 다른 벨소리를 가리킬 수 있습니다. URI를 백업하는 대신 설정과 관련한 일부 메타데이터(예: 벨소리 제목 또는 벨소리 해시)를 백업하면 됩니다.

백업 옵션

Android는 앱이 데이터를 클라우드에 백업할 수 있도록 앱의 자동 백업키-값 백업, 두 가지 방법을 제공합니다. Android 버전 6.0 이상에서 사용할 수 있는 자동 백업은 사용자의 Google Drive 계정에 데이터를 업로드하여 보존합니다. 자동 백업에는 시스템에서 앱에 할당한 대부분의 디렉터리에 있는 파일이 포함됩니다. 자동 백업은 앱당 파일 기반 데이터를 25MB까지 저장할 수 있습니다. 키-값 백업 기능(이전의 Backup 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에 저장되며 앱당 5MB로 제한됩니다. Google은 이 데이터를 Google의 개인정보처리방침에 따라 개인 정보로 취급합니다. 백업 데이터는 사용자의 Google Drive에 저장되며 앱당 25MB로 제한됩니다. Google은 이 데이터를 Google의 개인정보처리방침에 따라 개인 정보로 취급합니다.
사용자 로그인 사용자가 앱에 로그인하지 않아도 됩니다. 사용자는 Google 계정으로 기기에 로그인해야 합니다. 사용자가 앱에 로그인하지 않아도 됩니다. 사용자는 Google 계정으로 기기에 로그인해야 합니다.
API 관련 API 메서드는 항목 기반입니다. 다음과 같은 관련 API 메서드는 파일 기반입니다.
데이터 복원 앱이 설치되면 데이터가 복원됩니다. 필요한 경우 수동 복원을 요청할 수 있습니다. 앱이 설치되면 데이터가 복원됩니다. 여러 데이터 세트를 사용할 수 있다면 사용자는 백업 데이터 세트 목록에서 선택할 수 있습니다.
문서 Android Backup Service로 키-값 쌍 백업 자동 백업으로 사용자 데이터 백업

각 서비스의 백업 및 복원 작동 방식에 관한 자세한 내용은 백업 및 복원 테스트를 참고하세요.