사용자들은 종종 많은 시간과 노력을 들여 앱 내에서 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로 키-값 쌍 백업 | 자동 백업으로 사용자 데이터 백업 |
각 서비스의 백업 및 복원 작동 방식에 관한 자세한 내용은 백업 및 복원 테스트를 참고하세요.