Tổng quan về tính năng sao lưu dữ liệu

Người dùng thường đầu tư thời gian và công sức không nhỏ để tạo danh tính, thêm dữ liệu và tuỳ chỉnh chế độ cài đặt và tuỳ chọn trong ứng dụng của bạn. Để đảm bảo cung cấp trải nghiệm tuyệt vời cho người dùng, một việc quan trọng bạn cần làm là bảo toàn dữ liệu và hoạt động cá nhân hoá cho người dùng khi họ nâng cấp lên thiết bị mới hoặc cài đặt lại ứng dụng của bạn. Trang này mô tả các dữ liệu bạn nên sao lưu và các chế độ sao lưu bạn có thể chọn.

Chọn dữ liệu cần sao lưu

Dữ liệu về danh tính và tài khoản, dữ liệu cài đặt và dữ liệu ứng dụng trên thiết bị.

Hình 1. Đảm bảo bạn khôi phục dữ liệu về danh tính, dữ liệu ứng dụng và dữ liệu cài đặt cho những người dùng quay lại ứng dụng của bạn.

Người dùng tạo ra nhiều dữ liệu khi sử dụng ứng dụng của bạn và bạn nên sao lưu những dữ liệu thích hợp. Nếu chỉ sao lưu một số dữ liệu thì có thể gây khó chịu cho người dùng khi họ mở ứng dụng trên thiết bị mới và phát hiện thiếu gì đó. Những dữ liệu quan trọng để sao lưu cho người dùng là dữ liệu về danh tính, dữ liệu do người dùng tạo và dữ liệu cài đặt, như mô tả dưới đây.

Dữ liệu về danh tính

Bạn có thể góp phần duy trì mức độ tương tác của người dùng hiện tại bằng cách di chuyển tài khoản của người dùng khi họ bắt đầu sử dụng một thiết bị mới.

Để biết thông tin chi tiết về cách di chuyển thông tin đăng nhập của tài khoản, hãy tham khảo bài viết về Block Store.

Để khám phá các giải pháp đăng nhập bằng Google giúp người dùng dễ dàng đăng nhập vào ứng dụng của bạn, hãy tham khảo Google Identity.

Dữ liệu ứng dụng

Dữ liệu ứng dụng có thể bao gồm nội dung do người dùng tạo, chẳng hạn như văn bản, hình ảnh và các nội dung nghe nhìn khác. Để khôi phục dữ liệu ứng dụng, hãy xem phần Di chuyển dữ liệu bằng bộ điều hợp đồng bộ hóa hoặc API Android Google Drive. Bạn có thể sử dụng một trong hai phương pháp trên để đồng bộ hoá dữ liệu ứng dụng giữa các thiết bị chạy Android và lưu dữ liệu mà bạn muốn sử dụng trong vòng đời thông thường của ứng dụng. Bạn cũng có thể sử dụng một trong hai phương pháp này để khôi phục dữ liệu của người dùng cũ trên một thiết bị mới.

Dữ liệu cài đặt

Hãy đảm bảo bạn cũng sao lưu và khôi phục dữ liệu cài đặt để duy trì các tuỳ chọn được cá nhân hoá của người dùng cũ trên một thiết bị mới. Bạn có thể khôi phục dữ liệu cài đặt ngay cả khi người dùng không đăng nhập vào ứng dụng. Bạn có thể sao lưu các chế độ cài đặt mà người dùng thiết lập rõ ràng trong giao diện người dùng của ứng dụng cũng như dữ liệu minh bạch, chẳng hạn như biểu tượng cờ cho biết liệu người dùng đã xem trình hướng dẫn thiết lập hay chưa.

Để duy trì tối đa trải nghiệm của người dùng hiện tại trên thiết bị mới, hãy đảm bảo bạn sao lưu các chế độ cài đặt sau đây của người dùng:

  • Mọi chế độ cài đặt mà người dùng sửa đổi, chẳng hạn như khi sử dụng Thư viện tuỳ chọn Jetpack.

  • Người dùng bật hay tắt nhạc chuông và thông báo.

  • Cờ boolean cho biết người dùng có xem màn hình chào mừng hay chú giải công cụ giới thiệu hay không.

Di chuyển các chế độ cài đặt từ thiết bị di động này sang thiết bị di động khác.

Hình 2. Việc khôi phục các chế độ cài đặt trên thiết bị mới đảm bảo mang lại trải nghiệm tuyệt vời cho người dùng.

Một loại dữ liệu cài đặt bạn nên tránh sao lưu là URI vì chúng có thể sẽ không ổn định. Trong một số trường hợp, việc khôi phục cho thiết bị di động mới có thể dẫn đến URI không hợp lệ và không trỏ đến tệp hợp lệ. Một ví dụ cho vấn đề này là sử dụng URI để lưu tuỳ chọn nhạc chuông của người dùng. Khi người dùng cài đặt lại ứng dụng, URI có thể trỏ đến vị trí không có nhạc chuông hoặc nhạc chuông khác với nhạc chuông mong muốn. Thay vì sao lưu URI, bạn có thể sao lưu một số siêu dữ liệu về chế độ cài đặt, chẳng hạn như tiêu đề nhạc chuông hoặc giá trị băm của nhạc chuông.

Chế độ sao lưu

Android cung cấp hai cách để ứng dụng sao lưu dữ liệu lên đám mây: Tự động sao lưu cho ứng dụngSao lưu khoá/giá trị. Tính năng Tự động sao lưu (có trên Android phiên bản 6.0 trở lên) giữ lại dữ liệu bằng cách tải lên tài khoản Google Drive của người dùng. Tính năng Tự động sao lưu bao gồm các tệp trong hầu hết thư mục mà hệ thống chỉ định cho ứng dụng của bạn. Tính năng Tự động sao lưu có thể lưu trữ tối đa 25 MB dữ liệu dạng tệp cho mỗi ứng dụng. Tính năng Sao lưu khoá/giá trị (trước đây gọi là API Backup và Android Backup Service) lưu giữ dữ liệu cài đặt dưới dạng các cặp khoá/giá trị bằng cách tải lên Android Backup Service.

Nói chung, bạn nên sử dụng tính năng Tự động sao lưu vì tính năng này được bật theo mặc định và bạn không cần phải làm gì để triển khai. Các ứng dụng nhắm mục tiêu Android phiên bản 6.0 trở lên sẽ tự động bật tính năng Tự động sao lưu. Tính năng Tự động sao lưu là một phương thức sử dụng tệp để sao lưu dữ liệu ứng dụng. Mặc dù việc sao lưu tự động rất đơn giản nhưng bạn có thể cân nhắc sử dụng tính năng Sao lưu khoá/giá trị nếu có nhu cầu cụ thể hơn về việc sao lưu dữ liệu.

Bảng sau đây mô tả một số điểm khác biệt chính giữa hai tính năng Sao lưu khoá/giá trị và Tự động sao lưu:

Danh mục Sao lưu khoá/giá trị (Android Backup Service) Tự động sao lưu trên Android
Phiên bản được hỗ trợ Android 2.2 (API cấp 8) trở lên. Android 6.0 (API cấp 23) trở lên.
Cách sử dụng Tắt theo mặc định. Ứng dụng có thể chọn tham gia bằng cách khai báo một tác nhân sao lưu. Bật theo mặc định. Ứng dụng có thể chọn không sử dụng bằng cách tắt tính năng sao lưu.
Triển khai Ứng dụng phải triển khai một BackupAgent. Tác nhân sao lưu sẽ xác định những dữ liệu cần sao lưu và cách khôi phục dữ liệu. Theo mặc định, tính năng Tự động sao lưu bao gồm hầu hết mọi tệp của ứng dụng. Bạn có thể dùng XML để thêm và bớt tệp. Trong nội bộ, tính năng Tự động sao lưu dựa trên một tác nhân sao lưu được đóng gói thành SDK.
Tần suất sao lưu Ứng dụng phải đưa ra yêu cầu khi có dữ liệu cần được sao lưu. Yêu cầu từ nhiều ứng dụng được phân theo lô và thực thi vài giờ một lần. Quá trình sao lưu tự động diễn ra khoảng 1 lần/ngày.
Truyền dữ liệu Dữ liệu sao lưu có thể được truyền qua Wi-Fi hoặc dữ liệu di động. Theo mặc định, dữ liệu sao lưu được truyền bằng Wi-Fi, nhưng người dùng thiết bị có thể bật tính năng sao lưu qua dữ liệu di động. Nếu thiết bị không bao giờ kết nối với mạng Wi-Fi hoặc người dùng không thay đổi tuỳ chọn sao lưu bằng dữ liệu di động thì tính năng Tự động sao lưu không bao giờ hoạt động.
Điều kiện truyền dữ liệu Xác định các điều kiện cần thiết đối với thiết bị để sao lưu trong onBackup(). Xác định những điều kiện cần thiết đối với thiết bị để sao lưu trong tệp XML (nếu sử dụng tác nhân sao lưu mặc định).
Tắt ứng dụng Ứng dụng không bị tắt trong quá trình sao lưu. Hệ thống sẽ tắt ứng dụng trong quá trình sao lưu.
Bộ nhớ lưu trữ dữ liệu sao lưu Dữ liệu sao lưu được lưu trữ trong Android Backup Service và giới hạn là 5MB cho mỗi ứng dụng. Google coi dữ liệu này là thông tin cá nhân theo Chính sách quyền riêng tư của Google. Dữ liệu sao lưu được lưu trữ trong Google Drive của người dùng và giới hạn là 25 MB cho mỗi ứng dụng. Google coi dữ liệu này là thông tin cá nhân theo Chính sách quyền riêng tư của Google.
Đăng nhập người dùng Không yêu cầu người dùng đăng nhập vào ứng dụng. Người dùng phải đăng nhập vào thiết bị bằng Tài khoản Google. Không yêu cầu người dùng đăng nhập vào ứng dụng. Người dùng phải đăng nhập vào thiết bị bằng Tài khoản Google.
API Các phương thức API liên quan đều hoạt động dựa theo thực thể: Các phương thức API liên quan đều hoạt động theo tệp:
Khôi phục dữ liệu Dữ liệu sẽ khôi phục khi ứng dụng được cài đặt. Nếu cần, bạn có thể yêu cầu khôi phục theo cách thủ công. Dữ liệu sẽ khôi phục khi ứng dụng được cài đặt. Người dùng có thể chọn trong danh sách các tập dữ liệu sao lưu nếu có nhiều tập dữ liệu.
Tài liệu Sao lưu các cặp khoá-giá trị bằng Android Backup Service Sao lưu dữ liệu người dùng bằng tính năng Tự động sao lưu

Bạn có thể tìm thêm thông tin về cách hoạt động của tính năng sao lưu và khôi phục cho từng dịch vụ trong bài viết Kiểm tra quy trình sao lưu và khôi phục.