Phát hiện hành vi sai trái lặp lại bằng tính năng thu hồi dữ liệu liên kết với thiết bị (beta)

Trang này mô tả cách sử dụng tính năng thu hồi thiết bị để lưu trữ và truy xuất dữ liệu tuỳ chỉnh bằng các thiết bị cụ thể. Sau này, bạn có thể thu hồi lại dữ liệu tuỳ chỉnh một cách đáng tin cậy khi ứng dụng được cài đặt trên cùng một thiết bị, ngay cả sau khi thiết bị được đặt lại. Tính năng này giúp bạn phát hiện và ngăn chặn việc sử dụng lại thiết bị dựa trên một hành động hoặc hành vi mà bạn chỉ định, đồng thời vẫn đảm bảo quyền riêng tư của người dùng.

Quy trình thu hồi thiết bị diễn ra như thế nào?

Tính năng thu hồi thiết bị cho phép các ứng dụng lưu trữ và thu hồi dữ liệu tuỳ chỉnh được liên kết với một thiết bị cụ thể theo cách bảo vệ quyền riêng tư của người dùng. Dữ liệu được lưu trữ trên các máy chủ của Google, cho phép ứng dụng của bạn thu hồi dữ liệu tuỳ chỉnh một cách đáng tin cậy ngay cả sau khi người dùng cài đặt lại ứng dụng đó hoặc đặt lại thiết bị. Ví dụ: bạn có thể sử dụng tính năng này để thu hồi dữ liệu trên những thiết bị mà bạn tìm thấy bằng chứng về hành vi lạm dụng nghiêm trọng, những thiết bị đã sử dụng các vật phẩm có giá trị cao (chẳng hạn như ưu đãi dùng thử miễn phí) hoặc những thiết bị đang được sử dụng nhiều lần để tạo tài khoản mới cho mục đích lạm dụng. Tính năng ghi nhớ thiết bị đảm bảo quyền riêng tư của người dùng vì ứng dụng yêu cầu chỉ có thể ghi nhớ dữ liệu có giới hạn mà ứng dụng đó liên kết với các thiết bị, mà không truy cập vào bất kỳ giá trị nhận dạng thiết bị hoặc người dùng nào. Sau khi bật tính năng truy cập thông tin trên thiết bị, bạn có thể làm như sau:

  • Đọc dữ liệu trên từng thiết bị: Bạn có thể đọc 3 giá trị tuỳ chỉnh hoặc bit cho mỗi thiết bị khi nhận được kết quả về tính toàn vẹn. Bạn có thể tự xác định ý nghĩa cho các giá trị này; ví dụ: bạn có thể coi các giá trị này là 3 cờ riêng biệt hoặc bạn có thể kết hợp chúng để biểu thị 8 nhãn tuỳ chỉnh.
  • Sửa đổi dữ liệu trên từng thiết bị: Sau khi nhận được mã thông báo về tính toàn vẹn, bạn có thể dùng mã thông báo đó để thực hiện một lệnh gọi phía máy chủ đến máy chủ của Google Play nhằm sửa đổi một hoặc nhiều giá trị. Bạn có tối đa 14 ngày để sử dụng mã thông báo. Điều này cho phép bạn sửa đổi một giá trị nếu, chẳng hạn như hành vi sai trái chỉ trở nên rõ ràng trong khoảng thời gian 2 tuần sau khi bạn thực hiện lần đầu tiên kiểm tra tính toàn vẹn. Khi bạn sửa đổi một giá trị, tháng và năm sửa đổi cũng sẽ được lưu trữ.

Điều kiện tiên quyết và điểm cần lưu ý khi thu hồi thiết bị

Tính năng thu hồi thiết bị chỉ có thể được dùng để lưu trữ và thu hồi thông tin nhằm bảo vệ tính bảo mật của ứng dụng, cũng như giảm thiểu hành vi sai trái, gian lận và truy cập trái phép. Bạn không được sử dụng tính năng thu hồi dữ liệu trên thiết bị để nhận dạng hoặc theo dõi từng người dùng hoặc thiết bị, đồng thời bạn không được sử dụng tính năng thu hồi dữ liệu trên thiết bị để theo dõi các đặc điểm nhạy cảm của người dùng hoặc thiết bị, chẳng hạn như dữ liệu về giới tính, độ tuổi hoặc vị trí.

Tính năng ghi nhớ thiết bị có các điều kiện tiên quyết sau:

  • Bạn có thể dùng tính năng thu hồi thiết bị trên điện thoại, máy tính bảng, thiết bị có thể gập lại, TV, Auto và Wear OS. Trên Wear, tính năng thu hồi thiết bị chỉ có trên các thiết bị đi kèm WearOS 5 trở lên. Tính năng thu hồi thiết bị không được hỗ trợ trên trình mô phỏng.
  • Để dùng tính năng thu hồi thiết bị, bạn phải cài đặt và bật các phiên bản gần đây của cả Cửa hàng Google Play và Dịch vụ Google Play trên thiết bị.
  • Tính năng thu hồi thiết bị yêu cầu tài khoản người dùng phải được cấp phép cho Play, nếu không kết quả sẽ là chưa được đánh giá.

Việc thu hồi thiết bị cần cân nhắc những yếu tố sau về thời gian:

  • Sau khi xác minh mã thông báo về tính toàn vẹn, bạn có tối đa 14 ngày để sử dụng mã thông báo đó nhằm lưu trữ dữ liệu tuỳ chỉnh về tính năng thu hồi thiết bị.
  • Tính năng thu hồi thiết bị có dấu thời gian để bạn có thể coi dữ liệu được sửa đổi gần đây là có mức độ ưu tiên cao hơn so với dữ liệu đã được sửa đổi từ lâu. Hãy cân nhắc việc bỏ qua hoặc đặt lại dữ liệu sau một khoảng thời gian đủ dài để tính đến việc thiết bị có thể đổi chủ hoặc được tân trang và bán lại.
  • Các bit thu hồi của thiết bị sẽ được lưu trữ trong 3 năm sau lần truy cập đọc hoặc ghi gần đây nhất.
  • Nếu cần xoá tất cả dữ liệu liên kết với một thiết bị, ứng dụng của bạn có thể đặt lại cả 3 giá trị trên thiết bị đó thành false. Thao tác này sẽ tự động đặt lại dấu thời gian.

Đối với những nhà phát triển có nhiều ứng dụng và nhà phát triển chuyển ứng dụng, tính năng thu hồi thiết bị hoạt động như sau:

  • Tất cả ứng dụng trong tài khoản nhà phát triển của bạn trên Google Play đều có quyền truy cập vào cùng 3 giá trị cho mỗi thiết bị. Nói cách khác, nếu một trong các ứng dụng của bạn sửa đổi một trong các giá trị, thì tất cả ứng dụng của bạn sẽ đọc giá trị đã sửa đổi khi được cài đặt trên cùng một thiết bị.
  • Nếu một ứng dụng được chuyển từ tài khoản nhà phát triển này sang tài khoản nhà phát triển khác, thì thông báo thu hồi thiết bị sẽ phản ánh dữ liệu trên mỗi thiết bị của tài khoản nhà phát triển mới, chứ không phải dữ liệu trên mỗi thiết bị của tài khoản nhà phát triển cũ.

Bật tính năng ghi nhớ thiết bị

Khi bạn đã sẵn sàng, hãy bật tính năng thu hồi thiết bị trong Play Console bằng cách làm như sau:

  1. Đăng nhập vào Play Console.
  2. Chọn ứng dụng sẽ dùng tính năng thu hồi thiết bị.
  3. Trong phần Bản phát hành của trình đơn bên trái, hãy chuyển đến phần Tính toàn vẹn của ứng dụng.
  4. Bên cạnh API Tính toàn vẹn của Play, hãy nhấp vào Cài đặt.
  5. Trong phần Phản hồi của trang đó, hãy nhấp vào Thay đổi phản hồi.
  6. Bật tính năng Truy xuất thiết bị.
  7. Nhấp vào "Lưu thay đổi".

Khi bạn bật hoặc tắt tính năng thu hồi thiết bị, mọi phản hồi kiểm thử API Tính toàn vẹn của Play mà bạn đã thiết lập trong Play Console sẽ bị xoá và bạn sẽ cần tạo lại các phản hồi đó.

Đọc các giá trị thu hồi dữ liệu trên từng thiết bị

Tính năng thu hồi dữ liệu trên từng thiết bị hoạt động trong cả yêu cầu thông thường và yêu cầu kiểu cũ của API Tính toàn vẹn của Play. Trong các yêu cầu tiêu chuẩn, lệnh thu hồi thiết bị sẽ được làm mới trong lệnh gọi khởi động. Nói cách khác, sau khi sửa đổi dữ liệu trên mỗi thiết bị, bạn sẽ cần thực hiện một lần khởi động nóng khác để xem giá trị đã cập nhật. Sau khi bật tính năng thu hồi dữ liệu trên từng thiết bị, bạn sẽ có thể đọc các giá trị thu hồi dữ liệu trên từng thiết bị trong các kết quả xác thực tính toàn vẹn.

Sửa đổi giá trị thu hồi dữ liệu trên từng thiết bị

Bạn có thể sửa đổi các giá trị thu hồi thiết bị bằng cách thực hiện một lệnh gọi API từ máy chủ đến máy chủ tương tự như giải mã kết quả xác minh tính toàn vẹn. Việc đặt một bit thành true cũng sẽ cập nhật ngày ghi của bit đó (ngay cả khi ngày đó đã là true). Việc đặt một bit thành false sẽ đặt lại ngày ghi của bit đó thành trống. Mọi bit không được chỉ định trong yêu cầu sẽ không thay đổi. Có một độ trễ lan truyền nhỏ giữa việc ghi các bit và việc có thể đọc lại các bit đó trong kết quả. Độ trễ này có thể lên đến 30 giây, mặc dù thường thì sẽ ngắn hơn nhiều. Yêu cầu ghi lệnh thu hồi thiết bị nên ít thường xuyên hơn so với yêu cầu mã thông báo về tính toàn vẹn. Các yêu cầu này không được tính vào hạn mức yêu cầu mã thông báo về tính toàn vẹn nhưng phải tuân theo các giới hạn về tốc độ phòng vệ không công khai.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}