Cải thiện kết quả trong các thiết bị chạy Android 13 trở lên

Gần đây, chúng tôi đã công bố rằng chúng tôi đang tăng cường các kết quả của API Tính toàn vẹn của Play để các kết quả này nhanh hơn, linh hoạt hơn trước các cuộc tấn công và đảm bảo quyền riêng tư hơn cho người dùng cùng với các điểm cải tiến khác về bảo mật.

Tóm tắt các thay đổi

Bạn có thể xem thông tin tóm tắt chi tiết về các thay đổi và tác động dự kiến trong phần sau của tài liệu này. Các kết quả kiểm tra mới sẽ có như sau:

  • Các công cụ tích hợp mới: Tất cả các công cụ tích hợp mới sẽ tự động nhận được kết quả mới.

  • Các chế độ tích hợp hiện có cho đến tháng 5 năm 2025: Các nhà phát triển có chế độ tích hợp hiện có có thể chọn sử dụng trên trang cài đặt API Tính toàn vẹn của Play trong Play Console để nhận kết quả mới cùng với kết quả cũ ngay bây giờ, giúp bạn có thời gian xem xét và cân nhắc việc thay đổi cách ứng dụng hoạt động. Trước khi chọn sử dụng, bạn có thể thấy sự thay đổi dự kiến về tỷ lệ phần trăm thiết bị trả về từng kết quả và mẫu JSON của kết quả mới. Khi chọn sử dụng, bạn sẽ nhận được thêm 2 trường trong phản hồi với phiên bản SDK Android và kết quả cũ.

  • Các chế độ tích hợp hiện có sau tháng 5 năm 2025: Các điểm cải tiến này sẽ được áp dụng cho tất cả các chế độ tích hợp mà nhà phát triển không cần làm gì cả. Những ứng dụng chọn sử dụng trước tháng 5 năm 2025 sẽ không nhận được trường tạm thời chứa các kết quả cũ.

Nội dung Những thay đổi sắp tới Tác động ước tính* Thiết bị nào
Những thay đổi ảnh hưởng đến tất cả nhà phát triển gửi yêu cầu API Tính toàn vẹn của Play
Phản hồi kết quả về thiết bị: meets-device-integrity Bắt buộc phải có kết quả khởi động đã xác minh tích cực, được hỗ trợ phần cứng Ảnh hưởng tối thiểu vì API Tính toàn vẹn của Play đã sử dụng các tín hiệu bảo mật dựa trên phần cứng trên các thiết bị chạy Android 13 trở lên (~0,4%) Android 13 trở lên
Phản hồi về tính toàn vẹn của ứng dụng: Kết quả nhận dạng ứng dụng Không có thay đổi Tác động tối thiểu, điều này sẽ phản ánh sự thay đổi trong kết quả về thiết bị (~0,4%) Android 13 trở lên
Phản hồi về thông tin tài khoản: Kết quả về giấy phép Play Ứng dụng yêu cầu phải được cài đặt hoặc cập nhật qua Google Play Số câu trả lời được cấp phép giảm nhẹ (~2,5%) Android 11 trở lên (thay đổi này sẽ được triển khai từng bước)
Những thay đổi chỉ ảnh hưởng đến nhà phát triển Play Console và nhà phát triển Play SDK Console sử dụng các tính năng không bắt buộc
Phản hồi kết quả về thiết bị: meets-basic-integrity Bắt buộc phải có quy trình Chứng thực khoá nền tảng Android nhưng trạng thái khởi động có thể là đã xác minh hoặc chưa xác minh Số câu trả lời cơ bản giảm nhẹ (~0,4%) Android 13 trở lên
Phản hồi về kết quả kiểm tra tính toàn vẹn của thiết bị: meets-strong-integrity Bắt buộc phải có bản cập nhật bảo mật trong năm qua Giảm số câu trả lời mạnh (~14,5%) Android 13 trở lên
Tất cả tín hiệu không bắt buộc Ứng dụng yêu cầu phải được cài đặt hoặc cập nhật qua Google Play Giảm % số lượt phản hồi có chứa tín hiệu không bắt buộc (~7%) Android 13 trở lên

*Tất cả tỷ lệ phần trăm tác động ước tính ở trên đều dựa trên mức trung bình và các ứng dụng khác nhau có thể thấy mức thay đổi nhỏ hơn hoặc lớn hơn tuỳ thuộc vào số lượt cài đặt.

Câu hỏi thường gặp

Tổng quan

API Tính toàn vẹn của Play là gì?

API Tính toàn vẹn của Play giúp bạn đánh giá độ tin cậy của môi trường ứng dụng của người dùng bằng cách thu thập thông tin về thiết bị, ứng dụng và người dùng, nhờ đó, bạn có thể phát hiện và phản hồi các hành vi sai trái và tấn công tiềm ẩn.

API Tính toàn vẹn của Play cung cấp những tín hiệu nào?

API Tính toàn vẹn của Play bao gồm danh tính của ứng dụng yêu cầu, liệu ứng dụng yêu cầu có được Google Play cài đặt hay không và liệu thiết bị có phải là Thiết bị Android được Play Protect chứng nhận chính hãng hay không. Các tín hiệu này được cung cấp theo mặc định. Bạn có thể đọc các tín hiệu này trên máy chủ phụ trợ của ứng dụng và quyết định xem ứng dụng có nên phản hồi hay không và phản hồi như thế nào. Nhà phát triển trên Google Play có thể chọn nhận thêm tín hiệu trong các lượt cài đặt trên Play để xem thêm thông tin.

Chứng thực khoá trên nền tảng Android là gì?

Tính năng Chứng thực khoá của nền tảng Android cho phép ứng dụng xác minh trạng thái của thiết bị và nhận được tín hiệu mạnh mẽ về tính toàn vẹn khi khởi động dựa trên phần cứng. Điều này phụ thuộc vào khoá do Google cấp trong kho khoá dựa trên phần cứng của thiết bị. API Tính toàn vẹn của Play đã sử dụng tính năng chứng thực khoá để nhận tín hiệu bảo mật dựa trên phần cứng trên một số thiết bị và giờ đây sẽ tích hợp các tín hiệu này sâu hơn trên tất cả thiết bị chạy Android 13 trở lên.

Thay đổi về kết quả

Chúng tôi đang thay đổi những gì đối với kết quả của API Tính toàn vẹn của Play trên các thiết bị chạy Android 13 trở lên?

Giờ đây, API Tính toàn vẹn của Play sẽ yêu cầu các tín hiệu bảo mật dựa trên phần cứng cho tất cả kết quả về tính toàn vẹn:

  • Kết quả nhận dạng thiết bị meets-device-integrity cho biết rằng thiết bị mà ứng dụng đang chạy là thiết bị chạy Android chính hãng được Play Protect chứng nhận. Kết quả này sẽ yêu cầu trình tải khởi động của thiết bị phải được khoá và hệ điều hành Android đã tải phải là hình ảnh của nhà sản xuất thiết bị được chứng nhận.
  • Kết quả nhận dạng thiết bị meets-strong-integrity cho biết một thiết bị chạy Android chính hãng được Play Protect chứng nhận và đã cập nhật bản bảo mật gần đây. Kết quả này sẽ yêu cầu meets-device-integrity và thiết bị đã có bản cập nhật bảo mật trong năm qua. Điều kiện này có thể thay đổi trong tương lai.
  • Kết quả nhận dạng thiết bị meets-basic-integrity cho biết rằng quá trình kiểm tra đã diễn ra trên một thiết bị Android thực. Trình tải khởi động của thiết bị có thể được khoá hoặc mở khoá, còn trạng thái khởi động có thể được xác minh hoặc chưa xác minh. Thiết bị đó có thể chưa được Play Protect chứng nhận. Trong trường hợp này, Google không thể cung cấp bất kỳ đảm bảo nào về tính bảo mật, quyền riêng tư hoặc khả năng tương thích của ứng dụng, cũng như không thể đảm bảo rằng thiết bị đó không hoạt động như một proxy, chẳng hạn như đối với một phiên bản Android ảo. Điều này cũng có nghĩa là các thiết bị bị can thiệp hệ thống đủ điều kiện trả về meets-basic-integrity miễn là có quy trình chứng thực khoá.

Những thay đổi này không ảnh hưởng đến API Tính toàn vẹn của Play trên Play Games dành cho máy tính. API này sẽ tiếp tục trả về meets-virtual-integrity.

Tại sao kết quả của API Tính toàn vẹn của Play lại thay đổi trên các thiết bị chạy Android 13 trở lên?

API Tính toàn vẹn của Play chỉ sử dụng một phần các tín hiệu bảo mật dựa trên phần cứng trên các phiên bản SDK Android. Bằng cách tăng cường tích hợp, kết quả của API Tính toàn vẹn của Play sẽ linh hoạt hơn trước những kẻ tấn công, mang lại hiệu suất cao hơn cho ứng dụng và đảm bảo quyền riêng tư hơn cho người dùng. Sau khi quá trình chuyển đổi hoàn tất, chúng tôi dự kiến sẽ có các điểm cải tiến sau trên các thiết bị chạy Android 13 trở lên:

  • Giảm khoảng 90% số lượng tín hiệu thiết bị cần thu thập và đánh giá để tạo kết quả mặc định trên máy chủ của Google. Các tín hiệu không bắt buộc sẽ tiếp tục yêu cầu thu thập thêm tín hiệu.
  • Giảm độ trễ kết quả lên đến 80% đối với các yêu cầu tiêu chuẩn trong trường hợp xấu nhất và lên đến 80% đối với tất cả các yêu cầu kiểu cũ để nhận kết quả mặc định. Các tín hiệu không bắt buộc có thể làm tăng độ trễ.
  • Mức độ tin cậy và hỗ trợ nhất quán cho tất cả kiểu dáng thiết bị Android có chứng thực khoá, bao gồm cả thiết bị di động, máy tính bảng, thiết bị có thể gập lại, TV, Ô tô, Wear OS và ChromeOS.
  • Sự khác biệt lớn hơn giữa từng nhãn thiết bị trong kết quả nhận dạng thiết bị: meets-strong-integrity, meets-device-integritymeets-basic-integrity.

Hiệu suất dự kiến sẽ không thay đổi trong thời gian chọn sử dụng, trong khi API Tính toàn vẹn của Play tạo ra kết quả về tính toàn vẹn cũ và mới. Tuy nhiên, sau khi kết quả đánh giá mới ra mắt cho tất cả nhà phát triển vào tháng 5 năm 2025, chúng tôi dự kiến hiệu suất sẽ cải thiện dần, trong khi chúng tôi xoá hoặc chuyển đổi các phần phụ thuộc cũ cho tất cả các tín hiệu mặc định và không bắt buộc.

Kết quả đánh giá của API Tính toàn vẹn của Play trên Play Games cho máy tính sẽ không thay đổi và sẽ giống như trên Android 13 trở lên và Android 12 trở xuống.

Làm cách nào để cập nhật logic phụ trợ của ứng dụng cho kết quả về tính toàn vẹn để tính đến phiên bản SDK Android?

Nếu muốn sử dụng logic khác trên máy chủ phụ trợ của ứng dụng dựa trên phiên bản SDK Android, bạn có thể sử dụng trường thuộc tính thiết bị mới trong kết quả. Sau đây là ví dụ về cách thực hiện việc này:

Kotlin

val deviceIntegrity =
  JSONObject(payload).getJSONObject("deviceIntegrity")
val sdkVersion =
  if (deviceIntegrity.has("deviceAttributes")) {
    deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion")
  } else {
    0
  }

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
int sdkVersion =
  deviceIntegrity.has("deviceAttributes")
    ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion")
    : 0;

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Làm cách nào để sử dụng định nghĩa nhãn meets-strong-integrity cũ trên tất cả phiên bản SDK Android?

Bạn có thể thực hiện việc này bằng cách cập nhật logic phụ trợ của ứng dụng để sử dụng meets-strong-integrity khi đó là thiết bị chạy Android trước phiên bản 13 và meets-device-integrity khi đó là thiết bị chạy Android 13 trở lên bằng cách sử dụng trường thuộc tính thiết bị mới trong kết quả có chứa phiên bản SDK Android. Sau đây là ví dụ về cách thực hiện:

Kotlin

val deviceRecognitionVerdict =
  if (deviceIntegrity.has("deviceRecognitionVerdict")) {
    deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
  } else {
    ""
  }

val deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
String deviceRecognitionVerdict =
  deviceIntegrity.has("deviceRecognitionVerdict")
    ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
    : "";

String deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Vì đây cũng là tín hiệu được hỗ trợ phần cứng, nên trường thuộc tính thiết bị đáng tin cậy nhất trên các thiết bị chạy Android 13 trở lên.

API Tính toàn vẹn của Play có thay đổi nào khác về kết quả không?

Chúng tôi liên tục đầu tư để các tín hiệu hiện có trong API Tính toàn vẹn của Play trở nên đáng tin cậy hơn và định kỳ ra mắt các tính năng mới để giúp nhà phát triển xử lý các mối đe doạ mới nổi và trường hợp sử dụng mới. Sau đây là một số điểm cải tiến khác về kết quả:

  • Phản hồi về việc được cấp phép của Play: Để trả về phản hồi về việc được cấp phép của Play, API Tính toàn vẹn của Play hiện luôn yêu cầu Google Play cài đặt hoặc cập nhật ứng dụng yêu cầu. Điều này giúp khắc phục một số trường hợp hiếm gặp và giúp nhà phát triển dễ dàng diễn giải phản hồi hơn. Tính năng này hoạt động trên Android 13 trở lên.
  • Khả năng sử dụng các tín hiệu không bắt buộc: Tất cả tín hiệu không bắt buộc mà nhà phát triển có thể sử dụng khi dùng Google Play Console hoặc Play SDK Console giờ đây sẽ yêu cầu Google Play cài đặt hoặc cập nhật ứng dụng yêu cầu trên Android 13 trở lên. Bao gồm meets-strong-integrity, meets-basic-integrity, hoạt động gần đây trên thiết bị, kết quả về rủi ro khi truy cập vào ứng dụng và kết quả của Play Protect. Tất cả các yêu cầu khác của API Tính toàn vẹn của Play sẽ được chuẩn hoá để nhận quy trình kiểm tra thiết bị (chỉ với nhãn meets-device-integrity), quy trình kiểm tra trình cài đặt và quy trình kiểm tra tính toàn vẹn của ứng dụng.
  • Thay đổi kết quả cho các thiết bị cụ thể: API Tính toàn vẹn của Play cũng sẽ bắt đầu tự động thay đổi kết quả về thiết bị trong nhiều trường hợp hơn để bảo vệ ứng dụng sớm hơn trên tất cả các phiên bản SDK Android, chẳng hạn như khi có bằng chứng về hoạt động quá mức hoặc xâm phạm khoá. Điều này sẽ bao gồm khả năng Play dự phòng cho các tín hiệu khác để tạo kết quả tạm thời về thiết bị cho người dùng khi không có tín hiệu dựa trên phần cứng. Nhà phát triển nên sử dụng hộp thoại khắc phục của Play trong ứng dụng hoặc hướng người dùng đến ứng dụng Cửa hàng Play để khắc phục vấn đề về kết quả về tính toàn vẹn. Theo thời gian, các hộp thoại này sẽ xử lý nhiều tình huống hơn và đưa ra hướng dẫn cụ thể cho người dùng về những vấn đề họ cần khắc phục dựa trên thiết bị hoặc tài khoản cụ thể của họ.

Chọn sử dụng và không sử dụng

Làm cách nào để chọn sử dụng kết quả cải tiến trên các thiết bị chạy Android 13 trở lên?

Nhà phát triển sử dụng Play Console có thể chọn sử dụng trên trang cài đặt API Tính toàn vẹn của Play.

Điều gì sẽ xảy ra với phản hồi của API Tính toàn vẹn của Play sau khi tôi chọn sử dụng?

Ba điều sẽ xảy ra khi bạn chọn sử dụng:

  • Các phản hồi trong trường deviceRecognitionVerdict sẽ bắt đầu được tạo và trả về ngay lập tức dựa trên các yêu cầu mới về đánh giá kết quả trên thiết bị chạy Android 13 trở lên. Trên các thiết bị chạy Android 12 trở xuống, deviceRecognitionVerdict sẽ được tạo bằng cách sử dụng kết quả đánh giá trước đây.
  • Bạn sẽ nhận được một trường mới, deviceAttributes, chứa phiên bản SDK Android trên thiết bị.
  • Bạn sẽ nhận được một trường mới, legacyDeviceRecognitionVerdict, chứa các phản hồi về tính toàn vẹn của thiết bị dựa trên các yêu cầu đánh giá kết quả trước đây, bất kể phiên bản SDK Android.

Khi kết quả thay đổi được triển khai cho tất cả các công cụ tích hợp vào tháng 5 năm 2025, mọi ứng dụng đã chọn sử dụng sẽ ngừng nhận trường legacyDeviceRecognitionVerdict.

Làm cách nào để báo cáo vấn đề liên quan đến kết quả về tính toàn vẹn?

Để báo cáo vấn đề về phản hồi của API Tính toàn vẹn của Play, cho dù vấn đề là về kết quả trước đây hay kết quả mới, hãy làm theo hướng dẫn trên trang hỗ trợ.

Tôi có thể chọn không sử dụng sau khi đã chọn sử dụng không?

Có, bạn có thể chọn không sử dụng trên trang cài đặt API Tính toàn vẹn của Play.

Phạm vi cung cấp

API Tính toàn vẹn của Play cần những gì để hoạt động?

API Tính toàn vẹn của Play yêu cầu bạn phải cài đặt Cửa hàng Google Play và Dịch vụ Google Play trên thiết bị, bao gồm cả thiết bị Android và Google Play Games dành cho máy tính. Yêu cầu kiểu cũ yêu cầu Android 4.4 (API cấp 19) trở lên và yêu cầu thông thường yêu cầu Android 5.0 (API cấp 21) trở lên. Trên các thiết bị chạy Android 13 (API cấp 33) trở lên, API Tính toàn vẹn của Play hiện sẽ có cùng mức độ tin cậy và hỗ trợ trên tất cả kiểu dáng thiết bị Android có chứng thực khoá, bao gồm cả thiết bị di động, máy tính bảng, thiết bị có thể gập lại, TV, Ô tô, Wear OS và ChromeOS.

Tại sao API Tính toàn vẹn của Play có kết quả khác nhau cho các thiết bị?

API Tính toàn vẹn của Play cung cấp nhiều kết quả về thiết bị để phù hợp với các nhà phát triển có nhiều trường hợp sử dụng và mức độ chấp nhận rủi ro, đồng thời giúp bạn có thể áp dụng chiến lược thực thi theo cấp. Ví dụ: khi ứng dụng và thiết bị đáng tin cậy hơn, nhà phát triển có thể đơn giản hoá các bước xác minh người dùng; trong khi đó, khi không xác định được thiết bị, nhà phát triển có thể yêu cầu xác minh người dùng bổ sung trước khi thực hiện các hành động được bảo vệ hoặc nhạy cảm. Đây có thể là một cách hiệu quả để giảm hành vi sai trái và các cuộc tấn công.

Thiết bị chạy Android được Play Protect chứng nhận là gì?

Thiết bị chạy Android được Play Protect chứng nhận (còn gọi là thiết bị Android GMS) là thiết bị chạy phần mềm có thể dự đoán được, đã vượt qua hàng trăm bài kiểm thử khả năng tương thích của Google, tuân thủ mô hình bảo mật và quyền của Android, đồng thời được vận chuyển kèm theo bộ tính năng chống phần mềm độc hại của Google Play Protect. Khi có thể xác minh rằng một thiết bị là thiết bị Android chạy Play Protect được chứng nhận, API Tính toàn vẹn của Play sẽ trả về phản hồi meets-device-integrity trong kết quả nhận dạng thiết bị.

Thiết bị meets-basic-integrity là gì?

API Tính toàn vẹn của Play cũng trả về một phản hồi không bắt buộc trong kết quả về thiết bị, meets-basic-integrity. Nếu một thiết bị chỉ trả về kết quả meets-basic-integrity mà không có meets-device-integrity hoặc meets-strong-integrity, thì tức là hệ điều hành Android không thể được xác minh nhưng có chứng thực khoá. Điều này cho biết rằng quy trình kiểm tra đã diễn ra trên một thiết bị thực chạy Android, nhưng Google không thể đảm bảo về tính bảo mật, quyền riêng tư hoặc khả năng tương thích của ứng dụng trên thiết bị, cũng như không thể đảm bảo rằng thiết bị không hoạt động như một proxy, chẳng hạn như đối với một phiên bản ảo của Android. Tuỳ thuộc vào trường hợp sử dụng và khả năng chấp nhận rủi ro của nhà phát triển, họ có thể quyết định cách họ muốn ứng dụng chạy trên các thiết bị này.

Mọi nhà phát triển đều có thể sử dụng API Tính toàn vẹn của Play không?

Có, mọi nhà phát triển Android đều có thể tạo yêu cầu API Tính toàn vẹn của Play để nhận kết quả về tính toàn vẹn mặc định. Mức sử dụng được giới hạn ở 10.000 yêu cầu mỗi ngày, bất kể kênh phân phối. Ngoài các kênh phân phối khác, nhà phát triển phát hành ứng dụng trên Google Play cũng có thể yêu cầu tăng hạn mức hằng ngày.

Mọi nhà phát triển đều có thể sử dụng tính năng Chứng thực khoá nền tảng Android không?

Có, mọi nhà phát triển Android đều có thể sử dụng tính năng Chứng thực khoá nền tảng Android để lấy bản ghi chứng thực khoá. Họ có thể xác minh bản ghi này bằng chứng chỉ công khai của khoá gốc chứng thực của Google. API Tính toàn vẹn của Play mang đến cho nhà phát triển các lợi ích của tính năng chứng thực khoá và các tính năng bổ sung mà không cần phải tự tích hợp với tính năng chứng thực khoá.

Thực thi

Nhà phát triển sử dụng kết quả của API Tính toàn vẹn của Play như thế nào?

Nhà phát triển có thể quyết định việc có sử dụng và cách sử dụng kết quả của API Tính toàn vẹn của Play hay không. Một số nhà phát triển thu thập các tín hiệu để phân tích nội bộ về hành vi sai trái, trong khi các nhà phát triển khác sẽ đưa ra quyết định về cách ứng dụng của họ hoạt động dựa trên kết quả. Ví dụ: nhà phát triển có thể quyết định yêu cầu các thiết bị ít đáng tin cậy hơn thực hiện các bước xác minh người dùng bổ sung trong khi tạo tài khoản; hoặc họ có thể quyết định rằng các thiết bị ít đáng tin cậy hơn sẽ chơi cùng nhau trên cùng một máy chủ nhiều người chơi.

API Tính toàn vẹn của Play có chặn người dùng hoặc thiết bị không?

Không, API Tính toàn vẹn của Play không tự chặn quyền truy cập vào bất kỳ chức năng nào. Đây là một dịch vụ không bắt buộc dành cho nhà phát triển, cung cấp các tín hiệu và nhà phát triển sẽ chọn cách hành động dựa trên các tín hiệu đó.

Người dùng nên làm gì nếu thiết bị của họ không vượt qua được quy trình kiểm tra thiết bị của API Tính toàn vẹn của Play?

Người dùng có thể chuyển đến ứng dụng Cửa hàng Play trên thiết bị, mở trình đơn Cài đặt, cuộn xuống phần Giới thiệu rồi xem trong mục Chứng nhận Play Protect. Nếu chứng nhận Play Protect của thiết bị có vấn đề, người dùng sẽ thấy một nút để nhấn vào nhằm cố gắng khắc phục vấn đề. Thao tác này sẽ làm mới trạng thái chứng nhận của thiết bị và cung cấp hướng dẫn cụ thể về những vấn đề cần khắc phục.