Sao lưu dữ liệu ứng dụng Android

Carbon Backup được cung cấp với hai phiên bản. Bản miễn phí cho phép chúng ta sao lưu vào bộ nhớ máy hoặc qua máy tính, trong khi bản có phí thì lưu được lên các dịch vụ trực tuyến, hỗ trợ đồng bộ trực tiếp giữa hai máy Android với nhau và không có quảng cáo.

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, tuỳ chỉnh chế độ cài đặt cũng như thiết lập chế độ ưu tiê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 mà bạn cần làm là bảo toàn dữ liệu cũng như 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. 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

Sao lưu dữ liệu ứng dụng Android

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 hết sức cẩn trọng trong việc sao lưu 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ì đó. Có một số loại dữ liệu quan trọng cần sao lưu cho người dùng như dữ liệu về danh tính, dữ liệu do người dùng tạo và dữ liệu cài đặt, theo 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 những chế độ cài đặt mà người dùng thiết lập một cách rõ ràng trong giao diện người dùng của ứng dụng, cũng như đảm bảo tính minh bạch của dữ liệu, chẳng hạn như một 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.

Lưu ý: Mọi quyền mà người dùng cấp cho ứng dụng của bạn đều được hệ thống tự động sao lưu và khôi phục trên các thiết bị chạy Android phiên bản 7.0 (API cấp 24) trở lên. Tuy nhiên, nếu người dùng gỡ cài đặt ứng dụng của bạn thì hệ thống sẽ xoá mọi quyền đã cấp và người dùng phải cấp lại những quyền đó.

Để 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.

Sao lưu dữ liệu ứng dụng Android

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ụng và Sao 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à Backup API 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.

Lưu ý: Nếu ứng dụng của bạn không có cơ chế sao lưu dành cho nội dung ứng dụng, đồng thời kích thước của nội dung ứng dụng khó có khả năng vượt quá 25 MB, có thể tính năng Tự động sao lưu đáp ứng được đầy đủ nhu cầu của bạn.

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ụcSao lưu khoá/giá trị (Android Backup Service)Tự động sao lưu trên AndroidPhiê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ụngTắ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ệuDữ 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ệuXá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ưuDữ 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ùngKhô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.APICá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ệuDữ 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ệuSao lưu các cặp khoá-giá trị bằng Android Backup ServiceSao 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.

Lưu ý: Nếu không có Wi-Fi, thì tính năng Sao lưu khoá/giá trị có thể sẽ sử dụng dữ liệu di động. Do đó, tính năng Sao lưu khoá/giá trị thường không phù hợp với nội dung dữ liệu ứng dụng, chẳng hạn như nội dung nghe nhìn, tệp đã tải xuống và bộ nhớ đệm, trừ phi lượng dữ liệu rất nhỏ.