Các phương pháp hay nhất về quyền riêng tư

Android đang tập trung hỗ trợ người dùng tận dụng các cải tiến mới nhất, trong khi vẫn đảm bảo rằng quyền riêng tư và vấn đề bảo mật của người dùng luôn là ưu tiên hàng đầu.

Chú ý đến các quyền

Tạo dựng lòng tin nơi người dùng bằng cách luôn minh bạch và cung cấp cho họ quyền kiểm soát cách họ trải nghiệm ứng dụng của bạn.

  • Yêu cầu các quyền cần thiết tối thiểu cho tính năng của bạn. Bất cứ khi nào bạn đưa ra các thay đổi lớn cho ứng dụng, hãy xem xét các quyền được yêu cầu để xác nhận rằng các tính năng trong ứng dụng của bạn vẫn cần những quyền đó.

    • Lưu ý rằng các phiên bản Android mới thường đưa ra các phương thức truy cập dữ liệu theo cách chú trọng đến quyền riêng tư mà không yêu cầu quyền. Để biết thêm thông tin, hãy xem phần Đánh giá xem ứng dụng của bạn có cần khai báo quyền hay không.
    • Nếu bạn phân phối ứng dụng trên Google Play, Android vitals sẽ cho bạn biết tỷ lệ người dùng từ chối cấp quyền trong ứng dụng của bạn. Hãy dùng dữ liệu này để đánh giá lại cách thiết kế các tính năng mà những quyền được yêu cầu thường bị từ chối nhiều nhất.
  • Làm theo quy trình đề xuất để giải thích lý do một tính năng trong ứng dụng của bạn cần có một quyền cụ thể. Hãy yêu cầu quyền khi cần thiết chứ không phải khi khởi động để người dùng hiểu rõ lý do họ cần cấp quyền.

  • Lưu ý rằng người dùng hoặc hệ thống có thể từ chối cấp quyền nhiều lần. Android tôn trọng lựa chọn này của người dùng bằng cách bỏ qua các yêu cầu cấp quyền của cùng một ứng dụng.

  • Hãy xuống cấp nhẹ khi người dùng từ chối hoặc thu hồi quyền. Ví dụ: bạn có thể tắt tính năng nhập bằng giọng nói của ứng dụng nếu người dùng không cấp quyền sử dụng micrô.

  • Khi bạn cập nhật ứng dụng, hãy xoá quyền truy cập của ứng dụng vào bất kỳ quyền khi bắt đầu chạy nào mà ứng dụng của bạn không cần nữa.

  • Nếu bạn đang dùng một SDK hoặc thư viện để truy cập vào dữ liệu được bảo vệ bằng các quyền có thể gây nguy hiểm, thì người dùng thường sẽ quy kết trách nhiệm cho ứng dụng của bạn. Hãy đảm bảo rằng bạn hiểu các quyền mà SDK của bạn yêu cầu và lý do SDK yêu cầu các quyền đó.

    • Nếu bạn kiểm thử ứng dụng của mình trên Android 11 (API cấp 30), hãy dùng tính năng kiểm tra quyền truy cập dữ liệu để tìm hiểu xem dữ liệu riêng tư có thể được truy cập ở những vị trí nào trong mã của bạn và trong mã thư viện bên thứ 3.

Giảm thiểu việc sử dụng vị trí

Nếu ứng dụng của bạn có thể hỗ trợ các trường hợp sử dụng mà không cần dữ liệu vị trí, thì đừng yêu cầu quyền truy cập thông tin vị trí. Nếu ứng dụng của bạn yêu cầu quyền truy cập vị trí, hãy hỗ trợ người dùng đưa ra quyết định đúng đắn hơn.

  • Nếu ứng dụng của bạn cần thu thập thông tin vị trí, hãy giải thích cho người dùng về cách ứng dụng dùng thông tin này để mang lại cho họ những lợi ích cụ thể.
  • Nếu ứng dụng của bạn cần ghép nối thiết bị của người dùng với một thiết bị ở gần qua Bluetooth hoặc Wi-Fi, hãy dùng trình quản lý thiết bị đồng hành, công cụ này không cần quyền truy cập thông tin vị trí.
  • Hãy xem xét mức độ chi tiết về vị trí mà ứng dụng của bạn cần. Phần lớn trường hợp sử dụng liên quan đến vị trí chỉ cần truy cập vị trí tương đối là đủ.
  • Hãy truy cập vào dữ liệu vị trí khi người dùng có thể nhìn thấy ứng dụng của bạn. Khi đó, người dùng có thể hiểu rõ hơn lý do ứng dụng của bạn yêu cầu thông tin vị trí.
  • Nếu ứng dụng của bạn yêu cầu quyền truy cập thông tin vị trí ở chế độ nền (chẳng hạn như khi triển khai tính năng khoanh vùng địa lý), hãy đảm bảo rằng tính năng đó là tối quan trọng đối với chức năng cốt lõi của ứng dụng, đồng thời phải triển khai sao cho người dùng nắm được một cách rõ ràng. Tìm hiểu thêm về các điểm cần lưu ý khi dùng quyền truy cập thông tin vị trí ở chế độ nền.
  • Trên Android 10 (API cấp 29) trở lên, người dùng có thể chỉ cho phép ứng dụng truy cập thông tin vị trí khi ứng dụng đang chạy. Hãy thiết kế sao cho khả năng hoạt động của ứng dụng chỉ bị giảm sút không đáng kể khi không có quyền truy cập vị trí mọi lúc.
  • Nếu ứng dụng của bạn cần tiếp tục truy cập thông tin vị trí để hoàn thành công việc mà người dùng đặt ra sau khi họ rời khỏi giao diện người dùng của ứng dụng, hãy bắt đầu dịch vụ trên nền trước trước khi ứng dụng chuyển sang chạy trong nền. Bạn có thể làm việc này bằng một trong các phương thức gọi lại trong vòng đời của Android, chẳng hạn như onPause().
  • Đừng bắt đầu chạy dịch vụ trên nền trước từ trong nền. Thay vào đó, hãy cân nhắc chạy ứng dụng từ thông báo rồi thực thi mã vị trí khi giao diện người dùng của ứng dụng xuất hiện.

Xử lý dữ liệu một cách an toàn

Lưu ý: Bạn có thể đọc thêm về những dữ liệu được xem là nhạy cảm trên trang bài viết về Dữ liệu người dùng trong Trung tâm chính sách dành cho nhà phát triển trên Google Play.

Hãy xử lý dữ liệu nhạy cảm một cách minh bạch và an toàn.

Jetpack cung cấp một vài thư viện để đảm bảo an toàn cho dữ liệu của ứng dụng. Tìm hiểu thêm về hướng dẫn sử dụng thư viện Bảo mật Jetpackthư viện Các lựa chọn ưu tiên của Jetpack.

Sử dụng giá trị nhận dạng đặt lại được

Tôn trọng quyền riêng tư của người dùng và sử dụng mã nhận dạng đặt lại được. Tham khảo bài viết Các phương pháp hay nhất cho giá trị nhận dạng duy nhất để biết thêm thông tin.